SQL Server 2005高可用行之日誌傳送(Log Shipping)

hky87發表於2010-08-23
SQL Server為維持可用性主要採取的途經有:
伺服器叢集:利用Windows Sever 2003的叢集功能,使用特定硬體實現,擁有  最高的可用性,但實現價格較高;
資料庫映象:使用標準硬體實現,可以自動進行故障轉移和恢復,成本適中;
日誌傳送:使用成本較低的標準硬體實現,不能實現故障自動轉移,需對故障恢復進行手工控制。SQL Server 2005 Enterprise/Standard/Workgroup Edition均支援日誌傳送。
本文記錄了日誌傳送設定的步驟。
      在同一域中的兩臺server上進行Transaction Log Shipping,即日誌傳送或日誌轉移。日誌傳送一般由主伺服器、輔助伺服器、監視伺服器組成。主伺服器一般儲存生產資料庫的伺服器,輔助伺服器用來儲存主伺服器上生產資料庫的副本,監視伺服器用來記錄日誌傳送的所有細節伺服器,監視伺服器是可選的。日誌傳送將主伺服器的生產資料庫的事務日誌複製到輔助伺服器並在輔助伺服器還原,從而實現主伺服器生產資料庫和輔助伺服器資料庫副本資料的一致。

Step by step
1.在主伺服器(primary server)和輔助伺服器(secondary server)上建立一個有相同帳戶名稱和密碼的新帳戶SyncAccount;

2.確認在這兩臺server間可以進行檔案共享;

3.在兩臺server上各建一個名為tranlogs的資料夾(如: D:\tranlogs),開啟兩個SyncAccount帳戶對此資料夾的共享訪問許可權,包括讀寫許可權;

4.測試帳戶SyncAccount能否訪問共享資料夾。在primary server的cmd命令列中輸入:XXXXX>runas /user:SyncAccount cmd
              C:\WINDOWS\system32>xcopy \\secondaryserver\tranlogs D:\tranlogs  測試Secondary server的SyncAccount帳戶方式一致

5.(該步驟不一定需要設定)將使用者SyncAccount新增到SQLServer Agent group “SqlServer2005SqlAgentUser...”

6.右鍵點選我的電腦->管理->服務,在服務中找到SQL Server和SQL Server Agent,設定這兩個服務的登入者為SyncAccount

7.在Secondary server上設定允許遠端連線並開啟埠1433

8.正式進入log shipping的設定了。在primary DB在特定資料庫右鍵選擇任務->事務日誌傳送,選中“將此資料庫啟用為日誌傳送配置中的主資料庫”

9.點選“備份設定”按鈕進行備份路徑及備份計劃的設定。路徑包含主機的網路路徑及本地路徑,如:\\primaryServerIP\tranlogs和D:\tranlogs,備份頻率根據實際情況定

10.在輔助服務區域單擊“新增”以新增輔助伺服器,點選“連線”選擇輔助伺服器。在“初始化輔助伺服器”選項卡中設定還原選項(D:\tranlogs)

11.設定複製選項,單擊“複製檔案”選項卡,設定複製作業在輔助伺服器上的目標資料夾,D:\tranlogs

12.單擊“還原事務日誌”選項卡設定還原選項,有兩種還原模式:無恢復模式,這種模式下輔助資料庫一致處於還原狀態,不能訪問。第二種是備用模式,這種模式下使用者可以只讀方式訪問資料庫。選擇備用模式。

在整個試驗過程中遇到了兩個錯誤:
1.錯誤資訊“指定的@server_name(SQLServerName)並不存在”
  兩臺server上執行select @@servername發現兩臺server上的servername是一樣的,於是做了以下修改:
   刪除服務sp_dropserver 'SQLServerName',NULL;
   新增服務sp_addserver 'SQLServerName2',LOCAL,NULL;(我加上LOCAL選  項的話錯誤依然出現,去掉LOCAL就好了),重啟服務

2.錯誤資訊”無法開啟備份裝置......(cannot open backup device)“,這個錯誤折磨我了很久,後來修改了SQL Server服務的登入者也為SyncAccount,錯誤就沒有了


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10314474/viewspace-671635/,如需轉載,請註明出處,否則將追究法律責任。

相關文章