要使数据库参与复制服务器安装,您需要将复制服务器表和过程添加到主站点数据库。您还需要创建两个供复制服务器使用的用户 ID。SQL 命令文件 rssetup.sql 随 SQL Anywhere 提供并执行这些任务。
必须通过 Interactive SQL 实用程序在 SQL Anywhere 服务器上运行 rssetup.sql 命令文件。
从 Interactive SQL 以具有 DBA 权限的用户身份连接到 SQL Anywhere 数据库。
使用以下命令运行 rssetup 脚本:
read "install-dir\scripts\rssetup.sql" |
此脚本中的 install-dir 为 SQL Anywhere 的安装目录。
或者,您也可选择 [文件] » [运行脚本],然后浏览到该文件。
rssetup.sql 命令文件执行以下功能:
创建一个名为 dbmaint 的用户,口令为 dbmaint,该用户拥有 DBA 权限。这是复制服务器连接到主站点数据库所需的维护用户名和口令。
创建一个名为 sa 的用户,口令为 sysadmin,该用户拥有 DBA 权限。这是复制服务器在实现数据时所使用的用户 ID。
将 sa 和 dbmaint 添加到名为 rs_systabgroup 的组中。
硬性规定的用户 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; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |