SQL Server 中的“截断登录检查点”选项

use*_*315 11 sql-server transaction sql-server-2012 checkpoint log

说来话长,但我们的长期顾问(前雇员)在几年前(2006 年左右)编写了一个自定义脚本来与 Tivoli Storage Manager 交互,它似乎正在检查名为truncate log on checkpoint. 他们声称它阻止脚本在 SQL 2012 实例上运行和执行备份。

我觉得这完全是废话,因为我找不到任何这样的选项,sp_configure而且备份在任何地方都可以工作,只有一个实例。但是,我想移除地雷,如果是这样的话,并移除其他过时的元素。我确实让他们与供应商核实,但我对他们所说的任何事情都没有高度的信心。

我所做的研究几乎没有得到更多的回报,它可能是 SQL 2000 或 Sybase 选项的一个选项。另一种说法是,当恢复模型是SIMPLE并且没有显式选项打开或关闭它时,它在更高版本(2008 及更高版本)上被隐式调用/使用。

由于TRUNCATE LOG如今事务日志的工作方式,该命令已过时,因此我认为此时甚至无法查询该选项。

由于我没有任何 SQL Server 2000 实例,我希望有人能回忆起这个,或者可以在他们周围的一个实例上检查它。我已经告诉他们,我没有什么可以推荐的。我也希望有人可以确认这已经过时了。

Kin*_*hah 9

您仍然可以看到(至少在 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 chkpttrunc. log on chkpt.而后者是 SQL Server 通过 SQL Server 2008R2 在 SQL 7.0 中获得的 - 在 sp_dboption 中看到):

在此处输入图片说明

在此处输入图片说明