Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Remote » 教程:创建 SQL Remote 系统

 

第 2 课:在统一数据库中授予 PUBLISH 和 REMOTE 特权

使用 Interactive SQL 为统一数据库创建发布者

前提条件

您必须具有 SYS_REPLICATION_ADMIN_ROLE 系统角色。

上下文和注释

SQL Remote 系统中的每个数据库都需要发布者,发布者是具有 PUBLISH 特权的唯一用户。所有外发的 SQL Remote 消息(包括发布更新和接收确认)均由其发布者标识。SQL Remote 系统中的每个数据库都要发送接收确认。

 任务
  1. 如果目前尚未连接到统一数据库 (hq),则运行以下命令:

    dbisql -c "UID=DBA;PWD=sql;SERVER=server_hq;DBF=c:\tutorial\hq.db"
  2. 执行以下语句,创建具有 CONNECT 和 PUBLISH 特权的 hq_user 用户:

    CREATE USER hq_user IDENTIFIED BY hq_pwd;
    GRANT CONNECT TO hq_user IDENTIFIED BY hq_pwd;
    GRANT PUBLISH TO hq_user;
  3. 执行以下语句,检查数据库的发布用户 ID:

    SELECT CURRENT PUBLISHER;
  4. 要将消息发送给其它数据库的数据库(如统一数据库)必须指定要将消息发送给哪些远程数据库。要在统一数据库上指定这些远程数据库,必须将 REMOTE 特权授予远程数据库的发布者。REMOTE 特权标识那些从当前数据库中接收消息的数据库。执行以下语句,创建具有 CONNECT 和 REMOTE 特权的远程用户 field_user,其口令为 field_pwd:

    CREATE USER field_user IDENTIFIED BY field_pwd;
    GRANT CONNECT TO field_user IDENTIFIED BY field_pwd;
    GRANT REMOTE TO field_user 
    TYPE file 
    ADDRESS 'field';

结果

用户拥有 CONNECT、PUBLISH 和 REMOTE 特权。