1. 程式人生 > >SQL Server 2008 R2 主從資料庫同步

SQL Server 2008 R2 主從資料庫同步

一、準備工作:

主資料庫伺服器:

OS:Windows Server 2008 R2    DB: SQL Server 2008 R2

Hostname : CXMasterDB 

IP: 192.168.1.224/24    dg: 192.168.1.1

DNS: 192.168.1.19    DNS: 202.96.209.133

從資料庫伺服器:

OS:Windows Server 2008 R2    DB: SQL Server 2008 R2

Hostname : CXSlaveDB 

IP: 192.168.1.225/24    dg: 192.168.1.1

DNS: 192.168.1.19    DNS: 202.96.209.133

//主資料庫Northwind,如下圖所示:

image

//從CXSlaveDB中,沒有資料庫Northwind,如下圖所示:

image

二、建立SQL  Server資料庫的管理員使用者和共享資料夾許可權,設定SQL Server服務SQL Server代理的登入使用者為sqladmin

1. 在主資料庫CXMasterDB伺服器上建立使用者sqladmin,如下圖所示:

win + R ---> lusrmgr.msc回車,如下圖所示:

image

//設定sqladmin的許可權

image

2. 同理,在從資料庫CXSlaveDB伺服器上建立使用者sqladmin且加入administrators組,其他都刪除之!

3. 分別在主從資料庫伺服器上建立用於存放主從備份日誌檔案的共享資料夾DB_Backpup且共享許可權和NTFS許可權,如如下圖所示:

image

image

4. 分別從主資料庫伺服器上和從資料庫伺服器上開啟SQLServer配置管理器,將SQLServer服務和SQLServer代理服務的“登入身份為”sqladmin使用者且啟動模式為:自動,如下圖所示:

image

image

三、配置SQLServer日誌傳送

1. 在主資料庫伺服器CXMasterDB上配置

//用sqladmin連線到本地SQL  Server資料庫伺服器

image

//在資料庫例項中,配置 伺服器身份驗證模式  和 伺服器代理帳戶

image

2. 在主資料庫伺服器CXMasterDB中的Northwind資料庫的屬性的配置

image

//在Northwind資料庫的屬性 --> 選項 的配置

image

//在Northwind資料庫的屬性 --> 事務日誌傳送 的配置

image

//事務日誌備份設定,如下圖所示:

image

//在上圖中,點選 計劃…  後,彈出如下圖所示:

image

一路 確定 !見到下圖為止!

//新增 輔助資料庫例項和資料庫

image

//連線到 輔助伺服器例項和輔助資料庫

image

//輔助資料庫設定--->初始化輔助資料庫

image

注:

    下面檢視看,輔助伺服器CXSlaveDB中資料庫的 資料檔案和日誌檔案 的資料夾的路徑

image

//輔助資料庫設定--->複製檔案

image

//在上圖中 擊點  計劃(E) … 則彈出如下圖所示,設定從資料庫還原日誌的計劃任務:

image

//輔助資料庫設定--->還原事務日誌

image

//在上圖中 擊點  計劃(E) … 則彈出如下圖所示,設定從資料庫還原日誌的計劃任務:

image

//將配置資訊匯出到檔案

image

//在下圖中點選  確定 後,一目瞭然了!

image

三、驗證SQL  Server 2008 R2主從資料庫是否同步

1. 我們去從伺服器CXSlaveDB看看是否有Northwind資料庫,由下圖所示,可見成功了!

image

2. 現在我們去主資料庫伺服器CXMasterDB中Northwind資料庫新增如下圖所示的表:

//建立名為 僱員通訊錄

image

//重新整理下,就可見到 dbo.僱員通訊錄 ,如下圖所示:

image

3. 現在我們去從資料庫伺服器CXSlaveDB的Northwind資料庫是否有表dbo.僱員通訊錄,如下圖所示:

image

思考:

     下面我們到主資料庫伺服器CXMasterDB的Northwind資料庫中,刪除表dbo.僱員通訊錄

看看從資料庫CXSlaveDB的Northwind資料庫中的表dbo.僱員通訊錄,是否也被刪除了?

附:

1. 如何刪除Northwind(備用 / 只讀)資料庫

image

//在資料庫屬性 –-> 選項 ---> 狀態 --->資料庫為只讀 修改為 False即可!能刪除嗎???

image