SQL Server 2005高可用行之日誌傳送(Log Shipping)
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,錯誤就沒有了
伺服器叢集:利用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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server實現Standby --日誌傳送(Log Shipping)SQLServer
- SQL server資料庫高可用日誌傳送的方法SQLServer資料庫
- 日誌傳送,SQL Server高可用性的重要舉措SQLServer
- SQL Server 日誌傳送配置SQLServer
- How to Perform SQL Server Log ShippingORMSQLServer
- SQL Server 2005和Oracle高可用性對比SQLServerOracle
- 啟用日誌傳送 (SQL Server Management Studio)SQLServer
- 認識SQL Server2000 Log Shipping 【zt】SQLServer
- sqlserver關於日誌傳輸log shipping的總結SQLServer
- SQL SERVER——高可用技術概述SQLServer
- Sql Server 2005 日誌壓縮SQLServer
- SQL SERVER 2005 日誌收縮SQLServer
- 利用SQL Server 2005資料庫郵件傳送電子郵件SQLServer資料庫
- 清除 SQL SERVER 2005 事務日誌SQLServer
- SQL Server ErrorLog 錯誤日誌SQLServerError
- 啟用日誌傳送 (Transact-SQL)SQL
- 微軟之日 --- SQL Server 2008微軟SQLServer
- SQL Server 事務日誌傳輸SQLServer
- SQL Server 2005 日誌刪除和日誌檔案限制SQLServer
- SQL Server中的高可用性概覽SQLServer
- ORACLE LOGFILE 和 SQL SERVER 2005 事務日誌管理和恢復的比較OracleSQLServer
- kafka原始碼剖析(三)之日誌管理-LogManagerKafka原始碼
- 修改SQL Server 2005執行環境SQLServer
- SQL Server誤區 一個例項多個映象和日誌傳送延遲SQLServer
- 日誌分析平臺ELK之日誌收集器logstash
- 雲中SQL Server高可用性最佳實踐SQLServer
- SQL Server 非sysadmin賬號傳送郵件SQLServer
- SQL server 2005 expressSQLServerExpress
- 【TUNE_ORACLE】等待事件之日誌等待“log file sync”Oracle事件
- SQL Server 2005無日誌檔案附加資料庫SQLServer資料庫
- 日誌傳送部署
- [AlwaysOn] 建立SQL Server AlwaysOn高可用性組T-SQL語法SQLServer
- SQL Server 2005資料頁讀取--高階掃描SQLServer
- 複製或傳送SQL Server資料庫(ADP)SQLServer資料庫
- SQL Server 2005資料庫日誌丟失的恢復SQLServer資料庫
- SQL Server 2005日誌檔案損壞的處理方法SQLServer
- 查詢SQL Server 2005資料庫重做日誌的資訊SQLServer資料庫
- 【TUNE_ORACLE】等待事件之日誌等待“log file parallel write”Oracle事件Parallel