Share via


DROP EVENT NOTIFICATION (Transact-SQL)

現在のデータベースからイベント通知トリガを削除します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

DROP EVENT NOTIFICATION notification_name [ ,...n ]
ON { SERVER | DATABASE | QUEUE queue_name }
[ ; ]

引数

  • notification_name
    削除するイベント通知の名前を指定します。複数のイベント通知を指定できます。現在作成されているイベント通知の一覧を表示するには、「sys.event_notifications (Transact-SQL)」を参照してください。

  • SERVER
    イベント通知のスコープが現在のサーバーに適用されることを示します。イベント通知の作成時に SERVER を指定した場合は、SERVER を指定する必要があります。

  • DATABASE
    イベント通知のスコープが現在のデータベースに適用されることを示します。イベント通知の作成時に DATABASE を指定した場合は、DATABASE を指定する必要があります。

  • QUEUE queue_name
    イベント通知のスコープが、queue_name で指定されたキューに適用されることを示します。イベント通知の作成時に QUEUE を指定した場合は、QUEUE を指定する必要があります。同様に、キューの名前である queue_name も指定する必要があります。

説明

イベント通知がトランザクションの中で発生し、同じトランザクションの中で削除された場合は、イベント通知のインスタンスが送信され、その後でイベント通知が削除されます。

権限

データベース レベルのスコープを持つイベント通知を削除するには、少なくとも、イベント通知の所有者であるか、現在のデータベースに対する ALTER ANY DATABASE EVENT NOTIFICATION 権限を持っている必要があります。

サーバー レベルのスコープを持つイベント通知を削除するには、少なくとも、イベント通知の所有者であるか、そのサーバーに対する ALTER ANY EVENT NOTIFICATION 権限を持っている必要があります。

特定のキューのイベント通知を削除するには、少なくとも、イベント通知の所有者であるか、親キューに対する ALTER 権限を持っている必要があります。

次の例では、データベース スコープのイベント通知を作成し、削除します。

USE AdventureWorks;
GO
CREATE EVENT NOTIFICATION NotifyALTER_T1
ON DATABASE
FOR ALTER_TABLE
TO SERVICE 'NotifyService',
    '8140a771-3c4b-4479-8ac0-81008ab17984';
GO
DROP EVENT NOTIFICATION NotifyALTER_T1
ON DATABASE;