三級數據庫:實戰SQLServer2005鏡像配置全過程

三級數據庫:實戰SQLServer2005鏡像配置全過程 #
SQL Server 2005鏡像配置基本概念
我理解的SQL Server 2005鏡像配置實際上就是由三個服務器(也可以是同一服務器的三個 SQL 實例)組成的一個保證數據的環境,分別是:主服務器、從服務器、見證服務器。
主服務器:數據存放的地方
從服務器:數據備份的地方(即:主服務器的鏡像)
見證服務器:動態調配主/從服務器的第三方服務器
環境介紹
首先介紹一下配置的環境:
本次配置使用的是三個獨立的服務器(A、B、C三臺電腦)。
A:主服務器,IP:192.168.0.2
B:從服務器,IP:192.168.0.3
C:見證服務器,IP:192.168.0.4
三臺電腦系同一局域網內,系統均是Windows Server 2003,數據庫是SQL Server 2005
開始SQL Server 2005鏡像配置
一、在A、B、C中新配置一個用戶(DBUser),該用戶要具有 SQL Server 的所有使用權限,我這里是將該用戶添加到Administrators組。
二、在A、B、C中執行以下SQL語句:
在A、B、C中創建對象
1USE master
2GO
3
4CREATE ENDPOINT Endpoint_Mirroring #
5 STATE = STARTED
6 AS TCP (
7 LISTENER_PORT = 5022 -- 監聽端口,任意指定(三個服務器的端口最好是一致)
8 , LISTENER_IP = ALL -- 監聽IP地址,網內所有地址
9 )
10 FOR DATABASE_MIRRORING (
11 AUTHENTICATION = WINDOWS -- 認證方式,Windows
12 , ROLE = ALL -- 所有角色
13 );
14GO
三、再在A、B、C中執行以下SQL語句:
1GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [TestDBAdministrators];
四、在A中新建數據庫(TestDB),然后先備份該數據庫得到BAK文件(TestDB.bak),再備份該數據庫的事務日志得到TRN文件(TestDB.trn),將此BAK和TRN文件發送到B中去,由B還原,在使用企業管理器還原的時候,在“選項”里面的“恢復狀態”中選擇第二項,即:不對數據庫執行任何操作,不會滾未提交的事務,可以還原其它事務日志(A)。(RESTORE WITH NORECOVERY)。 #
五、在A、B中執行以下SQL語句:
添加各個服務器到環境中來
1-- A服務器(主服務器)中執行:
2ALTER DATABASE TestDB SET PARTNER = N'TCP://192.168.0.3:5022'; -- 將從服務器添加到環境中來
3ALTER DATABASE TestDB SET WITNESS = N'TCP://192.168.0.4:5022'; -- 將見證服務器添加到環境中來
4
5-- B服務器(從服務器)中執行:
6ALTER DATABASE TestDB SET PARTNER = 'TCP://192.168.0.2:5022'; -- 將從服務器連接到主服務器 #