Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
终止将指定用户 ID 标识为当前发布者的操作。您必须具有 SYS_REPLICATION_ADMIN_ROLE 系统角色才能撤消发布者权限。
REVOKE PUBLISH FROM userid
在外发消息中,SQL Remote 系统中的每个数据库都以发布者用户 ID 加以标识。当前发布者用户 ID 可通过查询如下 CURRENT PUBLISHER 特殊值来确定:
SELECT CURRENT PUBLISHER;
REVOKE PUBLISH 语句会终止将指定用户 ID 标识为发布者的操作。要更改发布者,您必须从当前发布者中 REVOKE PUBLISH,然后再对新的发布者 GRANT PUBLISH。
如果在 SQL Remote 安装中更改了任何统一或远程数据库中的发布者用户 ID,必须确保在所有从该数据库接收消息的数据库上向新的发布者用户 ID 授予 REMOTE 特权。进行此更改需要删除并重新创建所有预订。
当数据库含有活动的 SQL Remote 发布或预订时,不得撤消发布者。
撤消发布者而不将其授予新用户会对 SQL Remote 安装有以下几个方面的影响:
不能在任何以 CURRENT PUBLISHER 列作为主键的一部分的表中插入数据。任何外发的消息不再用发布者用户 ID 标识,因此不会被接收者数据库接受。
执行此语句将更改 PUBLIC.db_publisher 数据库选项的值。
您必须具有 SET ANY SYSTEM OPTION 系统特权。
自动提交。
SQL/2008 服务商扩充。
终止作为当前发布者的 publisher_ID 的标识。
REVOKE PUBLISH FROM publisher_ID;