Sql-Server

SQL Server 中的“截斷登錄檢查點”選項

  • September 24, 2015

說來話長,但我們的長期顧問(前僱員)在幾年前(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 中看到):

在此處輸入圖像描述

在此處輸入圖像描述

引用自:https://dba.stackexchange.com/questions/116068