SQL Server-uppgraderingen misslyckas och returnerar fel 6528

Den här artikeln hjälper dig att felsöka och lösa fel 6528 som inträffar när du installerar en kumulativ uppdatering (CU) eller Service Pack (SP) för Microsoft SQL Server. Felet uppstår när skript för databasuppgradering körs.

Symptom

När du tillämpar en CU eller ett SP för SQL Server ser du att installationsprogrammet rapporterar något av följande felmeddelanden i SQL Server-felloggen:

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.

Orsak

Det här problemet kan inträffa eftersom SQL Server-instansen där du försöker tillämpa en CU eller en SP saknar sammansättningen ISSERVER.

Mer information om databasuppgraderingsskript som körs under en CU- eller SP-installation finns i Felsöka fel med uppgraderingsskript när du tillämpar en uppdatering.

Åtgärd

Följ dessa steg för att lösa problemet:

  1. Starta SQL Server med spårningsflagga 902.

  2. Kontrollera om sammansättningen ISSERVER finns i databasen SSISDB med hjälp av följande fråga:

    Use SSISDB
    GO
    SELECT * FROM sys.assemblies WHERE name = 'ISSERVER'
    

    Du kan också kontrollera det genom att expandera Databases>SSISDB>Programmability>Assemblies>ISSERVER i SQL Server Management Studio (SSMS).

  3. Kontrollera platsen C:\Program Files\Microsoft SQL Server\<VersionNumber>\DTS\Bin för att se om sammansättningen Microsoft.SqlServer.IntegrationServices.Server.dll finns i den binära SQL-mappen.

  4. Om sammansättningen finns i mappen men saknas som en post i vyn sys.assemblies skapar du den igen med hjälp av följande fråga:

    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
    

    Den här gången är sammansättningen ISSERVER närvarande.

  5. Ta bort spårningsflagga 902 och starta tjänsterna.