SQL Server 中的“截斷登錄檢查點”選項
說來話長,但我們的長期顧問(前僱員)在幾年前(2006 年左右)編寫了一個自定義腳本來與 Tivoli Storage Manager 互動,它似乎正在檢查名為
truncate log on checkpoint
. 他們聲稱它會阻止腳本在 SQL 2012 實例上執行和執行備份。我覺得這完全是廢話,因為我找不到任何此類選項,
sp_configure
並且備份在任何地方都可以使用,但只有一個實例。但是,如果是這樣的話,我想移除地雷,並移除其他過時的元素。我確實讓他們與供應商核實,但我對他們所說的任何事情都沒有高度的信心。我所做的研究只返回了它可能是 SQL 2000 或 Sybase 選項的一個選項。另一種說法是,當恢復模型是
SIMPLE
並且沒有明確的選項來打開或關閉它時,它在更高版本(2008 及更高版本)上被隱式呼叫/使用。由於
TRUNCATE LOG
這些天由於事務日誌的工作方式,該命令已過時,我認為這不是一個甚至可以在這一點上查詢的選項。由於我沒有任何 SQL Server 2000 實例,因此我希望有人能回憶起這一點,或者可以在他們放置的一個實例上對其進行檢查。我已經告訴他們,我沒有什麼可以推薦的。我也希望有人可以確認這是過時的。
您仍然可以看到(至少在 SQL Server 2008R2 中)
trunc. log on chkpt.
使用sp_dboption
,並且您也可以設置數據庫選項在 SQL Server 2012 及更高版本中,您將收到一個很好的錯誤
消息 2812,級別 16,狀態 62,第 1 行找不到儲存過程“sp_dboption”。
它在那裡只是為了向後兼容。在 SQL Server 2000 及更高版本中,SQL Server 有一個恢復模型的概念,它定義瞭如何執行日誌截斷,例如在簡單恢復中 - 只有檢查點會截斷日誌,而在完全恢復模式中 - 只有日誌備份會截斷日誌.
如果您想了解有關事務日誌管理的更多資訊,請參閱事務日誌管理的階梯
作為旁注,即使在較新版本的 Sybase 15.7 中,SybaseASE 也具有此選項(事實上,它具有重複項
trunc log on chkpt
,而trunc. log on chkpt.
後者是 SQL Server 通過 SQL Server 2008R2 在 SQL 7.0 中獲得的選項 - 在 sp_dboption 中看到):