使用数据库镜像时,可以使用只读连接访问在镜像服务器上运行的数据库。如果您要下放报告或需要此数据库的只读访问的其它操作,此功能很有用。
在镜像系统中,您不必知道哪个数据库担当主服务器和镜像服务器。如果您想要能够连接到在镜像服务器上运行的数据库,则使用类型 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' ); |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |