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

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - 数据库管理 » 数据库维护 » SQL Anywhere 高可用性 » 数据库镜像系统设置

 

配置在镜像服务器上运行的数据库的只读访问

使用数据库镜像时,可以使用只读连接访问在镜像服务器上运行的数据库。如果您要下放报告或需要此数据库的只读访问的其它操作,此功能很有用。

在镜像系统中,您不必知道哪个数据库担当主服务器和镜像服务器。如果您想要能够连接到在镜像服务器上运行的数据库,则使用类型 MIRROR 定义镜像服务器。这样,通过提供用于访问只读镜像数据库的服务器名,就能够建立找到镜像服务器的连接。只有在数据库服务器担当数据库的镜像服务器时,以这种方式指定的服务器名才处于活动状态。例如,以下语句将名称 mysamplemirror 定义为连接到在镜像服务器上运行的数据库时的替代服务器名:

CREATE MIRROR SERVER mysamplemirror
AS MIRROR
connection_string='SERVER=mysamplemirror;HOST=winxp-1:6871,winxp-2:6872';

尝试更改数据库将导致错误,其行为与使用 -r 选项作为只读启动数据库时的行为相同。可以在临时表上执行操作,但在镜像数据库上不触发事件。事件触发只在发生从主服务器到镜像服务器的故障转移之后启动。如果已定义,此时触发 DatabaseStart 和 MirrorFailover 事件。请参见系统事件

如果发生故障转移,镜像服务器变为主服务器,将维持与镜像服务器的连接。故障转移后,连接可对数据库进行更改。您可以查询 ReadOnly 数据库属性的值,以确定您所连接的数据库是否可以更新:

SELECT DB_PROPERTY( 'ReadOnly' );
 另请参见

镜像数据库查询