今天早上我们的 SQL Server 服务宕机,导致我们的一些网站宕机。当我去检查 Windows 事件查看器时,我看到了以下错误:
数据库“master”的脚本级别升级失败,因为升级步骤“SSIS_hotfix_install.sql”遇到错误 942,状态 4,严重性 25
无法恢复主数据库。SQL Server 无法运行。从完整备份中恢复 master、修复它或重建它。有关如何重建 master 数据库的详细信息,请参阅 SQL Server 联机丛书。
我做的第一件事就是用谷歌搜索错误。我最终找到了一个包含确切问题和修复的论坛条目(也在我正在寻求解决方案的博客条目上)。该问题与 AlwaysOn 可用性组有关,修复要求您:
使用跟踪标志 902 启动 SQL Server 服务:
网络启动 MSSQL$InstanceName /T902
打开 SQL Server Management Studio,转到可用性组并从可用性数据库中删除 SSISDB
打开新查询,执行 SSIS_hotfix_install.sql 脚本,该脚本可以在 \Program Files\Microsoft SQL Server\MSSQL11.MSSQL$InstanceName\MSSQL 下的 Install 文件夹中找到
停止 SQL Server 服务:
网络停止 MSSQL$InstanceName
从 SQL Server 配置管理器启动 SQL Server 服务
将 SSISDB 添加回可用性组
但是,我无法通过第 2 步,因为当我尝试展开“AlwaysOn 高可用性”文件夹时出现以下错误:
在您可以在此实例上创建可用性组之前,必须为服务器实例 'InstanceName' 启用“AlwaysOn”功能。
然后我按照说明转到“SQL Server 配置管理器”和“AlwaysOn 高可用性”选项卡以打开该功能。这次该功能是灰色的,并且有一条消息说计算机节点不在故障转移群集中。
我的问题是:
如果我们甚至没有使用此功能的故障转移群集设置,我该如何解决此问题?
我跑dbcc checkdb
在主人身上;结果是:
CHECKDB 在数据库“master”中发现 0 个分配错误和 0 个一致性错误。
AlwaysOn 可用性组未打开,因为我什至没有故障转移群集。
用于记录解决方案的社区 Wiki 答案
肯威尔逊:
跳过与 AlwaysOn 相关的所有步骤并运行
SSIS_hotfix_install.sql
脚本。