我是新來的powershell,我試圖編寫出所有SQL代理作業。我發現了一些代碼,這要歸功於SOLID QUALITY MENTORS的ENRIQUE。所有SQL代理作業上的腳本丟失
我的問題是,我如何編寫腳本,如果存在,爲每項工作放下? Options.ScriptJobs似乎沒有做我認爲應該做的事情?
參數([字符串] $服務器名稱,[字符串] $ jobNameFile)
功能腳本SQLJobs([字符串] $服務器,[字符串] $ jobNameFile) { [reflection.assembly] :: LoadWithPartialName (「Microsoft.SqlServer.Smo」)|外空
$srv = New-Object Microsoft.SqlServer.Management.Smo.Server("$server")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$scrp = New-Object Microsoft.SqlServer.Management.Smo.Scripter($srv)
$scrp.Options.ScriptDrops = $TRUE
$scrp.Options.WithDependencies = $TRUE
$jobNameFile = "C:\SQLJOBS\Jobs.sql"
remove-item $jobNameFile
$jobs = $srv.JobServer.get_Jobs()
$jobs=$jobs | Where-Object {$_.Name -notlike "sys*"}
foreach($job in $jobs)
{
$script=$job.Script()
$script >> $jobNameFile
"GO" >> $jobNameFile
}
}
腳本SQLJobs $ SERVERNAME $ jobNameFile
非常感謝。