设为首页 加入收藏

TOP

SQL Server AlwaysOn 可用性组副本只读设置
2017-05-27 17:36:02 】 浏览:1417
Tags:SQL Server AlwaysOn 可用 副本 只读 设置

SQL Server AlwaysOn 可用性组副本是允许只读的,默认情况下不可读。


其中副本的可读性有几个选项:


NO : 不可连接到副本数据库,因此也不可读。默认设置。


Read-intent only:只有限定 “read-only” 时才能访问数据库,但只读。


Yes:所有连接都有可访问数据库,但只读。



如果设置为 “Read-intent only” ,客户端查询该数据库对象时提示以下错误:


Msg 976, Level 14, State 1, Line 1
The target database, 'TestDB', 
is participating in an availability group and is currently not accessible for queries. 
Either data movement is suspended or the availability replica is not enabled for read access. 
To allow read-only access to this and other databases in the availability group, 
enable read access to one or more secondary availability replicas in the group.  
For more information, see the ALTER AVAILABILITY GROUP statement in SQL Server Books Online.


若设置为 “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” 即可更改,或使用命令更改:


参考:


将连接字符串关键字用于 SQL Server Native Client


onnect to SQL Server AlwaysOn replica with SSMS when Readable Secondary is set to Read-intent only


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle RAC环境下的应用连续性 下一篇MySQL 5.7多源复制详解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目