实现SQL_SERVER的双机实时备份
轉自:http://topic.csdn.net/t/20040430/11/3024328.html
如何建立、維護以及聯機備用服務器(Transact-SQL)
備用服務器的建立通常包括在主服務器上創建數據庫備份和定期事務日志備份,然后按照順序將這些備份應用到備用服務器。在還原操作之間,備用服務器保持只讀狀態。當需要使用備用服務器時,任何未完成的事務日志備份,包括來自主服務器的活動事務日志備份都將應用到備用服務器中,同時還要恢復數據庫。
在主服務器上創建備份
執行BACKUPDATABASE語句以創建數據庫備份。
執行BACKUPLOG語句以創建事務日志備份。
為每個希望隨著時間的變化而創建的事務日志重復步驟2。
建立和維護備用服務器
執行使用STANDBY子句的RESTOREDATABASE語句以便還原步驟1中在主服務器上創建的數據庫備份。在回滾未提交事務影響的數據頁之前,指定包含這些數據頁內容的撤消文件名稱。
執行使用STANDBY子句的RESTORELOG語句以便應用步驟2中在主服務器上創建的每個事務日志。
為每個在主服務器上創建的事務日志重復步驟2。
使備用服務器聯機(主服務器發生故障)
執行使用NO_TRUNCATE子句的BACKUPLOG語句以備份當前活動的事務日志。當備用服務器聯機時,這是將應用到備用服務器的最新事務日志備份。有關更多信息,請參閱如何創建當前活動事務日志的備份。
執行使用STANDBY子句的RESTORELOG語句以便應用所有事務日志備份,包括步驟1中創建的仍未應用到備用服務器的活動事務日志備份。
執行RESTOREDATABASEWITHRECOVERY語句以恢復數據庫并使備用服務器聯機。
示例
下例在備用服務器上安裝MyNwind數據庫。在還原操作之間,可以只讀模式使用數據庫。
--Restoretheinitialdatabasebackuponthestandbyserver.
USEmaster
GO
RESTOREDATABASEMyNwind
FROMMyNwind_1
WITHSTANDBY='c:\undo.ldf'
GO
--Applythefirsttransactionlogbackup.
RESTORELOGMyNwind
FROMMyNwind_log1
WITHSTANDBY='c:\undo.ldf'
GO
--Applythenexttransactionlogbackup.
RESTORELOGMyNwind
FROMMyNwind_log2
WITHSTANDBY='c:\undo.ldf'
GO
--Repeatforeachtransactionlogbackupcreatedonthe
--primaryserver.
--
--Timeelapses......
--
--Theprimaryserverhasfailed.Backupthe
--activetransactionlogontheprimaryserver.
BACKUPLOGMyNwind
TOMyNwind_log3
WITHNO_TRUNCATE
GO
--Applythefinal(active)transactionlogbackup
--tothestandbyserver.Allprecedingtransaction
--logbackupsmusthavebeenalreadyapplied.
RESTORELOGMyNwind
FROMMyNwind_log3
WITHSTANDBY='c:\undo.ldf'
GO
--Recoverthedatabaseonthestandbyserver,
--makingitavailablefornormaloperations.
RESTOREDATABASEMyNwind
WITHRECOVERY
GO
請參
或者用:日志傳送
在Microsoft®SQLServer™2000企業版中,可以使用日志傳送不間斷地將事務日志從一個數據庫提供給另一個。不間斷地從源數據庫中備份事務日志,然后將它們復制并還原到目的數據庫,使目的數據庫與源數據庫保持同步。這使您得以有一臺備用服務器,為將查詢處理從主計算機(源服務器)卸載到只讀目的服務器上提供了一條途徑。日志傳送使用的所有服務器上都必須安裝SQLServer2000企業版。
使用數據庫維護計劃向導配置日志傳送
若要很容易地配置日志傳送,請使用數據庫維護計劃向導。利用此向導您將可以:
定義日志生成頻率、備份與還原操作之間的時間以及什么時候目的服務器與源服務器異步。
注冊任何新的服務器。
在所有目的服務器上創建源數據庫。在通過數據庫維護計劃向導添加目的數據庫時,可以選擇在目的服務器上創建數據庫或使用現有數據庫。在為日志傳送配置數據庫之前,任何現有數據庫必須為備用模式。
指定哪臺目的服務器可以采用源服務器角色。
設置還原延遲。還原延遲定義還原事務日志前必須等待的時間。如果源服務器出現故障,該延遲將為損壞的日志被還原到目的服務器上之前提供額外時間。
創建調度來設置備份調度。
在使用數據庫維護計劃向導之前,需要考慮下列事項:
配置日志傳送的用戶必須是sysadmin服務器角色成員,以便有權修改要進行日志傳送的數據庫。
一次只能在一個數據庫上配置日志傳送。如果選擇的數據庫不止一個,向導上的日志傳送選項將禁用。
用于啟動MSSQLServer和SQLServerAgent服務的登錄必須能夠訪問日志傳送計劃作業、源服務器和目的服務器。
當使用數據庫維護計劃向導配置日志傳送時,只能將日志傳送到磁盤。備份到磁帶選項不可用。
手工配置日志傳送
如果在運行SQLServer7.0ServicePack2(SP2)的計算機上啟用掛起升級選項,則SQLServer2000支持從SP2事務日志手工傳送日志。
若要啟用此選項,請執行下列代碼:
EXECsp_dboption'databasename','pendingupgrade','true'
但是,當在傳送日志后還原數據庫時,只能使用NORECOVERY選項恢復數據庫。
說明在運行SP2的計算機和運行SQLServer2000實例的計算機之間手工配置日志傳送時,不能使用SQLServer復制。
有關更多信息,請參見SP2文檔。
配置日志傳送
企業管理器
如何配置日志傳送(企業管理器)
新增信息-SQLServer2000SP3。
使用數據庫維護計劃向導配置日志傳送
說明在配置日志傳送之前,必須在主數據庫上創建一個共享以使事務日志可用。這是從事務日志轉儲目錄創建的共享。例如,如果將日志轉儲到目錄e:\data\tlogs\,則可以從該目錄創建\\logshipping\tlogs共享。
在"選擇數據庫"屏幕上,選擇"如下數據庫"復選框,然后選擇要進行日志傳送的數據庫。
如果選擇了多個數據庫,則不會執行日志傳送,日志傳送選項也不可用。不允許選擇已配置了日志傳送的數據庫。
選擇"將事務日志傳送到其它的SQLServer(日志傳送)"復選框。
繼續執行向導,指定其余的數據庫維護選項,直到到達"指定日志傳送目的"屏幕。
單擊"添加"按鈕添加目的數據庫。
要使該選項可用,必須已經在向導的前面步驟中選擇了使用日志傳送。
在"添加目的數據庫"屏幕中,選擇一個服務器名。
該服務器必須已經注冊,而且正在運行Microsoft®SQLServer™2000企業版,這樣才能顯示在下拉列表中。如果要使該目的成為可用的源數據庫,必須選擇“允許數據庫采用主角色”復選框。如果該復選框未被選中,則該目的數據庫將來就無法采用源數據庫角色。如果已選定“允許數據庫采用主角色”復選框,還必須在日志將要備份到的目的數據庫中指定"事務日志備份目錄"。
若要從默認位置更改事務日志目的數據庫,請在"目錄"框中輸入一個位置。
如果源數據庫不在目的數據庫上,則選擇"創建新數據庫"復選框。
"數據庫名稱"框將默認為源數據庫名。如果想要在目的服務器上用另一個數據庫名,則指定一個新名稱。如果已經選擇了允許該目的數據庫承擔源角色,就無法從默認值改變該數據庫的名稱。
如果已經選擇了"創建新數據庫"復選框,則還必須在"用于數據"和"用于日志"框中指定目的數據庫上數據和日志的文件目錄。
如果源數據庫已經存在于目的數據庫上,則選擇"使用現有數據庫"復選框。如果目的服務器上的數據庫名不同,則在"數據庫名稱"框中輸入該名。該數據庫必須是使用WITHSTANDBY選項還原過的,以便正確接受日志。
在"初始化目的數據庫"屏幕上,執行下列操作之一:
單擊"立即提取完全數據庫備份"。
–或-
單擊"使用最新備份文件"以初始化目的數據庫。
在"日志傳送調度"屏幕上,查看默認的日志傳送調度。如果要改變調度,請單擊"更改"。
在"復制/裝載的頻率"框中,設置希望目的服務器從源服務器備份和還原事務日志的頻率(以分鐘計)。
在"裝載延遲"框中,設置希望目的數據庫從源服務器還原事務日志之前要等待的延遲(以分鐘計)。
該框的默認值為0分鐘,表示目的數據庫應立即還原所有事務日志備份。
在"文件保持期"框中指定事務日志在刪除之前應該存留的時間長度。
從"日志傳送閾值"對話框中,設置"備份警報閾值"。
這是距離源服務器上一次事務日志備份時間的最長期限。一旦時間超過此指定閾值,監視服務器將生成警報。
在"不同步警報閾值"框中,指定源服務器上最近一次事務日志備份與目的服務器最近一次事務日志還原之間的時間。
一旦時間超過此指定閾值,監視服務器將生成警報。
在"指定日志傳送監視器信息"屏幕中,鍵入將監視日志傳送的服務器名稱。
單擊"使用Windows身份驗證"或"使用SQLServer身份驗證"連接到監視服務器。log_shipping_monitor_probe登錄名是固定的,必須使用它連接到監視服務器。如果這是一個新帳戶,則選擇一個新密碼。如果該帳戶已經存在于監視服務器上,則必須指定現有的密碼。
安全說明如果可能,請使用Windows身份驗證。
說明使用數據庫維護向導設置日志傳送,只可以向磁盤傳送日志,而不能使用"備份到磁帶"選項。
總結
以上是生活随笔為你收集整理的实现SQL_SERVER的双机实时备份的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光信噪比 (OSNR) 的概念及其重要性
- 下一篇: php农历转公历怎么实现