SQL Server中的“在检查点上截断日志”选项


11

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

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

我所做的研究只返回了SQL 2000或Sybase选项。另一个说法是,当恢复模型使用SIMPLE并且没有明确的选项打开或关闭它时,它在更高版本(2008及更高版本)中被隐式调用/使用。

由于该TRUNCATE LOG命令由于这些天的事务日志的工作方式已过时,因此我认为这不是一个可以查询的选项。

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

Answers:


9

你仍然可以看到(ATLEAST在SQL Server 2008 R2)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中可见):

在此处输入图片说明

在此处输入图片说明


就像我想的那样。我在2012年没有看到sp_dboption,所以我假设它已被删除。我在2008年确实找到了SP,实际上,该选项已在2008年推出。我很高兴地告诉您,它无法更改。即使它不是过时的,我也不想更改它。感谢您的确认,并很好地解释了这些概念。
user3885315 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.