Обновление SQL Server завершается сбоем и возвращает ошибку 6528
Эта статья поможет устранить неполадки и устранить ошибку 6528, возникающую при установке накопительного обновления (CU) или пакета обновления (SP) для Microsoft SQL Server. Ошибка возникает при выполнении скриптов обновления базы данных.
Симптомы
При применении cu или sp для SQL Server вы заметите, что программа установки сообщает одно из следующих сообщений об ошибках в журнале ошибок SQL Server:
SQL server failed in 'Script level upgrade' with the following error:
Error: 50000, Severity: 16, State: 127.
Cannot drop the assembly 'ISSERVER', because it does not exist or you do not have permission.
Error: 50000, Severity: 16, State: 127.
Cannot drop the assembly 'ISSERVER', because it does not exist or you do not have permission.
Creating function internal.is_valid_name
Error: 6528, Severity: 16, State: 1.
Assembly 'ISSERVER' was not found in the SQL catalog of database 'SSISDB'.
Error: 912, Severity: 21, State: 2.
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 error log entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.
Error: 3417, Severity: 21, State: 3.
Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it. For more information about how to rebuild the master database, see SQL Server Books Online.
SQL Server shutdown has been initiated.
Причина
Эта проблема может возникнуть, так как экземпляр SQL Server, в котором вы пытаетесь применить накопительный пакет обновления или пакет обновления , отсутствует сборка ISSERVER
.
Дополнительные сведения о сценариях обновления базы данных, которые выполняются во время установки cu или sp, см. в разделе "Устранение неполадок скриптов обновления при применении обновления".
Решение
Выполните следующие действия, чтобы устранить проблему:
Запустите SQL Server с флагом трассировки 902.
Проверьте, находится ли сборка
ISSERVER
в базе данныхSSISDB
с помощью следующего запроса:Use SSISDB GO SELECT * FROM sys.assemblies WHERE name = 'ISSERVER'
Кроме того, вы можете проверить его, разверив >сборки>SSISDB>Programmability>ISSERVER в SQL Server Management Studio (SSMS).
Проверьте расположение C:\Program Files\Microsoft SQL Server\<VersionNumber>\DTS\Bin , чтобы узнать, присутствует ли сборка Microsoft.SqlServer.IntegrationServices.Server.dll в двоичной папке SQL.
Если сборка находится в этой папке, но отсутствует в качестве записи в представлении sys.assemblys , повторно создайте ее с помощью следующего запроса:
DECLARE @asm_bin varbinary(max); SELECT @asm_bin = BulkColumn FROM OPENROWSET (BULK N'C:\Program Files\Microsoft SQL Server\<VersionNumber>\DTS\Binn\Microsoft.SqlServer.IntegrationServices.Server.dll',SINGLE_BLOB) AS dll CREATE ASSEMBLY ISSERVER FROM @asm_bin WITH PERMISSION_SET = UNSAFE ALTER DATABASE SSISDB SET TRUSTWORTHY ON
На этот раз сборка
ISSERVER
присутствует.Удалите флаг трассировки 902 и запустите службы.