PowerShell - MS SQL / ORACLE статус бэкапа и дата последнего бэкапа отправить на почту

Ответить
Аватара пользователя
AZABAZA

PowerShell - MS SQL / ORACLE статус бэкапа и дата последнего бэкапа отправить на почту

Сообщение AZABAZA »

Добрый день, ребята



Я наткнулся на задачку, прошу помощи кто чем горазд Изображение





Есть сервера разные с MS SQL и ORACLE. Каждый день делается резервные копий.



Задача:

1. Нужно чтобы скрипт с этих серверов брал информацию у MS SQL/ORACLE о том что бэкапы прошли успешно и статус бэкапов, даты последнего бэкапа.

2. Отправил письмо!



Примечание: Базы на MS SQL и на ORACLE. ORACLE лог бэкапа пишет в лог файл. MS SQL ничего никуда не пишет но у него есть базы которые надо бэкапировать и не надо бэкапировать.



Можно все эти действий логировать и отправлять это письмом (это мое мнение, но если вы предложите что все статусы и даты будут в теле письма Изображение ).



Возникнут вопросы я постараюсь объяснить.

Заранее спасибо огромное!
Аватара пользователя
AZABAZA

Re: PowerShell - MS SQL / ORACLE статус бэкапа и дата последнего бэкапа отправить на почту

Сообщение AZABAZA »

По MS SQL во
тут
есть кое что, но там показывает все базы а надо отдельные базы
Аватара пользователя
Kazun

Re: PowerShell - MS SQL / ORACLE статус бэкапа и дата последнего бэкапа отправить на почту

Сообщение Kazun »

Для MSSQL:



1) Статус по Backup, функция SQL

http://beyondrelational.com/modules/...us-script.aspx




2) Invoke-Sqlcmd2

https://gallery.technet.microsoft.co...a-433cc4e30894




Код:

Код: Выделить всё

$query = @'
	Пункт 1
'@
$body = Invoke-Sqlcmd2 -ServerInstance "dserver\test" -Query $query | ConvertTo-Html | Out-String
Send-MailMessage -to "User01 <user01@example.com>" -from "User02 <user02@example.com>" -subject "Test mail" -body $body -BodyAsHtml

Еще альтернативное решение для MS SQL -
http://blogs.technet.com/b/heyscript...up-status.aspx
Аватара пользователя
AZABAZA

Re: PowerShell - MS SQL / ORACLE статус бэкапа и дата последнего бэкапа отправить на почту

Сообщение AZABAZA »

Kazun,



2-ой пункт куда прописать?



Если просто закинуть до $body
то отваливается ошибка



Код: Выделить всё

Exception calling "Open" with "0" argument(s): "A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not fou
nd or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error:
 26 - Error Locating Server/Instance Specified)"
At line:104 char:15
+     $conn.Open <<<< () 
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException
Exception calling "Fill" with "1" argument(s): "A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not fou
nd or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error:
 26 - Error Locating Server/Instance Specified)"
At line:109 char:19
+     [void]$da.fill <<<< ($ds) 
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException
Ответить

Вернуться в «Скриптовые языки администрирования Windows»