症状
假设你备份在 Microsoft SQL Server 2014 或 SQL Server 2012 中使用 norecovery 选项的 model数据库的日志尾部,数据库将置于还原状态。 备份完成后,你无法重新启动 SQL Server 服务,并且在 SQL Server 错误日志中收到以下错误消息:
<日期> <时间> spid10s 数据库 "model" 标记为正在还原,并且处于不允许运行恢复的状态。 <日期> <时间> spid10s 错误:927,严重性:14,状态:2。 <日期> <不 能打开 spid10s 数据库 "model"。 它正处于还原过程中。 <日期> <时间> spid10s 无法创建 tempdb。 您可能没有足够的可用磁盘空间。 通过删除 tempdb 驱动器上的其他文件,然后重新启动 SQL Server,释放更多磁盘空间。 在事件日志中检查可能指示无法初始化 tempdb 文件原因的其他错误。 <日期> <时间> spid10s 由于服务器关闭,SQL 跟踪已停止。 跟踪 ID = "1"。 这只是一条信息性消息;无需用户操作。
原因
出现此问题的原因是 模型 数据库用作在 SQL Server 实例上创建的所有数据库的模板。 如果 模型 数据库标记为不允许恢复状态,则无法创建 TEMPDB ,并且 SQL Server 服务无法启动。
解决方案
服务包信息
若要解决此问题,请获取 SQL Server 2014 的 Service Pack 1。
有关 SQL Server 2014 Service Pack 1 (SP1)的详细信息,请参阅 在 SQL server 2014 Service Pack 1 中修复的 bug。
解决方法
要解决此问题,请使用以下方法:
-
阻止从应用程序到 SQL Server 的所有连接
-
同时启动 SQL Server 服务和跟踪标记3608
-
执行 "通过恢复还原数据库模型" 命令
-
删除跟踪标记3608,然后重新启动 SQL Server
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。