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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 复制 » 使用复制服务器复制数据 » 教程:使用复制服务器复制数据

 

第 5 课:将复制服务器信息添加到主数据库

要使数据库参与复制服务器安装,您需要将复制服务器表和过程添加到主站点数据库。您还需要创建两个供复制服务器使用的用户 ID。SQL 命令文件 rssetup.sql 随 SQL Anywhere 提供并执行这些任务。

必须通过 Interactive SQL 实用程序在 SQL Anywhere 服务器上运行 rssetup.sql 命令文件。

♦  运行 rssetup 脚本:
  1. 从 Interactive SQL 以具有 DBA 权限的用户身份连接到 SQL Anywhere 数据库。

  2. 使用以下命令运行 rssetup 脚本:

    read "install-dir\scripts\rssetup.sql"

    此脚本中的 install-dir 为 SQL Anywhere 的安装目录。

    或者,您也可选择 [文件] » [运行脚本],然后浏览到该文件。

由 rssetup.sql 执行的操作

rssetup.sql 命令文件执行以下功能:

  • 创建一个名为 dbmaint 的用户,口令为 dbmaint,该用户拥有 DBA 权限。这是复制服务器连接到主站点数据库所需的维护用户名和口令。

  • 创建一个名为 sa 的用户,口令为 sysadmin,该用户拥有 DBA 权限。这是复制服务器在实现数据时所使用的用户 ID。

  • sadbmaint 添加到名为 rs_systabgroup 的组中。

口令和用户 ID

硬性规定的用户 ID(dbmaint 和 sa)和口令可用于测试和在本教程中使用,但是在运行有安全性要求的数据库时,您需要更改口令,而且还可能需要更改用户 ID。拥有 DBA 权限的用户在 SQL Anywhere 数据库中拥有完全权限。

用户 ID sa 及其口令必须与复制服务器上系统管理员帐户的 ID 及其口令一致。SQL Anywhere 当前不接受 NULL 口令。

权限

rssetup.sql 脚本执行包括某些权限管理在内的若干操作。在此将概述由 rssetup.sql 做出的权限更改。您不需要自己进行这些更改。

为了能够进行复制,应确保 dbmaint 和 sa 用户无需显式指定表所有者便可访问需要复制的表。要做到这一点,表所有者用户 ID 必须拥有组成员权限,并且 dbmaint 和 sa 用户必须是表所有者组的成员。要授予组权限,您必须拥有 DBA 权限。

例如,如果用户 DBA 拥有该表,则您应向 DBA 授予组权限:

GRANT GROUP
TO DBA;

然后,您应向 dbmaint 和 sa 用户授予 DBA 组的成员资格。要授予组成员资格,您必须拥有 DBA 权限或者必须是组 ID。

GRANT MEMBERSHIP
IN GROUP "DBA"
TO dbmaint ;
GRANT MEMBERSHIP
IN GROUP "DBA"
TO sa;