DROP EVENT NOTIFICATION (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

从当前数据库中删除事件通知触发器。

Transact-SQL 语法约定

语法

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

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

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)