mssql sqlserver 升级后无法启动sql-镜像数据库SSISDB


摘要:
对数据库打了一些最新的补丁,数据库产生一系列SSISDB的相关异常信息后,
此时sql server变的无法启动


错误信息如下所示:

2018-04-19 14:06:08.03 spid6s启动数据库’tempdb’。
2018-04-19 14:06:08.26 spid5s数据库’master’将脚本’SSIS_hotfix_install.sql’从级别184552836升级到级别184555396.
2018-04-19 14:06:08.57 spid5s错误:956,严重性:14,状态:1.
2018-04-19 14:06:08.58 spid5s数据库SSISDB为数据库镜像启用,但尚未与其伙伴同步。稍后再次尝试操作。
2018-04-19 14:06:08.62 spid5s失败的一批t-sql语句:

这是一个数据库升级失败的脚本异常信息-错误:4860,严重性:16,状态:1 – 无法批量加载。SqlTraceCollect.dtsx不存在
基于我以前的这些错误经验,我意识到这是一个脚本升级失败。以下是在修补过程中发生的步骤,
从上面我们可以看到,在执行T-SQL语句时出现错误:SSIS_hotfix_install.sql’。
—-
数据库SSISDB为数据库镜像启用,
当我们仔细检查时,发现SSIS_hotfix_install.sql是SSIS服务器目录(SSISDB)的修补程序安装脚本,
根据以上发现的问题,我们可以针对的解决此异常
—————————————————————————————–

处理方法:
正如我们在这些问题上每次都做的那样,我们不得不使用跟踪标志902来绕过脚本升级模式。
我们使用跟踪标志902启动SQL,如下所示
NET START MSSQL $SQL2012/T902
在此之后,我可以连接到SQL Server,
因为问题脚本由于跟踪标志而没有运行。我们可以看到SSISDB确实存在于此服务器中。
更有趣的是,该服务器充当数据库SSISDB的镜像服务器。这意味着我们无法在此数据库中读取/写入。
如果我回到脚本升级模式的基础知识,我们尝试更新这些数据库的元数据以匹配我们刚安装的版本。
因此,为了使SSISDB的脚本升级完成,要成功运行脚本SSIS_hotfix_install.sql,我们必须将此数据库设置为读/写模式,
这意味着我们必须将此数据库联机。这也意味着我们必须将此数据库设为主体副本。
我将此数据库作为主副本数据库进行故障切换 然后,我们重新启动了删除TF902的实例。
2018-04-19 15:06:08.33 spid5s SSISDB中的架构内部版本已更新为11.0.6020.0
2018-04-19 15:06:08.41 spid31s数据库镜像在数据库’DB1’作为镜像副本处于活动状态时处于活动状态。这仅是一条信息性消息。无需用户操作。
2018-04-19 15:06:08.73 spid30s数据库镜像与数据库“DB2”一起作为镜像副本处于活动状态。这仅是一条信息性消息。无需用户操作。
2018-04-19 15:06:08.95 spid5s ——————
2018-04-19 15:06:08.95 spid5s完成SSIS_HOTFIX_INSTALL.SQL的执行
SQL Server服务启动正常,我们可以看到“SSIS_hotfix_install.sql”也被成功应用。