|
interstellar 发表于 2013-5-2 14:49 ![]()
listener机制做不到把只读请求发到secondary replica上吧。
按照我对listener的了解,它只负责判断谁是 ...
这是那本书的原话.
要让只读操作能透明的被自动的转到辅助副本,需要解决下面三个问题:
1.客户端要表明自己发出的操作是"只读操作"
2.辅助数据库要设置成可读模式
3.客户端的连接,要能够被重定向到可读副本,这是通过"只读路由"机制来实现的
关于第一个问题,需要在客户端中加入一个关键字,ApplicationIntent,只能被设置为ReadOnly或者ReadWrite.
但是目前只在SQLNCLI11 ODBC和OLEDB;.Net FrameWork 4.5,4.0和3.5.1中的System.Data.SqlClient以及Microsoft JDBC Driver for SQL Server 4.0中支持
2.就不用多少了,设置数据库的访问类型是Read_Only
3.当客户端连接使用Listener的名字来访问SQLServer Instance时,只读路由功能可以将来自客户端的只读需求从主副本上自动重定向到可读的辅助副本执行.客户端应用只需要确保连接的服务器名是Listener名字,无需关心后台到底是哪个副本响应这个需求 |
|