Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
标识 SQL Remote 层次中位于当前数据库上一层的数据库,该数据库将从当前数据库接收消息。
GRANT CONSOLIDATE TO userid TYPE message-system, ... ADDRESS address-string, ... [ SEND { EVERY | AT } hh:mm:ss ]
message-system : FILE | FTP | SMTP
address : string
userid 被授予特权的用户的用户 ID。
message-system SQL Remote 支持的消息系统之一。
address 指定的消息系统的地址。
在 SQL Remote 安装中,必须为 SQL Remote 层次中位于当前数据库正上方的数据库授予 CONSOLIDATE 特权。远程数据库中发出 GRANT CONSOLIDATE 以标识它的统一数据库。每个数据库只能有一个用户 ID 具有 CONSOLIDATE 特权:一个远程数据库不能有多个统一数据库。
统一用户由消息系统标识,以标识出统一用户收发消息的方法。地址名必须是消息系统的有效地址,用单引号括起来。每个远程数据库只能有一个统一用户。
对于 FILE 消息类型,地址是 SQLREMOTE 环境变量所指向目录的子目录。
统一数据库需要使用 GRANT CONSOLIDATE 语句来接收消息,但此语句本身并不为统一数据库预订任何数据。若要预订数据,必须为统一用户 ID 创建对当前数据库中的某个发布的预订。在统一数据库中运行数据库抽取实用程序可创建一个已执行正确 GRANT CONSOLIDATE 语句的远程数据库。
可选的 SEND EVERY 和 SEND AT 子句指定发送消息的频率。该字符串包含各消息之间的时间长度(对于 SEND EVERY)或一天中发送消息的具体时间(对于 SEND AT)。使用 SEND AT 时,每天发送一次消息。
如果授予用户远程特权时未指定 SEND EVERY 或 SEND AT 子句,则消息代理将处理消息,然后停止。要继续运行消息代理,必须确保为每个具有 REMOTE 特权的用户都指定了频率 SEND AT 或 SEND EVERY。
预计在许多远程数据库中,消息代理都定期运行,并且统一数据库将不指定 SEND 子句。
您必须具有 SYS_REPLICATION_ADMIN_ROLE 系统角色。
自动提交。
SQL/2008 服务商扩充。
以下语句将统一状态授予 Sam_Singer 用户 ID:
GRANT CONSOLIDATE TO Sam_Singer TYPE SMTP ADDRESS 'Singer, Samuel';