SQL Server:如何增加事务日志的大小?

时间:2009-06-18 07:42:55

标签: sql-server tsql transaction-log

如何增加事务日志的大小?是否也可以暂时增加事务日志?

假设我有以下情况。我有一个对当前事务日志来说太大的删除操作。我不想:

  • 增加事务日志(我可以检测当前大小吗?,我可以告诉我需要多大的事务日志来进行操作吗?)
  • (执行我的操作)
  • 备份事务日志
  • 恢复事务日志的大小。

3 个答案:

答案 0 :(得分:3)

可以将事务日志配置为根据需要进行扩展。您将选项设置为自动增长。 但是,当事务日志太大(磁盘空间不足)或使sql server无法使用时。

备份事务日志。 SQL将自动截断非活动事务

当您还原事务日志时会减少

配置自动增长:

  1. 右键单击management studio中的数据库。
  2. 选择属性
  3. 更新自动增长值

答案 1 :(得分:3)

简短回答:

答案很长:您可以使用ALTER DATABASE ... MODIFY FILE来更改数据库文件的大小,包括LOG文件。您可以查找master_files/sysfiles(2k)或<dbname>.sys.database_files(2k5 / 2k8)以获取日志的逻辑名称。您可以使用DBCC SHRINKFILE缩小文件(如果可能)。

  我能告诉我有多大吗?   事务日志是我的   操作

这取决于很多因素(这是新数据吗?它是一个更新吗?它是一个删除吗?什么是恢复模型?你有SQL 2k8上的压缩等等)但通常比你预期的要大。我估计你将要执行的更新大小的2.5倍。

更新

错过了你说是DELETE。粗略估计是删除数据大小的1.5倍(包括所有索引)。

答案 2 :(得分:1)

最重要的部分是您的方案的最后一行:“恢复事务日志的大小。”您的意思是将日志缩小回原始大小。

由于很多原因,这非常危险,我们已经在SQLServerPedia的几个故事中介绍了它们: