SQL Server 事務日誌傳輸

pursuer.chen發表於2014-04-17

概述

       可以使用日誌傳送將事務日誌不間斷地從一個資料庫(主資料庫)傳送到另一個資料庫(輔助資料庫)。不間斷地備份主資料庫中的事務日誌,然後將它們複製並還原到輔助資料庫,這將使輔助資料庫與主資料庫基本保持同步。目標伺服器充當備份伺服器,並可以將查詢處理從主伺服器重新分配到一個或多個只讀的輔助伺服器。日誌傳送可與使用完整或大容量日誌恢復模式的資料庫一起使用;使用日誌傳送,您可以自動將“主伺服器”例項上“主資料庫”內的事務日誌備份傳送到單獨“輔助伺服器”例項上的一個或多個“輔助資料庫”。事務日誌備份分別應用於每個輔助資料庫。可選的第三個伺服器例項(稱為“監視伺服器”)記錄備份和還原操作的歷史記錄及狀態,還可以在無法按計劃執行這些操作時引發警報

操作組成

  1. 在主伺服器例項中備份事務日誌。
  2. 將事務日誌檔案複製到輔助伺服器例項。
  3. 在輔助伺服器例項中還原日誌備份。

主伺服器和資料庫

日誌傳送配置中的主伺服器是作為生產伺服器的 SQL Server 資料庫引擎例項。主資料庫是主伺服器上希望備份到其他伺服器的資料庫。通過 SQL Server Management Studio 進行的所有日誌傳送配置管理都是在主資料庫中執行的。

主資料庫必須使用完整恢復模式或大容量日誌恢復模式,將資料庫切換為簡單恢復模式會導致日誌傳送停止工作。

輔助伺服器和資料庫

日誌傳送配置中的輔助伺服器是您想要在其中保留主資料庫備用副本的伺服器。一臺輔助伺服器可以包含多臺不同主伺服器中資料庫的備份副本。例如,某個部門可能有五臺伺服器,每臺伺服器都執行關鍵資料庫系統。在這種情況下,可以只使用一臺輔助伺服器,而不必使用五臺單獨的輔助伺服器。五個主系統上的備份都可以載入到這個備份系統中,從而減少所需的資源數量並節省開支。不太可能出現多個主系統同時發生故障的情況。另外,為了應對多個主系統同時不可用的罕見情況,輔助伺服器的規格可以比各主伺服器高。

輔助資料庫必須通過還原主資料庫的完整備份的方法進行初始化。還原時可以使用 NORECOVERY 或 STANDBY 選項。這可以手動或通過 SQL Server Management Studio 實現。

監視伺服器

監視伺服器是可選的,它可以跟蹤日誌傳送的所有細節,包括:

    • 主資料庫中事務日誌最近一次備份的時間。
    • 輔助伺服器最近一次複製和還原備份檔案的時間。
    • 有關任何備份失敗警報的資訊。

監視伺服器應獨立於主伺服器和輔助伺服器,以避免由於主伺服器或輔助伺服器的丟失而丟失關鍵資訊和中斷監視。一臺監視伺服器可以監視多個日誌傳送配置。在這種情況下,使用該監視伺服器的所有日誌傳送配置將共享一個警報作業。

 

 步驟方法

 在配置資料庫之前首先要將主資料庫進行一個完整備份,然後在輔助伺服器上進行還原,還原指令碼如下,注意保持資料庫為正在還原狀態(norecovery)

RESTORE DATABASE [test] FROM  DISK = N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\test.bak' WITH  FILE = 1,  
MOVE N'test' TO N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\useData\test.mdf',  
MOVE N'test_log' TO N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\useData\test_1.ldf',  
NORECOVERY,  NOUNLOAD,  STATS = 10

 

1.配置主資料庫

選擇需要進行日誌傳輸的資料庫,滑鼠右鍵屬性-事務日誌傳輸-勾選"將此資料庫啟用為日誌傳輸配置中的主資料庫"

 

點選“備份設定”,此過程也就是建立一個主資料庫的備份計劃(LsBack_test123),在這裡之前你要在本機建立一個用於存放主資料庫的備份資料夾,同時你要將這個資料夾設共享,供輔助伺服器訪問,資料夾許可權設為everyone可讀寫,最後新增一個來賓組的讀取許可權,配置如下,同時你也可以對備份作業進行備份時間計劃,這個計劃具體根據備份需求

備份計劃

配置主資料庫要注意的地方主要就是共享資料夾的讀寫許可權問題。

2.配置輔助伺服器和資料庫

點選新增新增輔助資料庫

 

連線輔助伺服器(我這裡是做為測試連線的是本地伺服器,實際是需要連線輔助伺服器)

選擇複製檔案(該步驟會建立一個複製計劃“LSCopy_C-3A89048AF8DF4_test123”,將剛才主資料庫的日誌備份檔案複製到輔助伺服器中設定的資料夾中)

首先要在輔助伺服器(假如是:192.168.1.3)上建立一個共享資料夾,該資料夾許可權需要可以讀寫,可以設定為everyone可以讀寫許可權

該步驟計劃的計劃實際可以設定為最短時間也就是主資料庫備份完成立刻複製

還原事務日誌(該步驟會建立一個還原計劃“LSRestore_C-3A89048AF8DF4_test123”,將拷貝過來的日誌檔案在輔助伺服器上進行還原,同時可以選擇資料庫狀態是否截斷使用者連線)

同樣還原計劃時間可以間隔可以設定的比較短,可以第一時間還原備份

整個輔助伺服器就配置完成了,這樣同樣容易出現的問題就是輔助伺服器資料夾的共享問題,會出現拷貝不了的問題

3.監視伺服器配置

監視伺服器不是必須的選項也就是可以不進行配置,此過程就是建立一個監視作業(警報作業)“LSAlert_C-3A89048AF8DF4”

 

 總結

       事務日誌傳輸與跟複製訂閱相比:事務日誌傳輸操作更簡單而複製訂閱更具體;

       事務日誌傳輸與跟資料庫映象相比:事務日誌傳輸比資料庫映象的成本低,事務日誌傳輸也可以在單資料庫例項上進行,

  狀態圖:

 

備註:

    作者:pursuer.chen

    部落格:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結,否則保留追究責任的權利。

《歡迎交流討論》

相關文章