sp_delete_jobschedule (Transact-SQL)

適用対象: SQL ServerAzure SQL Managed Instance

SQL Server エージェント サービス内のジョブのスケジュールを削除します。

sp_delete_jobschedule は下位互換性のみを目的として提供されます。

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

解説

ジョブ スケジュールをジョブとは別に管理できるようになりました。 ジョブからスケジュールを削除するには、次を使用します sp_detach_schedule。 スケジュールを削除するには、sp_delete_schedule

sp_delete_jobschedule では、複数のジョブにアタッチされているスケジュールはサポートされていません。 複数のジョブにアタッチされているスケジュールを削除するために既存のスクリプトが呼び出 sp_delete_jobschedule されると、プロシージャはエラーを返します。

アクセス許可

このストアド プロシージャは、db_owner ロールによって所有されています。 任意のユーザーにアクセス許可を付与 EXECUTE できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。

他のユーザーには、データベース内の固定データベース ロールSQL Server エージェント次のいずれかを付与するmsdb必要があります。

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。

sysadmin ロールのメンバーは、ジョブ スケジュールを削除できます。 sysadmin ロールのメンバーではないユーザーは、自分が所有するジョブ スケジュールのみを削除できます。