PowerShell を使用して SQL Server Agent ジョブを削除する
SQL Server Agent ジョブが存在する場合は削除する
このチュートリアルでは、SQL Server Management Studio (SSMS) と Transact-SQL (T-SQL) を使用して、存在する SQL Server Agent ジョブを削除する方法について説明します。
前提条件
- SQL Server インスタンスへのアクセス権
- SSMS または T-SQL クエリ エディター
方法
SSMS を使用してジョブを削除する
- SSMS を開き、SQL Server インスタンスに接続します。
- オブジェクト エクスプローラーで、SQL Server エージェント フォルダーを展開します。
- ジョブ フォルダーを右クリックし、新しいジョブ を選択します。
- ジョブの作成 ダイアログ ボックスで、ジョブの名前と説明を入力します。
- ステップ ページで、ジョブを実行するステップを追加します。
- OK をクリックしてジョブを作成します。
- ジョブを削除するには、ジョブ フォルダーでジョブを右クリックし、削除 を選択します。
USE msdb;
GO
EXEC sp_delete_job @job_name = 'ジョブ名';
GO
パラメータ
- @job_name : 削除するジョブの名前
例
USE msdb;
GO
EXEC sp_delete_job @job_name = 'MyJob';
GO
注意事項
- ジョブを削除する前に、ジョブが使用されていないことを確認してください。
- ジョブを削除すると、ジョブの履歴とスケジュールも削除されます。
追加情報
- ジョブが存在するかどうかを確認するには、次の T-SQL クエリを使用できます。
USE msdb;
GO
SELECT name
FROM msdb.dbo.sysjobs
WHERE name = 'ジョブ名';
USE msdb;
GO
EXEC sp_update_job @job_name = 'ジョブ名', @enabled = 0;
GO
-- SSMS を開き、SQL Server インスタンスに接続します。
-- オブジェクト エクスプローラーで、**SQL Server エージェント** フォルダーを展開します。
-- **ジョブ** フォルダーで、削除するジョブを右クリックし、**削除** を選択します。
USE msdb;
GO
EXEC sp_delete_job @job_name = 'MyJob';
GO
USE msdb;
GO
EXEC sp_delete_job @job_name = 'MyJob';
GO
USE msdb;
GO
SELECT name
FROM msdb.dbo.sysjobs
WHERE name = 'MyJob';
USE msdb;
GO
EXEC sp_update_job @job_name = 'MyJob', @enabled = 0;
GO
SQL Server Agent ジョブを削除する他の方法
PowerShell
# ジョブが存在するかどうかを確認する
$jobExists = Get-Job -Name 'MyJob'
# ジョブが存在する場合は削除する
if ($jobExists) {
Remove-Job -Name 'MyJob'
}
SMO (SQL Server Management Objects)
using (var server = new ServerConnection("localhost"))
{
var job = server.JobServer.Jobs["MyJob"];
job.Delete();
}
SSIS (SQL Server Integration Services)
SSIS パッケージを使用して、ジョブを削除するカスタム タスクを作成できます。
- これらの方法は、上級ユーザー向けです。
- 使用する前に、これらの方法の使用方法を理解していることを確認してください。
sql sql-server sql-server-agent