MSSQL 從 2005 開始推出鏡像功能.
SQL Server鏡像是不可讀的.整個庫在個 norecovery模式.
SQL Server鏡像只能是1對1 但可以用鏡像+logshipping 混合實現一對多和鏡像鏈.
SQL Server鏡像認證分為 認證 和windows驗證.windows驗證必須在一個域裡面實現.
並不是每個公司的生產環境都是一個域.域的好處是可以做容錯移轉叢集+鏡像混合實現保障.
下面就說下認證方式的鏡像
環境:win2008 +mssql2008
1 在主庫上面建立資料庫主要金鑰
- create master key encryption by password ='123!@#abc';
2 建立認證
- create certificate host_105with subject='host_105_c'
3建立端點
- create endpoint endport_mirrorstate=started
- as tcp(listener_port=1522, listener_ip=all)
- for database_mirroring(authentication=certificate host_105,
- encryption=required algorithm AES, role=all );
4 備份認證並把認證複製到鏡像伺服器上
- backup certificate host_105 to file='c:\host_105.cer';
5 在備份機上面重複1-4步驟 認證名不一樣 把 所有帶 host_105替換成host_106)
6 在主機上建立sql驗證賬戶並和認證綁定
- create login mirror_b with password='xwj1234!@#$'
- create user mirror_b
- for login mirror_bcreate certificate host_106
- authorization mirror_bfrom file='c:\host_106.cer'grant
- connect on endpoint:: endport_mirror to mirror_b
7 在鏡像機上建立sql驗證賬戶並和認證綁定
- create login mirror_a with password;='xwj1234!@#$'
- create user mirror_a for login mirror_a;
- grant connect on endpoint::
- endport_mirror to mirror_a;
- create certificate host_105authorization mirror_afrom file='c:\host_105.cer';
8 在主庫建立mirror_test資料庫 記錄模式設定為完全模式 並在鏡像庫上面還原,還原模式為 norecovery
9 同步鏡像
- --- 在鏡像伺服器上運行alter database mirror_test
- set partner='TCP://192.168.1.105:1522'
- ---在主機上面運行alter database mirror_test
- set partner='TCP://192.168.1.106:1522'
- ---設定為高效能模式alter database mirror_testset safety off
10 測試
- --在主機執行
- create table test(id int);
- insert into test select 1;
- --在鏡像庫上執行
- create database mirror_test_snp
- on primary
- (name='mirror_test',filename='c:\mirror_test.mdf')
- as snapshot of mirror_test;
- use mirror_testselect * from test
11 開啟鏡像監控器
11 mirror+logshipping
原文標題:MSSQLMiRROR
連結:http://www.cnblogs.com/xwj1985/archive/2010/08/08/1795225.html