症状
当你对 Linux 上的 SQL Server 2017 使用累积更新9(CU9)时,你可能会注意到 SQL Server 实例无法启动并在数据库 SSISDB 的脚本升级模式下挂起,但出现以下错误:
数据库 "master" 正在将脚本 "ISServer_upgrade" 从级别0升级到级别500。
开始执行 ISServer_upgrade。SQL
将 SSISDB 记录到单用户模式
对于数据库 "SSISDB",将数据库选项 SINGLE_USER 设置为 "打开"。
在 [internal] 上创建非聚集索引 [index_tasks_ReadyForDispatchTime]。诸如([ReadyForDispatchTime] ASC)包括([CreatedTime],[CreateWorkerAgentId],[ExecutedCount],[ExpiredTime],[InputData],[IsCritical],[LastUpdatedTime],[MaxExecutedCount],[Status],[TaskType])(ONLINE = 启用)
在 [internal] 上创建非聚集索引 [index_tasks_Status]。诸如([状态])包括([ExecutedCount],[ExpiredTime],[IsCancelled],[MaxExecutedCount],[WorkerAgentId])(ONLINE = 启用)
模块 "enable_scaleout" 依赖于缺少的对象 "internal.update_logdb_info"。 该模块仍将创建;但是,只有在对象存在之后才能成功运行。
CLR 版本 v 4.0.30319 已加载。
公共语言运行时(CLR)功能已初始化。
AppDomain 2 (SSISDB. dbo [runtime]. 1)已创建。
错误:10342,严重性:16,状态:100。
无法加载程序集 "Microsoft IntegrationServices",因为此版本的 SQL Server 仅支持安全的程序集。
错误:912,严重性:21,状态:2。
数据库 "master" 的脚本级升级失败,因为升级步骤 "ISServer_upgrade" 遇到错误10342,状态100,严重级别为25。 这是一个很严重的错误情况,可能会干扰正常操作,数据库将脱机。 如果在升级 "master" 数据库期间发生错误,它将阻止整个 SQL Server 实例启动。 检查以前的错误日志条目以查找错误,采取相应的纠正措施并重新启动数据库,以便脚本升级步骤运行完成。
错误:3417,严重性:21,状态:3。
无法恢复 master 数据库。 SQL Server 无法运行。 从完整备份还原 master,修复它,或重建它。 有关如何重建 master 数据库的详细信息,请参阅 SQL Server 联机丛书。
由于服务器关闭,SQL 跟踪已停止。 跟踪 ID = "1"。 这只是一条信息性消息;无需用户操作。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
关于 SQL Server 的累积更新:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
参考
了解 Microsoft 用于描述软件更新的术语。