啟動作業
適用於:SQL Server Azure SQL 受控執行個體
重要
Azure SQL 受控執行個體目前支援多數 (但非全部) 的 SQL Server Agent 功能。 如需詳細資料,請參閱 Azure SQL 受控執行個體與 SQL Server 之間的 T-SQL 差異。
本文章描述如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理物件,開始執行 SQL Server 中的 Microsoft SQL Server Agent 作業。
作業是 SQL Server Agent 執行的一系列指定動作。 SQL Server Agent 作業可以在一部本機伺服器或多部遠端伺服器上執行。
開始之前
安全性
如需詳細資訊,請參閱< 實作 SQL Server Agent 安全性>。
使用 SQL Server Management Studio
在物件總管中,連接到 SQL Server Database Engine 的執行個體,然後展開該執行個體。
展開 [SQL Server Agent] ,再展開 [作業]。 請依照您所需要的作業啟動方式,執行下列其中一項作:
若要對單一伺服器或目標伺服器執行作業,或要在主要伺服器上執行本機伺服器作業,請在要啟動的作業上按一下滑鼠右鍵,然後按一下 [啟動作業]。
若要啟動多項作業,請在 [作業活動監視器],然後按一下 [檢視作業活動]。 您可以在作業活動監視器中選取多項作業,然後在選取範圍上按一下滑鼠右鍵,再按一下 [啟動作業]。
若要對主要伺服器執行作業,並希望所有目標伺服器同時執行該作業,請在要啟動的作業上按一下滑鼠右鍵,然後按一下 [啟動作業],再按一下 [在所有目標伺服器上啟動]。
若要對主要伺服器執行作業,並要指定執行該作業的目標伺服器,請在要啟動的作業上按一下滑鼠右鍵,然後選取 [啟動作業],再選取 [在特定目標伺服器上啟動]。 在 [公佈下載指示] 對話方塊中選取 [下列目標伺服器] 核取方塊,然後選取應該執行此作業的每個目標伺服器。
使用 Transact-SQL
在物件總管中,連線到資料庫引擎的執行個體。
在標準列上,選取 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。
-- starts a job named Weekly Sales Data Backup. USE msdb ; GO EXEC dbo.sp_start_job N'Weekly Sales Data Backup' ; GO
如需詳細資訊,請參閱 sp_start_job (Transact-SQL)。
使用程式語言
使用選取的程式語言 (例如 Visual Basic、Visual C# 或 SQL PowerShell) 呼叫 Job 類別的 Start 方法。
SQL PowerShell
以下是可在 SQL Server Agent 中搭配參數使用的 PowerShell 腳本。 此腳本示範如何使用傳遞至腳本的參數來啟動 SQL Server Agent 作業。
# Parameters
param(
[string]$ServerInstance,
[string]$JobName
)
# Load the SMO assembly
Add-Type -AssemblyName "Microsoft.SqlServer.SMO"
# Create a server object
$server = New-Object Microsoft.SqlServer.Management.Smo.Server $ServerInstance
# Get the job you want to start
$job = $server.JobServer.Jobs[$JobName]
# Start the job
if ($job) {
$job.Start()
Write-Output "The job '$JobName' on server '$ServerInstance' has been started successfully."
} else {
Write-Output "The job '$JobName' was not found on server '$ServerInstance'."
}
如何在 SQL Server Agent 中使用腳本。
開啟 SQL Server Management Studio (SSMS)。
連線至 SQL Server 執行個體。
展開 [SQL Server Agent]。
以滑鼠右鍵按一下 [作業],然後選取 [新增作業]。
在 [新增作業] 對話框中,輸入作業名稱和其他必要詳細資料。
移至 [步驟] 頁面,然後選取 [新增] 以建立新的作業步驟。
在 [新增作業步驟] 對話框中:
將 [類型] 設定為 PowerShell。
在 [命令] 欄位中,輸入 PowerShell 指令碼以及參數,例如:
.\YourScript.ps1 -ServerInstance "YourServerInstance" -JobName "YourJobName"
視需要設定任何其他作業屬性 (排程、警示、通知等)。
選取 [確定] 儲存程式碼。
指令碼的說明
- 參數:指令碼接受兩個參數,$ServerInstance和$JobName,分別是 SQL Server 執行個體和作業名稱。
- 載入 SMO:Add-Type Cmdlet 是用來載入 SQL Server 管理物件 (SMO) 元件。
- 伺服器物件:使用 $ServerInstance 參數建立新的伺服器物件。
- 取得作業:腳本會使用 $JobName 參數擷取指定的作業。
- 啟動作業:如果找到作業,則會使用 Start 方法啟動作業。 腳本會輸出成功訊息。 如果找不到作業,則會顯示錯誤訊息。
如需詳細資訊,請參閱 SQL Server 管理物件 (SMO)。