工作组模式下SQL Server 2008 R2 数据库镜像
生產(chǎn)環(huán)境要上鏡像,自己又做了一遍測(cè)試,總結(jié)記錄一下。
目的:實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)庫的熱備和故障自動(dòng)切換。
環(huán)境:Win2008_R2_X64,SQLServer2008_R2_X64,WorkGroup網(wǎng)絡(luò)模式。
數(shù)據(jù)庫:people
主機(jī):192.168.1.3
鏡像機(jī):192.168.1.110
見證機(jī):192.168.1.111
準(zhǔn)備工作:
方法:SSMS選中實(shí)例?右鍵?Facets(方面)?在Facet列表選中"Surface area configuration"?設(shè)定"RemoteDacEnabled"為true。 ???
方法:開始?控制面板?Windows防火墻?高級(jí)設(shè)置?入站規(guī)則?新增規(guī)則 ???
主機(jī)備份:
USE master
GO
BACKUP DATABASE [people] TO DISK = N'D:\people.bak'
WITH FORMAT, INIT, NAME = N'people-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
GO
BACKUP LOG [people] TO DISK = N'D:\people.bak'
WITH NOFORMAT, NOINIT, NAME = N'people-Transaction Log Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
GO
鏡像恢復(fù):
USE master
GO
RESTORE DATABASE [people] FROM DISK = N'F:\people.bak'
WITH FILE = 1,
NORECOVERY, NOUNLOAD, REPLACE, STATS = 10
GO
RESTORE LOG [people] FROM DISK = N'F:\people.bak'
WITH FILE = 2, NORECOVERY, NOUNLOAD, STATS = 10
GO
實(shí)施,以下步驟按編號(hào)順序執(zhí)行:
1. 主機(jī)上執(zhí)行:USE master
GO
--創(chuàng)建證書,并備份
CREATE MASTER KEY ENCRYPTION BY PASSWORD=N'joe123';
CREATE CERTIFICATE Cert_JOEPC
WITH SUBJECT=N'JOEPC Certificate',START_DATE='20120405',EXPIRY_DATE='20990405';
BACKUP CERTIFICATE Cert_JOEPC TO FILE=N'C:\Cert_JOEPC.cer';
GO
--創(chuàng)建鏡像端口
CREATE ENDPOINT EP_JOEPC_Mirr
STATE=STARTED
AS TCP
(
LISTENER_PORT=5022,
LISTENER_IP=ALL
)
FOR DATABASE_MIRRORING
(
AUTHENTICATION=CERTIFICATE Cert_JOEPC,
ENCRYPTION=REQUIRED ALGORITHM AES,
ROLE=PARTNER
)
?
???????????????? GO
2. 鏡像機(jī)上執(zhí)行:USE master
GO
--創(chuàng)建證書,并備份
CREATE MASTER KEY ENCRYPTION BY PASSWORD=N'joe123';
CREATE CERTIFICATE Cert_110
WITH SUBJECT=N'Certificate 110',START_DATE='20120405',EXPIRY_DATE='20990405';
BACKUP CERTIFICATE Cert_110 TO FILE=N'C:\Cert_110.cer';
GO
--創(chuàng)建鏡像端口
CREATE ENDPOINT EP_110_Mirr
STATE=STARTED
AS TCP
(
LISTENER_PORT=5022,
LISTENER_IP=ALL
)
FOR DATABASE_MIRRORING
(
AUTHENTICATION=CERTIFICATE Cert_110,
ENCRYPTION=REQUIRED ALGORITHM AES,
ROLE=PARTNER
)
GO
?
3. 見證機(jī)上執(zhí)行:USE master
go
--創(chuàng)建證書,并備份
CREATE MASTER KEY ENCRYPTION BY PASSWORD =N'joe123';
CREATE CERTIFICATE Cert_111
WITH SUBJECT=N'Certificate 111';
BACKUP CERTIFICATE Cert_111 TO FILE=N'C:\Cert_111.cer';
GO
--創(chuàng)建鏡像端口
CREATE ENDPOINT EP_111_Mirr
AS TCP
(
LISTENER_PORT=5022,
LISTENER_IP=ALL
)
FOR DATABASE_MIRRORING
(
AUTHENTICATION=CERTIFICATE Cert_111,
ENCRYPTION=REQUIRED ALGORITHM AES,
ROLE=WITNESS
)
?
????????????GO
4. 把上面三個(gè)步驟中備份的證書COPY到每臺(tái)機(jī),確保每臺(tái)機(jī)都有此三個(gè)證書。
5. 主機(jī)上執(zhí)行:
???????????? USE master
?????? GO
--為鏡像機(jī)訪問主機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限
CREATE LOGIN Login_For_110 WITH PASSWORD=N'joe123';
CREATE USER User_For_110 FOR LOGIN Login_For_110;
CREATE CERTIFICATE Cert_For_110 AUTHORIZATION User_For_110 FROM FILE=N'C:\Cert_110.cer';
GRANT CONNECT ON ENDPOINT::EP_JOEPC_Mirr TO Login_For_110;
GO
--為見證機(jī)訪問主機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限
CREATE LOGIN Login_For_111 WITH PASSWORD=N'joe123';
CREATE USER User_For_111 FOR LOGIN Login_For_111;
CREATE CERTIFICATE Cert_For_111 AUTHORIZATION User_For_111 FROM FILE=N'C:\Cert_111.cer';
GRANT CONNECT ON ENDPOINT::EP_JOEPC_Mirr TO Login_For_111;
?????? GO
6. 鏡像機(jī)上執(zhí)行:USE master
GO
--為主機(jī)訪問鏡像機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限
CREATE LOGIN Login_For_JOEPC WITH PASSWORD=N'joe123';
CREATE USER User_For_JOEPC FOR LOGIN Login_For_JOEPC;
CREATE CERTIFICATE Cert_For_JOEPC AUTHORIZATION User_For_JOEPC
FROM FILE =N'c:\Cert_JOEPC.cer';
GRANT CONNECT ON ENDPOINT::EP_110_Mirr TO Login_For_JOEPC;
GO
--為見證機(jī)訪問鏡像機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限
CREATE LOGIN Login_For_111 WITH PASSWORD=N'joe123';
CREATE USER User_For_111 FOR LOGIN Login_For_111;
CREATE CERTIFICATE Cert_For_111 AUTHORIZATION User_For_111
FROM FILE =N'c:\Cert_111.cer';
GRANT CONNECT ON ENDPOINT::EP_110_Mirr TO Login_For_111;
GO
?
7. 見證機(jī)上執(zhí)行:USE master
GO
--為主機(jī)訪問見證機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限
CREATE LOGIN Login_For_JOEPC WITH PASSWORD=N'joe123';
CREATE USER User_For_JOEPC FOR LOGIN Login_For_JOEPC;
CREATE CERTIFICATE Cert_For_JOEPC AUTHORIZATION User_For_JOEPC FROM FILE=N'c:\Cert_JOEPC.cer';
GRANT CONNECT ON ENDPOINT::EP_111_Mirr TO Login_For_JOEPC;
GO
--為鏡像機(jī)訪問見證機(jī)的鏡像端口而創(chuàng)建登錄和用戶,并授予連接權(quán)限
CREATE LOGIN Login_For_110 WITH PASSWORD=N'joe123';
CREATE USER User_For_110 FOR LOGIN Login_For_110;
CREATE CERTIFICATE Cert_For_110 AUTHORIZATION User_For_JOEPC FROM FILE=N'c:\Cert_110.cer';
GRANT CONNECT ON ENDPOINT::EP_111_Mirr TO Login_For_110;
GO
8. 鏡像機(jī)上執(zhí)行:??????ALTER DATABASE people SET PARTNER =N'TCP://192.168.1.3:5022';
9. 主機(jī)上執(zhí)行:ALTER DATABASE [people] SET PARTNER=N'TCP://192.168.1.110:5022';
ALTER DATABASE [people] SET WITNESS=N'TCP://192.168.1.111:5022';
10. 完成以上步驟,正常情況,people數(shù)據(jù)庫鏡像就建立起來了。將會(huì)看到:主機(jī):
鏡像機(jī):
然后在主機(jī)上簡單地查詢一下見證機(jī)的狀態(tài):我這里的見證機(jī)因?yàn)楹髞碇匦掠肎UI配置過,所以顯示為計(jì)算機(jī)名。
SELECT 'people' AS [DB_Name],mirroring_role_desc,
mirroring_partner_name,mirroring_witness_name,mirroring_witness_state_desc
FROM sys.database_mirroring
WHERE database_id=DB_ID(N'people')
總結(jié):
?
轉(zhuǎn)載于:https://www.cnblogs.com/Joe-T/archive/2012/04/06/2434350.html
總結(jié)
以上是生活随笔為你收集整理的工作组模式下SQL Server 2008 R2 数据库镜像的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 1874 畅通工程续
- 下一篇: 周期获取Linux系统内存