Run a SQL Server Agent Job from a Windows Powershell script
## ==================================================================
## Title : runSQLServerAgentJob
## Description : Start a SQL Server Agent Job
## Author : Ian Chivers
## Date : 8/12/2008
## Input : -serverInstance <server\instance> -jobName <jobName>
## Usage : PS> .\runSQLServerAgentJob -serverInstance MyServer -jobName MyJob
## Tag : SQL Server, SMO, SQL Agent Jobs ## Change log :
## ==================================================================
param (
[string]$serverInstance="(local)",
[string]$jobName
)
function main() {
runSQLServerAgentJob $serverInstance $jobName
}
function runSQLServerAgentJob($ServerInstance, $JobName) {
trap [Exception] {
write-error $("TRAPPED: " + $_.Exception.Message); continue;
}
#Load SMO assemblies
[void][reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.ConnectionInfo")
[void][reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SmoEnum")
[void][reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
$namedInstance = new-object('Microsoft.SqlServer.Management.Smo.server')
($serverInstance) $namedInstance.jobserver.jobs[$JobName].start()
}
main
admin :: Dec.11.2008 :: Powershell, SQL Server :: No Comments »