Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
控制连接最后连接到的服务器的角色。在高可用性、只读外扩和云配置中使用。根据设置,可能将连接重定向到另一个服务器,包括提供负载平衡。
只读向外扩展和数据库镜像分别需要单独的许可。 请参见单独授权的组件。
{ NodeType | NODE }={ DIRECT | PRIMARY | MIRROR | COPY | READONLY}
仅限网络服务器。
DIRECT 这是连接到非云数据库服务器时的缺省设置。
如果 NodeType 连接参数设置为 DIRECT,数据库服务器接受连接时不会执行负载平衡或重定向。
PRIMARY 这是连接到云服务器时的缺省设置。
如果 NodeType 连接参数设置为 PRIMARY 并且连接到了主服务器,连接将被接受。如果连接到了非主服务器(例如,镜像服务器、复制节点或任何其它云数据库服务器),则数据库服务器会将连接重定向到主服务器。
连接到此 NodeType 的云服务器时,不要指定 ServerName 连接参数。
COPY 如果 NodeType 连接参数设置为 COPY,数据库服务器执行负载平衡和选择复制节点。在云中,随机选择复制节点。在非云只读外扩系统中,数据库服务器将检查自己分支中的复制节点(如果服务器不是根节点则还包括它自己)并且选择负载最轻的复制节点。如果数据库服务器没有选择自身,它将把客户端重定向到选定的数据库服务器。
使用此 NodeType 值连接到云服务器时,不指定 ServerName 连接参数。
MIRROR 如果 NodeType 连接参数设置为 MIRROR 并且连接到了镜像服务器,连接将被接受。如果连接到了非镜像服务器,数据库服务器将连接重定向到镜像服务器。
READONLY 如果 NodeType 连接参数设置为 READONLY,则连接到任何只读服务器,可以是复制节点,也可以是镜像服务器。如果没有复制节点,这等效于 MIRROR 设置。如果有复制节点,这等效于 COPY 设置。
DIRECT(非云数据库服务器)
PRIMARY(云数据库服务器)
客户端应用程序使用此连接参数控制所连接到的服务器的角色以及在参与只读向外扩展的数据库服务器中间提供负载平衡。客户端指定该连接参数来表明它们想要连接的数据库服务器类型。客户端最初连接到的数据库服务器决定了应该处理此连接的数据库服务器,如果需要,通过返回数据库服务器地址将此连接重定向到合适的数据库服务器。客户端与原数据库服务器自动断开连接,然后自动连接到适当的数据库服务器上。
NodeType 与非云数据库服务器一起使用 如果指定 COPY,则在包含客户端最初连接到的数据库服务器的分支上出现负载平衡。分支是由该数据库服务器和它所有的子项组成的。此功能对在位于不同地理位置的服务器中执行负载平衡来说会有用处。
如果客户端连接重定向到不同的数据库服务器上,ServerName (Server) 连接参数中指定的值与数据库服务器 Name 属性的值将不匹配。请参见Name 服务器属性。
如果指定了 NodeType,应用程序通常会连接根节点,然后该数据库服务器再确定负载最低的复制节点。接着连接被重定向到该复制节点。如果应用程序在短时间内几次建立又丢弃了这种连接,那么连接将被放入连接池中,且它也不会询问根节点应该使用的复制服务器。使用连接池可以降低根节点的负载,但可能会出现意想不到的行为。应用程序可以指定它的连接不能被放入地址池,以确保在每次连接中都由根服务器来决定要连接的复制节点。
如果使用此参数重定向使用 Kerberos 验证或集成登录的连接,则必须按以下方式配置向外扩展树中的所有数据库服务器:
集成登录 向外扩展树中所有数据库服务器必须是同一 Windows 用户组的一部分,或者已将其配置为允许相同的 Windows 用户对其进行访问。
Kerberos 验证 必须启用向外扩展树中所有数据库服务器的 Kerberos 验证。向外扩展树中所有服务器的 Kerberos 服务器主体必须具有相同的域。
主服务器和镜像服务器位于安大略省的滑铁卢。日本的客户端想在日本建立一组复制节点,以降低连接延迟。如果在日本的一个复制节点分支是根节点的直接子节点,那么其它子节点可以被添加到日本的这一复制节点下面。客户端可以连接到中心,并指定 NodeType=COPY。日本的本地只读连接会随之在所有本地数据库服务器中进行负载平衡,不会有客户端会连接其它地方的数据库服务器。如果客户端需要对数据库进行更改,它们会改变连接字符串以使用 NodeType=PRIMARY。
要连接到在云数据库配置中运行的名为 joey 的读写数据库,其中 kangaroo1 和 kangaroo2 是运行云服务器的两台主机,您可以使用下列连接参数:
UID=rick;PWD=secret;DBN=joey;Host=kangaroo1,kangaroo2
要连接到在云数据库配置中运行的名为 joey 的任一只读数据库,其中 kangaroo1 和 kangaroo2 是运行云服务器的两台主机,您可以使用下列连接参数:
UID=rick;PWD=secret;DBN=joey;Host=kangaroo1,kangaroo2;NodeType=READONLY