SQL Server Agent のジョブが削除できな現象に遭遇。
あれこれ調べて削除したメモです。
ことの発端はメインテナンスプランを設定し実行すると、その日最初の実行でエラーが出ることです。
同じ日の2度目以降は普通に実行できるんですけど、1度目の実行では必ずエラーが出るという不思議な現象。
「Transact-SQLステートメントまたはバッチの実行中に例外が発生しました。」というよくあるメッセージですが、エラーコードは、
SQL Server Error 22022
と見慣れないもの。
私にはお手上げですよ。
原因を探してSQL Server Agentのジョブを見たら、ジョブが3つ登録されてます。
私がメインテナンスプランに登録したのは2件。
正確には2件登録したが、1件削除し、改めて1件登録したのです。
つまり、メインテナンスプランは削除できたけどジョブが削除されずに残ってしまったようです。
それではと、残ってしまったジョブを削除しようとしたら、上のエラーメッセージです。
エラーコードは
SQL Server Error 547
削除する方法をネット調べましたが、参考になったのはこちら。
参考にさせて貰ったサイトではクエリでやってますが、私の方はクエリを使わずに消してみました。
以下、その手順の記録です。
- ①
-
まずは、削除したいジョブを選択し、右クリック、メニューのプロパティを選択します。
- ②
-
プロパティのスケジュールをクリック。
記載されているスケジュールのIDを確認します。 - ③
-
Databases>System Databases>msdb>Tables>System Tablesにあるdbo.sysmaintplan_subplansを選択します。
- ④
-
dbo.sysmaintplan_subplansで右クリック、メニューからEdit Top 200 Rowsを選択します。
- ⑤
-
表示された一覧のschedule_idから②で確認したIDを探します。
- ⑥
-
該当するIDの行で右クリック、メニューからDeleteを選択し削除します。
- ⑦
-
削除したいジョブで右クリック、メニューからDeleteを選択し、ジョブを削除します。
この手順で削除して他に影響が出るかどうか分かりませんが、消えたと言うことでよしとしておきます(^^ゞ
コメント