【发布时间】:2015-07-10 11:04:55
【问题描述】:
我是 powershell 新手,我正在尝试编写所有 SQL 代理作业的脚本。感谢 SOLID QUALITY MENTORS 的 ENRIQUE,我找到了一段代码。
我的问题是,如果存在,我如何编写脚本,放弃每项工作? Options.ScriptJobs 似乎没有做我认为应该做的事?
param([string]$serverName,[string]$jobNameFile)
函数脚本-SQLJobs([string]$server,[string]$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
非常感谢。
【问题讨论】:
标签: powershell