標籤

2015年9月11日 星期五

[建置]SQL Server 2014 憑證式資料庫鏡像安裝設定


SQL Server 2014  
憑證式資料庫鏡像
安裝 By Mike


1.環境要求

一台主機:HOSTA
一台備機:HOSTB
主機與備機互通。

2.準備工作

將主體資料庫更改為完整恢復模式
拷貝資料庫到鏡像主機並設為還原模式
在主機上設定主體庫使用完整恢复模式
ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL
在主機上完整備份主體庫
完整備份
BACKUP DATABASE AdventureWorks2012 TO DISK='C:\AdventureWorks2012.bak'
交易紀錄檔備份
BACKUP LOG AdventureWorks2012 TO DISK='C:\AdventureWorks2012log.bak'
將bak文件拷貝到備機上,在備機上恢复庫,使用NORECOVERY模式
恢复完整備份
RESTORE DATABASE AdventureWorks2012 FROM DISK='C:\AdventureWorks2012.bak' WITH NORECOVERY
恢复交易紀錄備份
RESTORE LOG AdventureWorks2012 FROM DISK='C:\AdventureWorks2012log.bak' WITH NORECOVERY

3.建立鏡像

3.1.創建憑證並備份

主機執行
USE master
加密
CREATE MASTER KEY ENCRYPTION BY PASSWORD='p@ssw0rd'
本機創建憑證
CREATE CERTIFICATE HOSTA_CERT WITH SUBJECT='HOSTA',START_DATE='01/01/2013',EXPIRY_DATE='01/01/2050'
備份到磁盤
BACKUP CERTIFICATE HOSTA_CERT TO FILE='C:\SQL\HOSTA_CERT.cer'
備機執行
USE master
加密
CREATE MASTER KEY ENCRYPTION BY PASSWORD='p@ssw0rd'
本機創建憑證
CREATE CERTIFICATE HOSTB_CERT WITH SUBJECT='HOSTB',START_DATE='01/01/2013',EXPIRY_DATE='01/01/2050'
備份到磁盤
BACKUP CERTIFICATE HOSTB_CERT TO FILE='C:\SQL\HOSTB_CERT.cer'

3.2.創建端點

主機執行
CREATE ENDPOINT EP                           自定義端點名EP
STATE=STARTED
AS TCP(LISTENER_PORT=5022, LISTENER_IP=ALL)使用5022端口
FOR
DATABASE_MIRRORING                           資料庫鏡像用
(
    AUTHENTICATION=CERTIFICATE HOSTA_CERT,    使用憑證HOSTA_CERT
    ENCRYPTION=REQUIRED ALGORITHM AES,
    ROLE=ALL
)
備機執行
CREATE ENDPOINT EP                           自定義端點名EP
STATE=STARTED
AS TCP(LISTENER_PORT=5022, LISTENER_IP=ALL)使用5022端口
FOR
DATABASE_MIRRORING                           資料庫鏡像用
(
    AUTHENTICATION=CERTIFICATE HOSTB_CERT,    使用憑證HOSTB_CERT
    ENCRYPTION=REQUIRED ALGORITHM AES,
    ROLE=ALL
)

3.3.互換憑證並創建登錄

主機拷貝備機的證書文件HOSTB_CERT.cer,然後執行
創建HOSTB用的登錄
CREATE LOGIN HOSTB_login WITH PASSWORD='p@ssw0rd'
創建HOSTB用的帳號
CREATE USER HOSTB_user FOR LOGIN HOSTB_login
在HOSTA上創建HOSTB的證書,使用拷貝過來的cer文件
CREATE CERTIFICATE HOSTB_CERT AUTHORIZATION HOSTB_user FROM FILE='C:\SQL\HOSTB_CERT.cer'
授予HOSTB連接到端點的權限
GRANT CONNECT ON ENDPOINT::EP TO HOSTB_login
備機拷貝主機的證書文件HOSTA.cer,然後執行
創建HOSTA用的登錄
CREATE LOGIN HOSTA_login WITH PASSWORD='p@ssw0rd'
創建HOSTA用的帳號
CREATE USER HOSTA_user FOR LOGIN HOSTA_login
在HOSTB上創建HOSTA的證書,使用拷貝過來的cer文件
CREATE CERTIFICATE HOSTA_CERT AUTHORIZATION HOSTA_user FROM FILE='C:\SQL\HOSTA_CERT.cer'
授予HOSTA連接到端點的權限
GRANT CONNECT ON ENDPOINT::EP TO HOSTA_login

3.4.建立鏡像關系

先在備機執行
設定主體服務器為 HOSTB
ALTER DATABASE AdventureWorks2012 SET PARTNER='TCP://10.10.8.95:5022' (範例IP)
然後主機執行
設定鏡像服務器為 HOSTA
ALTER DATABASE AdventureWorks2012 SET PARTNER='TCP://10.10.8.190:5022'(範例IP)
成功後主機上的AdventureWorks2012庫會顯示(主體,正在同步),備機上的AdventureWorks2012庫會顯示(鏡像,正在同步/正在還原)

4.驗證主備切換

如果需要主動進行主備互換,在主機上執行
ALTER DATABASE AdventureWorks2012 SET PARTNER FAILOVER
成功後主備互換,HOSTB成功主機,HOSTA成功備機。
如果主機無法工作,需要備機緊急启動,在備機執行
ALTER DATABASE AdventureWorks2012 SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
執行此命令前,備機上的AdventureWorks2012一定是顯示為
“(鏡像,已斷開連接)”。
成功後,AdventureWorks2012先顯示“正在恢复”,之後會變成
“(主體,已斷開連接)”。
如果此時主機恢复工作,主機上的AdventureWorks2012會顯示為“(鏡像,掛起/正在還原)”,備機上的AdventureWorks2012會顯示為“(主體,掛起)”。
此時如果需要恢复主機工作,需要在備機上執行
ALTER DATABASE AdventureWorks2012 SET PARTNER RESUME
ALTER DATABASE AdventureWorks2012 SET PARTNER FAILOVER
本文出自 “兔子窝” 博客,請務必保留此出處http://go.rritw.com/boytnt.blog.51cto.com/966121/1344385

沒有留言:

張貼留言