우리 DBA 팀은 아래를 사용하여 백업을 확인하지 않습니다 TSQL
(백업 후 쉽게 수행 할 수 있으며 거의 시간이 걸리지 않으므로 이유가 없습니다).
RESTORE VERIFYONLY
FROM DISK = 'D:\Backups\LOCATION'
그들은 과거에 문제가 있었으므로 우리는 그들이 그것을 배울 것이라고 생각하더라도 그렇지 않았습니다. 우리는 약 100 개 이상의 서버를 가지고 있기 때문에 Powershell 스크립트를 만들었으며 모든 백업에 대해이 스크립트를 실행하여 서버가 유효한지 확인하려고합니다. 아래 스크립트는 올바르게 실행되며 (오류가 발생하지 않거나 오류가 발생하지 않습니다) Powershell에서 인쇄 된 메시지를 다시 SSMS에서 일반적으로 얻을 수있는 방법이 있는지 궁금합니다 . 파일 1의 백업 세트는 다음과 같습니다. 확인으로 유효 합니다.
$SqlCon = New-Object System.Data.SqlClient.SqlConnection
$SqlCon.ConnectionString = "SERVER=SERV\INST;Integrated Security=true;DATABASE=master"
$baks = Get-ChildItem "D:\Backups\" -Filter *.BAK
foreach ($bak in $baks)
{
$SqlCon.Open()
$cd = New-Object System.Data.SqlClient.SqlCommand
$cd.Connection = $SqlCon
$cd.CommandText = "RESTORE VERIFYONLY FROM DISK = @f"
$cd.Parameters.Add("@f", $bak.FullName)
$cd.ExecuteNonQuery()
$SqlCon.Close()
}
invoke-sqlcmd -verbose
?