Показать полную графическую версию : MS SQL / ORACLE статус бэкапа и дата последнего бэкапа отправить на почту
Добрый день, ребята
Я наткнулся на задачку, прошу помощи кто чем горазд :dont-know
Есть сервера разные с MS SQL и ORACLE. Каждый день делается резервные копий.
Задача:
1. Нужно чтобы скрипт с этих серверов брал информацию у MS SQL/ORACLE о том что бэкапы прошли успешно и статус бэкапов, даты последнего бэкапа.
2. Отправил письмо!
Примечание: Базы на MS SQL и на ORACLE. ORACLE лог бэкапа пишет в лог файл. MS SQL ничего никуда не пишет но у него есть базы которые надо бэкапировать и не надо бэкапировать.
Можно все эти действий логировать и отправлять это письмом (это мое мнение, но если вы предложите что все статусы и даты будут в теле письма :up ).
Возникнут вопросы я постараюсь объяснить.
Заранее спасибо огромное!
По MS SQL во тут (http://www.mssqltips.com/sqlservertip/1759/retrieve-a-list-of-sql-server-databases-and-their-properties-using-powershell/)есть кое что, но там показывает все базы а надо отдельные базы
Для MSSQL:
1) Статус по Backup, функция SQL
http://beyondrelational.com/modules/2/blogs/43/posts/10198/backup-status-script.aspx
2) Invoke-Sqlcmd2
https://gallery.technet.microsoft.com/scriptcenter/7985b7ef-ed89-4dfd-b02a-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/heyscriptingguy/archive/2011/05/02/use-powershell-to-report-sql-server-backup-status.aspx
Kazun,
2-ой пункт куда прописать? :dont-know
Если просто закинуть до $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
Проблема подключения к SQL Instance - о чем и уведомляют.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.