Aracılığıyla paylaş


SQL Server yükseltmesi başarısız oldu ve hata 6528'i döndürdü

Bu makale, Microsoft SQL Server için toplu güncelleştirme (CU) veya hizmet paketi (SP) yüklediğinizde oluşan 6528 hatasını gidermenize ve çözmenize yardımcı olur. Veritabanı yükseltme betikleri çalıştırıldığında hata oluşur.

Belirtiler

SQL Server için bir CU veya SP uyguladığınızda, Kurulum programının SQL Server hata günlüğünde aşağıdaki hata iletilerinden birini bildirdiğini fark edeceksiniz:

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.

Neden

Cu veya SP uygulamayı denediğiniz SQL Server örneğinde derleme ISSERVEReksik olduğundan bu sorun oluşabilir.

CU veya SP yüklemesi sırasında çalışan veritabanı yükseltme betikleri hakkında daha fazla bilgi için bkz . Güncelleştirme uygularken yükseltme betiği hatalarını giderme.

Çözüm

Sorunu çözmek için şu adımları izleyin:

  1. İzleme bayrağı 902 ile SQL Server'ı başlatın.

  2. Aşağıdaki sorguyu kullanarak derlemenin ISSERVER veritabanında SSISDB olup olmadığını denetleyin:

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

    Alternatif olarak, SQL Server Management Studio'da (SSMS) Veritabanları>SSISDB>Programlanabilirlik>Derlemeleri>ISSERVER'ı genişleterek denetleyebilirsiniz.

  3. Derleme Microsoft.SqlServer.IntegrationServices.Server.dll SQL ikili klasöründe mevcut olup olmadığını görmek için C:\Program Files\Microsoft SQL Server<\VersionNumber>\DTS\Bin konumunu denetleyin.

  4. Derleme bu klasördeyse ancak sys.assemblies görünümünde girdi olarak eksikse, aşağıdaki sorguyu kullanarak yeniden oluşturun:

    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
    

    Bu kez derleme ISSERVER mevcut.

  5. İzleme bayrağı 902'yi kaldırın ve hizmetleri başlatın.