huashan8 发表于 2018-10-16 11:42:38

如何在 sql server 2005 中使用 dbcc shrinkfile 语句收缩事务日志文件

例如,运行以下 transact-sql 语句。backup log testdb to disk='c:\testdb1.bak'  2. 收缩事务日志文件。为此,请运行与以下 transact-sql 语句相似的 transact-sql 语句。dbcc shrinkfile (, ) with no_infomsgs
  注意:在此语句中, 是事务日志文件名称的占位符。在此语句中, 是事务日志文件目标大小的占位符。目标大小必须合理。例如,您不能将事务日志文件收缩为小于 2 个虚拟日志文件的大小。
  3. 如果 dbcc shrinkfile 语句未将事务日志文件收缩为目标大小,则运行步骤 1 中提到的 backup log 语句,以使更多的虚拟日志文件处于非活动状态。
  4. 运行步骤 2 中提到的 dbcc shrinkfile 语句。执行此操作后,事务日志文件就应接近目标大小了。
  总而言之,在 sql server 2005 中更改了日志管理器用于选取下一个虚拟日志文件的算法。因此,在 sql server 2005 中收缩事务日志文件与在 sql server 2000 中收缩事务日志文件不同,具体表现在: • 如果日志文件具有大量可用空间,在 sql server 2005 中收缩事务日志文件比在 sql server 2000 中收缩事务日志文件要快。
  • 如果日志文件没有可用空间,在 sql server 2005 中收缩事务日志文件与在 sql server 2000 中收缩事务日志文件相同。
  • 如果日志文件的可用空间很小,在 sql server 2005 中收缩事务日志文件要比在 sql server 2000 中执行此操作时多执行一个日志备份操作。

页: [1]
查看完整版本: 如何在 sql server 2005 中使用 dbcc shrinkfile 语句收缩事务日志文件