如何增加事务日志的大小?是否也可以暂时增加事务日志?
假设我有下面的场景。对于当前的事务日志,我有一个太大的Delete操作。我不会:
发布于 2009-06-18 07:54:09
简短答覆:
长答案:您可以使用ALTER DATABASE ... MODIFY FILE
来更改数据库文件的大小,包括日志文件。您可以查找master_files/sysfiles
(2k)或<dbname>.sys.database_files
(2k5/2k8)来获取日志的逻辑名称。您可以使用DBCC SHRINKFILE
来收缩文件(如果可能的话)。
我能告诉你我的操作需要多大的事务日志吗?
这取决于许多因素(这是新的数据吗?)这是最新消息吗?是删除吗?什么恢复模式?您对SQL2k8有压缩吗?等等)但通常比你预期的要大。我估计您将要执行的更新的大小是2.5倍。
更新:
错过你说是删除。粗略估计是删除数据大小的1.5倍(包括所有索引)。
发布于 2009-06-18 07:52:41
可以将事务日志配置为根据需要展开。您将选项设置为自动增长。但是,当事务日志变得太大(磁盘空间不足)或使sql服务器无法使用时。
备份事务日志。SQL将自动截断非活动事务。
还原事务日志时,将减少事务日志。
若要配置自动增长:
发布于 2009-06-18 09:21:34
最重要的部分是场景的最后一行:“恢复事务日志的大小”。你的意思是把日志缩小到原来的大小。
这是非常危险的,因为很多原因,我们已经在SQLServerPedia的几个故事中对它们进行了介绍:
https://stackoverflow.com/questions/1011311
复制相似问题