只读向外扩展和数据库镜像分别需要单独的许可。请参见单独授权的组件。
创建或替换用于数据库镜像或只读向外扩展的镜像服务器。
CREATE [ OR REPLACE ] MIRROR SERVER mirror-server-name AS { PRIMARY | MIRROR | ARBITER | PARTNER | COPY } [ { FROM SERVER parent-name [ OR SERVER server-name ] | USING AUTO PARENT } ] [ server-option = string [ ... ] ]
parent-name :
server-name | PRIMARY
server-option : connection_string logfile preferred state_file
CREATE OR REPLACE MIRROR SERVER CREATE MIRROR SERVER 创建镜像服务器。如果数据库中已存在具有指定名称的镜像服务器,则返回错误。
如果数据库中尚未存在服务器,则 CREATE OR REPLACE MIRROR SERVER 会创建镜像服务器;如果数据库中已存在服务器,则进行替换。如果尝试替换正在使用的镜像服务器,则会返回错误。
PRIMARY 具有类型 PRIMARY 的镜像服务器定义虚拟服务器或逻辑服务器,而不是实际的数据库服务器。此服务器的名称是数据库的替代服务器名称。应用程序可以使用替代服务器名称连接到目前用作主服务器的服务器。标记为 PRIMARY 的服务器也定义镜像服务器连接到目前用作主服务器的服务器时使用的连接字符串,还定义在向外扩展系统中新复制节点最初如何连接到根服务器。一个数据库只能有一个 PRIMARY 服务器。
MIRROR 具有类型 MIRROR 的镜像服务器定义虚拟服务器或逻辑服务器,而不是实际的数据库服务器。此服务器的名称是数据库的替代镜像服务器名称。应用程序可以使用替代镜像服务器名称连接到目前用作只读镜像的服务器。一个数据库只能有一个 MIRROR 服务器。
ARBITER 在数据库镜像系统中,仲裁服务器协助决定由哪个 PARTNER 服务器取得数据库的所有权。定义仲裁服务器时必须带有连接字符串,伙伴服务器可以使用此连接字符串连接到仲裁服务器。一个数据库只能有一个 ARBITER 服务器。
PARTNER 在数据库镜像系统中,定义为 PARTNER 的服务器有资格成为主服务器并取得数据库的所有权。必须为数据库镜像定义两个 PARTNER 服务器,而且两个服务器必须都有连接字符串和状态文件。镜像服务器的名称必须与由 -n 服务器选项指定的数据库服务器的名称对应,并且必须与在 connection_string 镜像服务器选项中指定的 SERVER 连接字符串参数的值匹配。
在只读向外扩展系统中,必须定义一个 PARTNER 服务器。此服务器是根服务器,而且是运行允许读写操作的数据库的唯一副本。
COPY 在只读向外扩展系统中,此值指定数据库服务器是复制节点。与此服务器上的数据库的所有连接均为只读。镜像服务器的名称必须与由 -n 服务器选项指定的数据库服务器的名称对应,并且必须与在 connection_string 镜像服务器选项中指定的 SERVER 连接字符串参数的值匹配。不必显式定义向外扩展系统的复制节点;可以选择在连接复制节点时让根节点定义复制节点。请参见添加复制节点。
FROM SERVER 子句 只能为类型为 COPY 的镜像服务器指定此子句。此子句为镜像或向外扩展系统构造服务器树,并指示不参与节点从哪个服务器获取事务日志页。
可以使用镜像服务器或 PRIMARY 的名称指定父项。可以使用 OR SERVER 子句指定复制节点的替代父项。
在只有两个级别(参与节点和不参与节点)的数据库镜像系统中,不参与节点从当前主服务器或镜像服务器获取事务日志页。
复制节点使用其存储在数据库中的镜像服务器定义决定连接到哪个服务器。从复制节点自己的定义中,可以找到其父项的定义。从其父项的定义中,可以获得连接到该父项时使用的连接字符串。请参见SYSMIRRORSERVER 系统视图。
不必显式定义向外扩展系统的复制节点:可以选择在连接复制节点时让根节点定义复制节点。请参见添加复制节点。
USING AUTO PARENT 子句 此子句使主服务器为此服务器指派父项。请参见自动指派复制节点的父节点。
connection_string 指定用于连接到服务器的连接字符串。不需要用户 ID 和口令。镜像服务器的连接字符串不能包括用户 ID 或口令,因为一个镜像服务器与另一个镜像服务器连接时不使用用户 ID 和口令。
有关连接参数的完整列表,请参见连接参数。
logfile 指定文件的位置。如果使用数据库镜像,那么镜像服务器之间每发送一条请求,该文件中便包含一行内容。此文件仅用于调试。
preferred 指定该服务器是否为镜像系统中的首选服务器。可以指定 YES 或 NO。只要有可能,首选服务器就会履行主服务器的角色。定义 PARTNER 服务器时指定此选项。请参见指定首选数据库服务器。
state_file 指定用于维护有关镜像系统的状态信息的文件的位置。该选项是数据库镜像所必需的。必须为类型为 PARTNER 的服务器指定状态文件。对于仲裁服务器,在用于启动服务器的命令中指定此位置。请参见状态信息文件。
在数据库镜像系统中,镜像服务器类型可为 PRIMARY、MIRROR、ARBITER 或 PARTNER。
在只读向外扩展系统中,镜像服务器类型可为 PRIMARY、PARTNER 或 COPY。
类型为 PARTNER、ARBITER 或 COPY 的服务器的镜像服务器名称必须与作为镜像系统一部分的数据库服务器的名称(与 -n 服务器选项一起使用的名称)匹配。这样允许每个数据库服务器找到自己及其父项的定义。
必须具有 DBA 权限。
自动提交。
SQL/2008 服务商扩充
以下语句创建可在数据库镜像系统中用作主服务器的镜像服务器:
CREATE MIRROR SERVER "scaleout_primary" AS PRIMARY connection_string = 'server=scaleout_primary;host=winxp-2:6871,winxp-3:6872'; |
以下语句创建可在数据库镜像系统中用作镜像服务器的镜像服务器:
CREATE MIRROR SERVER "scaleout_mirror" AS MIRROR connection_string = 'server=scaleout_mirror;links=tcpip(host=winxp-2:6871,winxp-3:6872)'; |
以下语句创建可在数据库镜像系统中用作仲裁服务器的镜像服务器:
CREATE MIRROR SERVER "scaleout_arbiter" AS ARBITER connection_string = 'server=scaleout_arbiter;host=winxp-4:6870'; |
以下语句创建可在数据库镜像系统中用作伙伴服务器的镜像服务器:
CREATE MIRROR SERVER "scaleout_server1" AS PARTNER connection_string = 'server=scaleout_server1;HOST=winxp-2:6871' state_file = 'c:\server1\server1.state'; |
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |