PowerShell 代码将所有 SQL 个服务器代理作业编写成一个文件
PowerShell code to script out all SQL Server Agent jobs into a single file
我试图将类别 'Data Warehouse' 的所有 SQL 服务器代理作业编写成一个文件
我可以使用 PowerShell 来完成,其中每个作业都会创建一个文件。
但我需要一个文件来处理类别 ID = 100(或类别 := 'Data Warehouse')下的所有 SQL 服务器代理作业
我目前使用的代码:
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | Out-Null
$serverInstance = "APAAUHC7DB01VD"
$server = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $serverInstance
$jobs = $server.JobServer.Jobs
#$jobs = $server.JobServer.Jobs | where-object {$_.category -eq "100"}
if ($jobs -ne $null)
{
$serverInstance = $serverInstance.Replace("\", "-")
ForEach ( $job in $jobs )
{
$FileName = "C:\SQLBackup\SQLJobs\" + $serverInstance + "_" + $job.Name + ".sql"
$job.Script() | Out-File -filepath $FileName
}
}
为整个集提供 $FileName
一个文件名。然后你可以省略整个foreach
块:
$FileName = "C:\SQLBackup\SQLJobs\whatever.sql"
$jobs | %{ $_.Script() } | Out-File -filepath $FileName
我试图将类别 'Data Warehouse' 的所有 SQL 服务器代理作业编写成一个文件
我可以使用 PowerShell 来完成,其中每个作业都会创建一个文件。
但我需要一个文件来处理类别 ID = 100(或类别 := 'Data Warehouse')下的所有 SQL 服务器代理作业
我目前使用的代码:
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | Out-Null
$serverInstance = "APAAUHC7DB01VD"
$server = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $serverInstance
$jobs = $server.JobServer.Jobs
#$jobs = $server.JobServer.Jobs | where-object {$_.category -eq "100"}
if ($jobs -ne $null)
{
$serverInstance = $serverInstance.Replace("\", "-")
ForEach ( $job in $jobs )
{
$FileName = "C:\SQLBackup\SQLJobs\" + $serverInstance + "_" + $job.Name + ".sql"
$job.Script() | Out-File -filepath $FileName
}
}
为整个集提供 $FileName
一个文件名。然后你可以省略整个foreach
块:
$FileName = "C:\SQLBackup\SQLJobs\whatever.sql"
$jobs | %{ $_.Script() } | Out-File -filepath $FileName