SQL Server 2005/2008複製可恢復被中斷的快照傳遞
背景
在很多情況下,客戶可能會有一個很大的資料庫被髮布,建立這個大資料庫的快照通常會是比較困難的。而且,即使被髮布資料庫的大小在可管理範圍之內,網路的速度和可靠性也可能會使問題變得複雜。
從SQL Server 2005之後,快照傳遞可以從之前的中斷恢復了。這對於前面我們描述的那種情況來說,是一個很大的改進。
SQL Server 2005/2008中新的系統表MSsnapshotdeliverprogess,就是用來跟蹤快照傳遞過程的。該表居於訂閱資料庫,包含了關於哪些快照檔案被應用到訂閱方的必要細節資訊。對於每個成功傳遞到訂閱方的快照檔案,都會通過合併或分發代理向該表中新增一行。(關於MSsnapshotdeliverprogress表的說明,請查閱:http://msdn.microsoft.com/en-us/library/ms187398.aspx)
工作機制
當中斷的快照傳遞被重新啟動時,複製(分發/合併)代理會像往常一樣,在所有需要應用到訂閱方的快照檔案中迭代;但是有了該恢復機制之後,分發/合併代理將會檢查Mssnapshotdeliveryprogress表,檢視是否有快照檔案已經被中斷之前的快照分發轉遞到了訂閱方。如果Mssnapshotdeliveryprogress上記錄表明某個檔案已經被之前中斷的快照分發應用了,分發/合併代理將會跳過這個檔案。
表結構(參照聯機叢書)
名稱 |
資料型別 |
描述 |
session_token |
nvarchar(260) |
標識從中成功傳遞檔案的快照資料夾的路徑。 對於使用引數化篩選器的釋出,將在此值後追加字串 dynsnap。 |
progress_token_hash |
int |
根據 progress_token 的值生成的雜湊值,用於提高給定progress_token 值的查詢效率。 |
progress_token |
nvarchar(500) |
標識已成功傳遞的檔案,其值為檔名和路徑的組合。 |
progress_timestamp |
datetime |
datetime 值,指示成功傳遞快照檔案的時間。 |
什麼是不可恢復的?
以下快照檔案是不可恢復的:
- 索引建立(.idx)檔案
- 宣告引用完整性(.dri)檔案——僅在合併複製下
- 應用到只使用DTS訂閱方的.bcp檔案
- 任何使用者自定義的指令碼
如何復位MSsnapshotdeliveryprogress表
在需要重啟整個快照過程時,就有復位Mssnapshotdeliveryprogress表的需要了。
我們可以執行訂閱資料庫上的sp_resetsnapshotdeliveryprogress儲存過程來移除Mssnapshotdeliveryprogress表中所有的行來重置快照傳遞 (僅適用於請求訂閱模式)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25175503/viewspace-704951/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL SERVER 2005中的同步複製技術SQLServer
- 複製的SQL Server 7資料庫的恢復方法 (轉)SQLServer資料庫
- SQL server 2005 備份恢復模式SQLServer模式
- SQL Server 2008指定恢復模式SQLServer模式
- SQL Server 2008恢復模式概述SQLServer模式
- SQL Server 2008 新增功能 -- 複製SQLServer
- sql server 2005資料庫快照SQLServer資料庫
- SQL Server 2008快照備份SQLServer
- SQL Server 2005 Beta 2 快照隔離SQLServer
- SQL SERVER 2008傳遞表值引數SQLServer
- SQL Server 2008:傳遞表值引數SQLServer
- SQL Server 2008 的恢復和備份模式SQLServer模式
- SQL Server 2008還原與恢復概述SQLServer
- 控制檔案恢復—從快照中恢復
- SQL Server 2005的複製儲存過程選項BYSQLServer儲存過程
- SQL Server 2008實現對等複製的方法SQLServer
- SQL Server 2008 完整恢復模式下備份SQLServer模式
- SQL Server 2005資料庫日誌丟失的恢復SQLServer資料庫
- SQL Server 2008配置拓撲(對等複製)SQLServer
- SQL Server 2008配置對等事務複製SQLServer
- sql server 2005 有自增長的表複製情況SQLServer
- SQL Server 2008系統資料庫的恢復模式SQLServer資料庫模式
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- SQL Server 2008選擇資料庫恢復模式SQLServer資料庫模式
- SQL Server 2008為索引操作選擇恢復模式SQLServer索引模式
- SQL Server 2008資料庫恢復模式詳解SQLServer資料庫模式
- 淺談SQL Server中的快照問題SQLServer
- SQL Server複製的表中如何修改欄位SQLServer
- 使用SQL SERVER 2005/2008 遞迴CTE查詢樹型結構SQLServer遞迴
- SQL2005/2008中的CTE應用--遞迴查詢SQL遞迴
- 關於SQL Server2005/2008中架構的理解SQLServer架構
- SQL Server災難恢復SQLServer
- 伺服器SQL server資料庫被加密恢復方案伺服器SQLServer資料庫加密
- SQL Server 複製訂閱SQLServer
- SQL Server 複製故障排除SQLServer
- 複製或傳送SQL Server資料庫(ADP)SQLServer資料庫
- SQL Server 2005中修改 Server Collation的方法SQLServer
- MySQL GTID複製中斷修復過程MySql