Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, veritabanı yükseltme betiklerini çalıştırdığınızda toplu güncelleştirmenin (CU) veya hizmet paketinin (SP) 2714 hatasını bildirmesi sorununu giderir.
Belirtiler
CU veya SP uyguladığınızda, kurulum programı aşağıdaki hatayı bildirebilir:
Veritabanı Altyapısı kurtarma tanıtıcısında bekleme başarısız oldu. Olası nedenler için SQL Server hata günlüğüne bakın.
SQL Server hata günlüğünü gözden geçirirken aşağıdaki hata iletilerinden birini fark edebilirsiniz:
2021-07-27 14:08:44.31 spid6s Error: 2714, Severity: 16, State: 6.
2021-07-27 14:08:44.31 spid6s There is already an object named 'DatabaseMailUserRole' in the database.
2021-07-27 14:08:44.31 spid6s Error: 2759, Severity: 16, State: 0.
2021-07-27 14:08:44.31 spid6s CREATE SCHEMA failed due to previous errors.
2021-07-27 14:08:44.31 spid6s Error: 912, Severity: 21, State: 2.
2021-07-27 14:08:44.31 spid6s Script level upgrade for database 'master' failed because upgrade step 'msdb110_upgrade.sql' encountered error 2714, state 6, severity 25.
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.
2021-07-27 14:08:44.32 spid6s Error: 3417, Severity: 21, State: 3.
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.
2021-07-27 14:08:44.31 spid6s Error: 2714, Severity: 16, State: 6.
2021-07-27 14:08:44.31 spid6s There is already an object named 'TargetServersRole' in the database.
2021-07-27 14:08:44.31 spid6s Error: 912, Severity: 21, State: 2.
2021-07-27 14:08:44.31 spid6s Script level upgrade for database 'master' failed because upgrade step 'msdb110_upgrade.sql' encountered error 2714, state 6, severity 25.
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.
2021-07-27 14:08:44.32 spid6s Error: 3417, Severity: 21, State: 3.
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.
DatabaseMailUserRole şemasıyla ilgili yükseltme sorununu çözme
ile DatabaseMailUserRoleilişkili yükseltme sorununu çözmek için aşağıdaki bilgileri gözden geçirin.
Neden
Bir sistem şeması, kullanıcı veya rol veritabanında yanlış yapılandırılmışsa msdb bu hata oluşur.
Ayrıca, yükseltme betiği veritabanında şemayı DatabaseMailUserRole yeniden oluşturamadığında da msdb oluşur. Bu sorun, şema rolüne DatabaseMailUserRole ait olmadığında( örneğin, şemaya DatabaseMailUserRole aitse dbo) oluşabilir.
CU veya SP yüklemesi sırasında yürütülen veritabanı yükseltme betikleri hakkında daha fazla bilgi için bkz . Güncelleştirme uygulanırken yükseltme betiği hatalarını giderme.
Çözüm
T902 kullanarak SQL Server'ı durdurun ve yeniden başlatın. Örneğin, bu komutu bir komut isteminden çalıştırabilirsiniz:
Varsayılan örnek için:
NET START MSSQLSERVER /T902Adlandırılmış örnekler için:
NET START MSSQL$INSTANCENAME /T902Önlem olarak veritabanınızı
msdbyedekleyin.BACKUP DATABASE msdb TO disk = '<backup folder>'SQL Server Management Studio'yu açın, SQL Server örneğine bağlanın ve veritabanını yedekleyin
msdb.Veritabanları>Sistem Veritabanları Güvenlik>Şemaları>
msdb>>VeritabanıMailuserRole'ı genişletin.adlı
DatabaseMailUserRoleşemayı silin.SQL Server'ı durdurun ve izleme bayrağı 902 olmadan yeniden başlatın.
SQL Server izleme bayrağı 902 olmadan başlatıldıktan sonra yükseltme betiği yeniden yürütülür ve
DatabaseMailUserRoleşema yeniden oluşturulur.- SP veya CU yükseltme betiği başarıyla tamamlanırsa doğrulamak için SQL Server hata günlüğünü ve bootstrap klasörünü denetleyin.
- Yükseltme betiği yeniden başarısız olursa, SQL Server hata günlüğünü diğer hatalar için denetleyin ve yeni hataları giderin.
TargetServersRole rolüyle ilgili yükseltme sorununu çözme
ile TargetServersRoleilişkili yükseltme sorununu çözmek için aşağıdaki bilgileri gözden geçirin.
Neden
Bu hata, yükseltme betiği veritabanındaki güvenlik rolünü msdb yeniden oluşturamadığında TargetServersRole oluşur. Bu rol, çok sunuculu ortamlarda kullanılır. Varsayılan olarak, TargetServersRole güvenlik rolü öğesine dboaittir ve şemanın TargetServersRole sahibi de roldür. Bu ilişkiyi yanlışlıkla değiştirirseniz ve yüklediğiniz güncelleştirme bu rollerden herhangi birinde değişiklik içeriyorsa, yükseltme başarısız olabilir ve hata 2714: There is already an object named 'TargetServersRole' in the databasedöndürebilir. Hatayı düzeltmek için şu adımları izleyin:
Çözüm
T902 kullanarak SQL Server'ı durdurun ve yeniden başlatın.
Varsayılan örnek için:
NET START MSSQLSERVER /T902Adlandırılmış örnekler için:
NET START MSSQL$INSTANCENAME /T902Önlem olarak veritabanınızı
msdbyedekleyin.BACKUP DATABASE msdb TO disk = '<backup folder>'Şu anda bu rolün parçası olan kullanıcıların (varsa) listesini yapın. Aşağıdaki sorguyu çalıştırarak rolün üyelerini listeleyebilirsiniz:
EXEC msdb.dbo.sp_helprolemember 'TargetServersRole'TargetServersRoleAşağıdaki deyimi kullanarak rolü bırakın:EXEC msdb.dbo.sp_droprole @rolename = N'TargetServersRole'Sorunun çözülmüş olup olmadığını denetlemek için izleme bayrağını
902kullanmadan SQL Server örneğini yeniden başlatın.3. adımdaki kullanıcıları öğesine
TargetServersRoleyeniden ekleyin.