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資料庫高可用日誌傳送的方法SQLServer資料庫
- sqlserver關於日誌傳輸log shipping的總結SQLServer
- SQL SERVER——高可用技術概述SQLServer
- sql server 2005資料庫快照SQLServer資料庫
- 已安裝 SQL Server 2005 Express 工具。若要繼續,請刪除 SQL Server 2005 Express 工具SQLServerExpress
- SQL Server 2012新功能巡禮:高可用AlwaysOnZOSQLServer
- SQL Server中的高可用性概覽SQLServer
- SQL Server 2005效能調整一(zt)SQLServer
- SQL Server 2005效能調整二(zt)SQLServer
- SQL Server 非sysadmin賬號傳送郵件SQLServer
- SQL Server誤區 一個例項多個映象和日誌傳送延遲SQLServer
- 跟我一起學.NetCore之日誌(Log)模型核心NetCore模型
- 【TUNE_ORACLE】等待事件之日誌等待“log file sync”Oracle事件
- 雲中SQL Server高可用性最佳實踐SQLServer
- SQL Server 2000/2005/2008刪除或壓縮資料庫日誌的方法SQLServer資料庫
- 【TUNE_ORACLE】等待事件之日誌等待“log file parallel write”Oracle事件Parallel
- [AlwaysOn] 建立SQL Server AlwaysOn高可用性組T-SQL語法SQLServer
- sql server 2005 資料修改的內部原理SQLServer
- SQL2005、2008、2000 清空刪除日誌SQL
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:例項SQLServer
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:REPLICA ON子句SQLServer
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:LISTENER子句SQLServer
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:DATABASE子句SQLServerDatabase
- SQL Server 2005詳細安裝過程及配置SQLServer
- 如何建立和還原SQL Server 2005資料庫?SQLServer資料庫
- SQL Server2005使用CTE實現遞迴QCSQLServer遞迴
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:安全性SQLServer
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:AVAILABILITY GROUP ON子句SQLServerAI
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:BASIC引數SQLServer
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:DISTRIBUTED引數SQLServer
- 聊聊PowerJob Server的高可用Server
- SQL Server 收縮日誌SQLServer
- Linux之日誌管理Linux
- 乾貨 | 京東雲資料庫RDS SQL Server高可用概述資料庫SQLServer
- 維護SQL Server虛擬機器的高可用性NJSQLServer虛擬機
- SQL Server 2005的複製儲存過程選項BYSQLServer儲存過程
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:ENDPOINT_URL子句SQLServer
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:SECONDARY_ROLE子句SQLServer
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:PRIMARY_ROLE子句SQLServer