SQLServer Always On 可用性组副本只读设置
SQLServer Always On 可用性组副本是允许只读的,默认情况下不可读。 其中副本的可读性有几个选项: NO : 不可连接到副本数据库,因此也不可读。默认设置。 Read-intent only:只有限定 “read-only” 时才能访问数据库,但只读。 Yes:所有连接都有可访问数据库,但只读。 如果设置为 “Read-intent only” ,客户端查询该数据库对象时提示以下错误: Msg 976,Level 14,State 1,Line 1 若设置为 “Read-intent only”,又打算可读副本数据库数据,客户端连接设置如下: 连接时加上 ReadOnly 参数:?ApplicationIntent=ReadOnly 其他程序连接设置如:ApplicationIntent=readonly ("Driver={SQL Server Native Client 11.0};server=AGListener;Database=dbname;trusted_connection=yes;ApplicationIntent=readonly”) 使用?sqlcmd 工具连接需要设置参数 “-K” sqlcmd -SAGListener -E -dDBName -Kreadonly 若都允许只读,选择 “Yes” 即可更改,或使用命令更改: USE [master] GO ALTER AVAILABILITY GROUP [AGName] MODIFY REPLICA ON N'InstanceName' WITH (SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL)) GO 参考: 将连接字符串关键字用于 SQL Server Native Client onnect to SQL Server AlwaysOn replica with SSMS when Readable Secondary is set to Read-intent only (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |