日志移动后SQL Server 2008 R2数据库“可疑”

我们有一个客户端使用我们的MSSQL软件,我们正在努力解决他们的问题。 我们更多地使用MySQL,所以请原谅我对MSSQL Server的不了解。

它们在该物理服务器上有三个卷:C:\; d:\; 和L:\ D:\卷保存SQL DB,L:\卷保存事务日志。

由于一些非常糟糕的准备和pipe理,在我们联系之前,他们停止了SQL,把SQL事务日志移到了有空间的D:\,然后继续做一个新的L:\ raid更大的物理磁盘,然后将事务日志移回并重新启动SQL服务。

由于这一点,他们已经无法login到SQL Management Studio或访问数据库。

我能够进入,但所有的数据库被标记为(可疑)。 我无法检索数据库上的任何属性。

一些谷歌search出现了一些build议的查询运行数据库来解决这个问题,但我不愿意运行它们。 看起来像是DBCC的一部分检查数据库,但我不熟悉其余部分。

这是这个链接。

任何人有任何build议来解决这个问题,或知道可能发生了什么?

在此先感谢您的帮助,

亚伦

备份数据库(停止服务,复制.mdf),并运行该脚本。 REPAIR_ALLOW_DATA_LOSS行可能具有破坏性。

脚本在这里为未来参考:

EXEC sp_resetstatus [YourDatabase]; ALTER DATABASE [YourDatabase] SET EMERGENCY DBCC checkdb([YourDatabase]) ALTER DATABASE [YourDatabase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE DBCC CheckDB ([YourDatabase], REPAIR_ALLOW_DATA_LOSS) ALTER DATABASE [YourDatabase] SET MULTI_USER 

如果有任何安慰,我们的产品使用合并复制,所以我们有数以千计的运行SQL Express的领域的笔记本电脑,我们经常看到可疑的数据库。 在备份数据库之后运行确切的脚本可以在99%的时间内修复问题,而不会产生不利影响。

至于原因,很难说,你可能需要做一些挖掘日志。 可能的话,如果是Express,它将被限制在打开日志的时候,但是可能的原因是:

  1. 不正确的closuresSQL Server服务(如杀死服务,重启机器)
  2. 硬件故障
  3. 写入数据时没有足够的磁盘空间
  4. db文件的各种损坏

所有其他的失败,恢复备份,如果他们存在。 虽然上面的步骤应该让你在短时间内运行。