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

Nie*_*sma 7 t-sql sql-server transaction-log

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

假设我有以下情况。我的Delete操作对于当前事务日志来说太大了。我想要:

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

Rem*_*anu 3

简短回答:

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

我能知道我的操作需要多大的事务日志吗?

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

更新:

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