DROP EVENT NOTIFICATION (Transact-SQL)
适用于: SQL Server Azure 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 AdventureWorks2022;
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;
另请参阅
CREATE EVENT NOTIFICATION (Transact-SQL)
EVENTDATA (Transact-SQL)
sys.event_notifications (Transact-SQL)
sys.events (Transact-SQL)