首页 > 解决方案 > 由于未安装 SSIS 但存在 SSISDB 数据库,因此 SQL 实例在修补后无法启动

问题描述

我有一个很好的数据库问题要排序,谢天谢地,它不会影响除我以外的任何人!我的笔记本电脑上安装了一个本地 SQL 2019 实例,我使用它并不严重(因此它可以很容易地被炸掉并重新安装)。但是本着学习的精神,我想我会问这个问题,看看是否有人知道我将如何解决这个问题。

我的实例没有安装 SSIS,但我确实在这里有一个 SSISDB 数据库,该数据库已从另一个安装了 SSIS 的实例恢复。然后我的本地 SQL 实例被修补到 CU12(我会说,在我不知情或同意的情况下!)。而且因为我的实例上有一个 SSISDB 数据库,SQL 现在显然正在尝试修补 SSIS(未安装)。SQL 服务无法启动,并且我在错误日志中看到大量错误。以下是其中的一部分:

Starting execution of ISServer_upgrade.SQL

Assembly 'ISSERVER' was not found in the SQL catalog of database 'ssisdb'.

Script level upgrade for database 'master' failed because upgrade step 'ISServer_upgrade.sql' encountered error 6528, state 1, severity 16. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the 'master' database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.

如果需要,我可以使用跟踪标志 902 来启动实例,这样我就可以获取任何数据(无论如何这都不是必需的)。但我不知道如何解决这种情况。我无法卸载 CU12,因为它没有正确安装,并且它没有完全显示在已安装更新列表中。我看到了与浏览器和 VSS 编写器相关的卸载 CU12 的选项,所以我猜这些都安装成功了。但是没有选项可以在添加/删除程序中卸载 CU12 for SQL Server,正如您所期望的那样。

有谁知道如何解决这个问题?谢谢!

标签: sql-serverssispatch

解决方案


所以我有更多的信息。首先,您可以将 SSISDB 数据库恢复到没有安装 SSIS 的实例,它可以让您在 SSMS 中的“集成服务目录”下浏览 SSIS 目录,就像安装了 SSIS 一样。如果我从同一个备份中恢复同一个 SSISDB 数据库,但将数据库命名为不同的名称,则无法以这种方式浏览 SSIS 目录。您还可以修补实例,而不会出现我描述的重命名的 SSIS 数据库存在的所有问题。如果您创建一个空白的 SSISDB 数据库,然后尝试修补到 CU12,这也可以正常工作。

我第一次尝试恢复主数据库,更多是因为我很想知道它会做什么。它没有让我恢复 master,因为我的备份是针对不同版本的(因为引擎现在正在读取 CU12,即使补丁没有正确安装。)然后我安装了 SSIS,它仍然继续表现一样的方法。接下来要尝试的是创建一个 SSIS 目录,但是因为那里已经有一个 SSIS 数据库,尽管没有在这个实例上创建,它不会让我创建目录(选项是灰色的)。请注意,每当我想启动实例时,我都必须使用跟踪标志 902。接下来我删除了现有的 SSISDB 数据库。然后,这使我能够创建一个新的 SSIS 目录,我确实这样做了。然后我删除了跟踪标志 902,重新启动服务,它启动了!在这一点上,我不


推荐阅读