如何还原SQL Server模型数据库?

自从前几天,当我尝试启动SQL Server服务时,失败并logging到NT应用程序日志中的以下错误:

恢复过程中发生错误,防止重新启动数据库模型 ”(数据库ID 3)。 诊断恢复错误并修复它们,或从已知的良好备份中恢复。 如果错误没有得到纠正或预期,请联系技术支持。

如何恢复(或重build)模型数据库,当主数据库是好的,但我不能对数据库运行sql命令(或从pipe理工作室连接),因为SQL Server甚至不启动在这种情况下?

我在备份容器/卷中备份(所有备份在第二个HD上的单个文件中)。 我相信模型数据库的恢复模型是简单的

我没有在文档或者互联网上find很多信息(像这样 ),因为在大多数文章中,服务实际上是运行的,所以你可以运行命令,或者主数据库也是腐败的。

一些选定的ERRORLOG条目:

  • 试图恢复涉及Microsoft分布式事务处理协调器(MS DTC)[…]的疑似分布式事务
  • 数据库“主”CHECKDB完成没有错误[..]
  • 启动数据库“模型”。
  • 警告:没有看到LOP_CKPT_END
  • 错误:3414,严重性:21,状态:2。
  • 恢复过程中发生错误,防止重新启动数据库“模型”(数据库ID 3)。 诊断恢复错误并修复它们,或从已知的良好备份中恢复。 如果错误没有得到纠正或预期,请联系技术支持。
  • SQL跟踪由于服务器closures而停止。 跟踪ID =“1”。 [..]

在Windows NT 5.2(内部版本3790:Service Pack 2)上的Microsoft SQL Server 2005 – 9.00.4053.00

有任何想法吗? 非常感谢!

由于它只是“模型”数据库,我build议只复制工作实例中的模型数据库。 在这种情况下重build所有的系统数据库是不必要的。

模型在启动时需要创buildtempdb。 没有tempdb,引擎不能启动。 您可以从另一个实例中复制模型,这个实例的版本是9.00.4053。 如果您修改了模型以及保留这些修改的内容,您可以尝试将mdf / ldf复制到另一台服务器,并将其作为普通用户,数据库附加以修复,然后将其复制回来。

你有没有尝试从命令行启动sql服务器?