如何增加事务日志的大小?是否可以暂时增加事务日志的大小?
假设我有以下情况。我有一个删除操作,当前的事务日志太小了。我想要:
- 增加事务日志的大小(可以检测当前大小吗?可以知道我需要多大的事务日志来完成我的操作吗?)
- 执行我的操作
- 备份事务日志
- 恢复事务日志的大小。
如何增加事务日志的大小?是否可以暂时增加事务日志的大小?
假设我有以下情况。我有一个删除操作,当前的事务日志太小了。我想要:
交易日志可以按需配置扩展。您可以设置选项以自动增长。
然而,当交易日志过大(磁盘空间耗尽)或使SQL服务器无法使用时,需要采取措施。
备份交易日志。 SQL将自动截断非活动事务
还原时,交易日志将被缩减。
要配置自动增长:
简短回答:
长答案:您可以使用ALTER DATABASE ... MODIFY FILE
更改数据库文件的大小,包括日志文件。您可以查找master_files/sysfiles
(2k)或<dbname>.sys.database_files
(2k5/2k8)获取日志的逻辑名称。如果可能的话,您可以使用DBCC SHRINKFILE
来缩小文件。
我能否知道我的操作需要多大的事务日志?
这取决于许多因素(这是新数据吗?这是更新吗?这是删除吗?恢复模型如何?您在 SQL 2k8 上启用了压缩吗?等等),但通常比您预期的要大。我估计将是即将执行操作大小的2.5倍。
更新:
看到您说是删除操作。粗略估计是删除的数据大小(包括所有索引)的1.5倍。