数据库升级脚本
T-SQL 升级脚本随每个 SQL Server 累积更新一起提供。 在 SQL Server 二进制文件替换为最新版本后执行它们。 将累积更新(CU)应用到 SQL Server 的现有实例或将其更新到较新版本时,关联的安装过程将在两个不同的阶段运行该过程:
在初始阶段,安装过程仅更新二进制文件(DLL、EXE),而不是数据库及其对象。
升级完成后,服务首次重启后,更新过程将使用文件夹 C:\Program Files\Microsoft SQL Server\MSSQLXX 中的脚本msdb110_upgrade.sql启动数据库升级。YYYY\MSSQL\Install\。
这些 T-SQL 脚本确保系统数据库已准备好用于作为相应 OU 或 Service Pack(SP)或新版本的一部分提供的新修补程序或功能。 CU 和 SP 的完整安装或升级到新版本需要成功执行数据库升级脚本。 否则可能会导致 SQL Server 实例出现意外问题。 升级脚本执行失败是 CU 和 SP 安装失败的常见原因。 此故障排除系列介绍了此类别中的常见故障,以及解决这些故障所要执行的步骤。
一般故障排除方法
- 有关失败的详细信息,请查看 SQL Server 错误日志(ERRORLOG)。
- 若要绕过运行升级脚本,请使用 跟踪标志 902 启动 SQL Server。
- 根据不同的方案解决失败的原因。
如MSSQLSERVER_912中所述,升级脚本失败时,安装向导报告初始“等待数据库引擎恢复句柄失败。 检查 SQL Server 错误日志中是否存在潜在原因”。 SQL Server 错误日志将包含 912 和 3417 错误消息的条目。 错误 912 和 3417 是与数据库升级脚本失败相关的泛型错误。 前面错误 912 的消息通常提供有关执行这些脚本期间完全失败的内容的信息。 排查和修复这些错误需要使用跟踪标志 902 启动 SQL Server。
注意
使用跟踪标志 902 启动 SQL Server 是故障排除和修复升级脚本错误的一部分。 它适用于执行数据库升级脚本期间 CU、SP 或升级到新版本的所有方案。 若要使用跟踪标志 902 启动 SQL Server 实例,请参阅 使用跟踪标志 902 启动 SQL Server 的步骤。
使用跟踪标志 902 启动 SQL Server 后,可以选择以下部分中的一篇文章来排查和解决问题。
数据库升级脚本错误消息
“等待数据库引擎恢复句柄失败”是以下错误的常见错误消息: