7

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

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

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

3 回答 3

3

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

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

当你恢复事务日志时会减少

要配置自动增长:

  1. 右键单击管理工作室中的数据库。
  2. 选择属性
  3. 更新自动增长值
于 2009-06-18T07:52:41.137 回答
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 倍。

于 2009-06-18T07:54:09.713 回答
1

最重要的部分是场景的最后一行:“恢复事务日志的大小”。你的意思是把日志缩小到原来的大小。

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

于 2009-06-18T09:21:34.933 回答