我们正在运行 SQLServer 2005 SP1,出于某种奇怪的原因,我们的一个数据库事务日志自动将其自动增长更改为 12800%,这甚至不是一个有效数字。由于数字无效,我无法更改增长百分比。
我已经搜索了 Internet,看到很多其他人也遇到了这个问题,但没有明确的解决方案。
是什么导致了这种情况发生,我该如何解决?
我们正在运行 SQLServer 2005 SP1,出于某种奇怪的原因,我们的一个数据库事务日志自动将其自动增长更改为 12800%,这甚至不是一个有效数字。由于数字无效,我无法更改增长百分比。
我已经搜索了 Internet,看到很多其他人也遇到了这个问题,但没有明确的解决方案。
是什么导致了这种情况发生,我该如何解决?
我必须在 sql server 2000 环境中对我们的一个数据库进行数据库清理。清理基本上包括禁用所有触发器、删除所有旧数据、启用触发器和缩小事务日志。
目前我遇到的最大问题是禁用触发器。这在 sql 2005 / 2008 中非常容易,因为它们包含一个“全部禁用触发器”命令。我有一个查询来列出所有触发器,尽管它没有列出触发器的状态(这将是一个奖励)
SELECT S2.[name] TableName, S1.[name] TriggerName, CASE WHEN S2.deltrig = s1.id THEN 'Delete' WHEN S2.instrig = s1.id THEN 'Insert' WHEN S2.updtrig = s1.id THEN 'Update' END 'TriggerType' , 'S1',s1.*,'S2',s2.* FROM sysobjects S1 JOIN sysobjects S2 ON S1.parent_obj = S2.[id] WHERE S1.xtype='TR'
删除记录将是每个表的简单删除,这可能不是最有效的方法,但它是规定的方法。
Shrinking the Transaction Log 也是排序的,我在 Microsoft 支持网站上找到了一篇关于使用 DBCC 的文章
任何建议将不胜感激