轉載博文(一步一步說明怎麼配置):
http://www.cnblogs.com/lyhabc/p/4682986.html
下面是大概的步驟及注意事項:
服務器先添加功能
Active Directory
DNS服務器
配置AD DS域
添加新林
kk.com
一直點擊下一步,這裡有個什麼DNS直接跳過,不然創建不成功
DNS裡面創建域
kk.com
在此域裡面新建主機,將各個節點電腦添加進去,ping是否通了
讓控制機域在kk.com,電腦屬性右鍵修改域
各個節點電腦也配置在隸屬於kk.com
AD域
AD DS域配置
https://technet.microsoft.com/zh-CN/library/hh831457.aspx#BKMK_DNSOptionsPage
https://technet.microsoft.com/zh-cn/library/dn283324(v=ws.11).aspx
AD域配置好后,將數據庫節點電腦的域設置為kk.com
不搭建共享磁盤(有些添加不起共享磁盤的情況),也可以配置共享文件夾,來作為仲裁文件夾
Windows Server 2012 iSCSI共享磁盘搭建
http://blog.csdn.net/blvyoucan/article/details/71170754
配置集群共享磁盤
https://technet.microsoft.com/zh-cn/library/cc733046(v=ws.11).aspx
創建故障轉移群集
配置仲裁
仲裁磁盤配置如果報錯,就配置成總裁文件夾
在Active Directory用戶和計算機裡面配置域控賬戶
創建域控組:ADADMIN
然後將各個sqlserver節點電腦裡面的administrator加入到組ADADMIN
再配置sqlserver服務的賬戶為administrator
AlwaysOn配置
新建可用性組嚮導
注意:
需要在故障轉移群集裡面配置故障次數
選擇域裡面的:角色
選中:可用性組名稱–>故障轉移
設置“指定時間段內的最大故障數”,盡量改大
下面的時間段改小,比如設置1小時內,故障數為50次
配置alwaysOn只讀路由
https://www.cnblogs.com/dcz2015/p/5444438.html
https://www.cnblogs.com/chenmh/p/7000236.html
https://www.cnblogs.com/aarond/p/3679915.html
http://www.shaoqun.com/a/88704.html
————————————-AlwaysOn設置只讀路由配置———————————————
需要在AlwaysOn實例主機執行sql命令,且需要選擇為master對象
----配置只讀路由屬性
ALTER AVAILABILITY GROUP TestAg1
MODIFY REPLICA ON N'MSSQL-NODE1\MSSQL2016' WITH (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));
ALTER AVAILABILITY GROUP TestAg1
MODIFY REPLICA ON N'MSSQL-NODE2\MSSQL2016' WITH (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));
----配置只讀路由URL
ALTER AVAILABILITY GROUP TestAg1
MODIFY REPLICA ON
N'MSSQL-NODE1\MSSQL2016' WITH
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'tcp://mssql-node1.kk.com:1433'))
ALTER AVAILABILITY GROUP TestAg1
MODIFY REPLICA ON
N'MSSQL-NODE2\MSSQL2016' WITH
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'tcp://mssql-node2.kk.com:1433'))
----當MSSQL-NODE1\MSSQL2016為主副本時,設置只讀路由列表為MSSQL-NODE2\MSSQL2016
ALTER AVAILABILITY GROUP TebittAg
MODIFY REPLICA ON
N'MSSQL-NODE1\MSSQL2016' WITH
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('MSSQL-NODE2\MSSQL2016','MSSQL-NODE1\MSSQL2016')));
----當MSSQL-NODE2\MSSQL2016為主副本時,設置只讀路由列表為MSSQL-NODE1\MSSQL2016
ALTER AVAILABILITY GROUP TebittAg
MODIFY REPLICA ON
N'MSSQL-NODE2\MSSQL2016' WITH
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('MSSQL-NODE1\MSSQL2016','MSSQL-NODE2\MSSQL2016')));
--查看配置情况
select ar.replica_server_name, rl.routing_priority,
(select ar2.replica_server_name
from sys.availability_read_only_routing_lists rl2
join sys.availability_replicas AS ar2 ON rl2.read_only_replica_id = ar2.replica_id
where rl.replica_id=rl2.replica_id and rl.routing_priority =rl2.routing_priority
and rl.read_only_replica_id=rl2.read_only_replica_id) as 'read_only_replica_server_name'
from sys.availability_read_only_routing_lists rl join sys.availability_replicas AS ar ON rl.replica_id = ar.replica_id
//主副本,讀寫
const string conStr1 = "Server=tcp:10.100.50.163,1433;Database=test;uid=sa;pwd=ms2016@*808;ApplicationIntent=ReadWrite;MultiSubnetFailover=Yes";
//輔助副本,只讀
const string conStr2 = "Server=tcp:10.100.50.163,1433;database=test;uid=sa;pwd=ms2016@*808;ApplicationIntent=ReadOnly;MultiSubnetFailover=Yes";
部署應用程序的服務器非kk.com域的電腦需要配置ip跟機器全域名配對,才能正確解析,不然sqlserver客戶端連接會報錯
配置地址:
C:\Windows\System32\drivers\etc
hosts文件末尾添加ip和dns全域名映射
136.88.15.93 mssql-node1.kk.com
136.88.15.94 mssql-node2.kk.com
如果不配置以上,sqlserver客戶端連接讀取副本會報錯,說找不到sqlserver實例