相关疑难解决方法(0)

重建事务日志

我们有一个非常大的数据库(~6TB),其事务日志文件被删除(SQL Server 关闭时。我们尝试过:

  1. 分离和重新附加数据库;和
  2. 取消删除事务日志文件

...但到目前为止没有任何效果。

我们目前正在运行:

ALTER DATABASE <dbname> REBUILD 
LOG ON (NAME=<dbname>,FILENAME='<logfilepath>')
Run Code Online (Sandbox Code Playgroud)

...但考虑到数据库的大小,这可能需要几天时间才能完成。

问题

值得注意的是,数据来自其他来源,因此可以重建数据库,但是我们怀疑修复数据库比再次重新插入所有数据要快得多。


更新

对于那些记分者:ALTER DATABASE/REBUILD LOG命令在大约 36 小时后完成并报告:

警告:数据库“dbname”的日志已重建。事务一致性已丢失。RESTORE 链被破坏,服务器不再拥有先前日志文件的上下文,因此您需要知道它们是什么。
您应该运行 DBCC CHECKDB 来验证物理一致性。数据库已置于 dbo-only 模式。当您准备好使数据库可供使用时,您将需要重置数据库选项并删除任何额外的日志文件。

然后我们运行了一个DBCC CHECKDB(大约需要 13 小时),它成功了。假设我们都了解了数据库备份的重要性(以及授予项目经理访问服务器的权限......)。

sql-server-2005 sql-server recovery dbcc-checkdb

21
推荐指数
2
解决办法
6万
查看次数