国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sql server alwayson 可用性組 只讀路由的設置

2024-08-31 00:55:52
字體:
來源:轉載
供稿:網友
sql server alwayson 可用性組 只讀路由的設置

昨天晚上學習了【SQL Server 2012實施與管理實戰指南】的第三章,于是今天想在前段時間建的那個alwayson

可用性組測試環境上也配置一下只讀路由,嘗試實現讀寫分離。

按照書中的方法,執行如下腳本(本來我是3節點的可用性組,由于筆記本開4臺虛擬機實在是太卡,我把server03給關掉了,只讀路由也沒配置這個節點。):

--指定在此可用性副本當前擁有輔助角色(即它是輔助副本)時要生效的角色有設置:ALTER AVAILABILITY GROUP [AG01]MODIFY REPLICA ONN'SERVER02/ISS' WITH(SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));ALTER AVAILABILITY GROUP [AG01]MODIFY REPLICA ONN'SERVER02/ISS' WITH(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://SERVER02.testad.com:1433'))ALTER AVAILABILITY GROUP [AG01]MODIFY REPLICA ONN'SERVER04/ISS' WITH(SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));ALTER AVAILABILITY GROUP [AG01]MODIFY REPLICA ONN'SERVER04/ISS' WITH(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://SERVER04.testad.com:1433'))--指定在此可用性副本當前擁有主角色(即它是主副本)時要生效的角色有設置:ALTER AVAILABILITY GROUP [AG01]MODIFY REPLICA ONN'SERVER04/ISS' WITH(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST = (N'SERVER02/ISS',N'SERVER04/ISS')));ALTER AVAILABILITY GROUP [AG01]MODIFY REPLICA ONN'SERVER02/ISS' WITH(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST = (N'SERVER04/ISS',N'SERVER02/ISS')));

按道理說,腳本執行完后,在連接字符串中加入參數:applicationIntent = ReadOnly就能自動重定向到輔助副本。

可是,在我的環境中只要加上ApplicationIntent = ReadOnly參數,就無法連接服務器。

最后在大菠蘿的幫助下,終于找出來是端口的問題。

我的SQL Server服務并沒有監聽在1433端口,而是動態端口!

修改成固定端口1433后并重啟服務。

再次使用ApplicationIntent = ReadOnly參數連接。

雖然主副本是SERVER02,但是連接已經被重定向到了SERVER04

如果不使用ApplicationIntent = ReadOnly參數連接。

連接仍將指向主副本SERVER02。

這里,附上大菠蘿提供的幾個腳本:

查看副本間的只讀路由關系:

select  b.replica_server_name ,a.routing_priority ,c.replica_server_name fromsys.availability_read_only_routing_lists aleft joinsys.dm_hadr_availability_replica_cluster_states bon a.replica_id = b.replica_id left join sys.dm_hadr_availability_replica_cluster_states  con a.read_only_replica_id = c.replica_id order by a.replica_id 

當前的只讀路由配置:

select a.*,c.is_local,c.role_desc,d.endpoint_url,d.read_only_routing_url from sys.dm_hadr_availability_replica_cluster_nodes ajoin sys.dm_hadr_availability_replica_cluster_states bon a.replica_server_name = b.replica_server_name join sys.dm_hadr_availability_replica_states con b.replica_id = c.replica_id join sys.availability_replicas don c.replica_id = d.replica_id 

----------------------------------------

最后,對于要使用只讀路由的客戶端應用程序,其連接字符串必須滿足以下要求:

  • 使用 TCP 協議。

  • 將應用程序意向特性/屬性設置為只讀。

  • 引用配置為支持只讀路由的可用性組的偵聽器。

  • 引用該可用性組中的數據庫。

參考鏈接:

http://msdn.microsoft.com/zh-cn/subscriptions/downloads/ff878308.aspx#ror

http://msdn.microsoft.com/zh-cn/subscriptions/downloads/hh213002.aspx

http://hi.baidu.com/hanxiao2100/item/e0a46226519aab8b6f2cc368

最后,特別感謝大菠蘿,耽誤你好久的時間哈~~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉田县| 抚州市| 白沙| 宁海县| 曲靖市| 雷山县| 昭苏县| 铜鼓县| 郁南县| 丰镇市| 广东省| 黔江区| 彭阳县| 南京市| 二连浩特市| 栖霞市| 罗山县| 龙里县| 宜君县| 宜州市| 岗巴县| 黎平县| 三河市| 洛隆县| 惠州市| 龙胜| 枞阳县| 镇安县| 岚皋县| 府谷县| 车致| 河北省| 宿松县| 新郑市| 高青县| 鹿泉市| 广平县| 益阳市| 镇坪县| 红桥区| 香河县|