sqlreplication
發布時間: 2023-02-07 10:33:00
『壹』 資料庫事務jeeps日誌已滿,原因為replication
sqlServer中開啟CDC之後,在某些情況下會導致事務日誌空間被占滿的現象為:
在執行增刪改語句(產生事務日誌)的過程中提示,The transaction log for database '***' is full e to 'REPLICATION'(資料庫「***」的事務日誌已滿,原因為「REPLICATION」).
CDC以及復制的基本原理粗略地講,對於日誌的使用步驟如下:
1,每當基礎表(開啟了CDC或者replication的表)產生事務性操作(增刪改)之後,對應的事務日誌寫入日誌文件,
2,此時的日誌被狀態被標記為Replication,也即處於待復制狀態,這個活動狀態跟資料庫的還原模式無關,即便是簡單還原模式,
3,然後有後台進程來讀取這個日誌,根據事務日誌的內存寫入目標表,
這個目標對於cdc來說是記錄數據變化的系統表,
對於replication來說是寫入distribution這個庫
4,步驟3完成之後,事務日誌被標記為正常狀態,如果是簡單還原模式,被後台進程解析過的事務日誌被截斷,可以重用
如果上述中間的第三個步驟出現問題,也即後台進程無法解析日誌後釋放可用的日誌空間,再次往資料庫中寫入操作,就會出現:資料庫「TestDB」的事務日誌已滿,原因為「REPLICATION」的情況
『貳』 sqlserver2008 Replication 如何不控制訂閱許可權讓訂閱庫只讀不能寫
這個和Replication沒關系,你想只讀不寫,那
你建一
個用戶,只有讀的許可權就行了。以後就用這個賬號訪問資料庫
熱點內容