Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel behebt ein Problem, bei dem ein kumulatives Update (CU) oder Service Pack (SP) fehler 2714 meldet, wenn Sie Datenbankupgradeskripts ausführen.
Problembeschreibung
Wenn Sie ein CU oder SP anwenden, meldet das Setupprogramm möglicherweise den folgenden Fehler:
Fehler beim Warten auf das Wiederherstellungshandle der Datenbank-Engine. Mögliche Ursachen finden Sie im SQL Server-Fehlerprotokoll.
Wenn Sie das SQL Server-Fehlerprotokoll überprüfen, stellen Sie möglicherweise eine der folgenden Fehlermeldungen fest:
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.
Beheben des Upgradeproblems mit dem DatabaseMailUserRole-Schema
Überprüfen Sie die folgenden Informationen, um das mit dem DatabaseMailUserRoleUpgrade verbundene Upgradeproblem zu beheben.
Ursache
Dieser Fehler tritt auf, wenn ein Systemschema, ein Benutzer oder eine Rolle in der msdb Datenbank falsch konfiguriert ist.
Es tritt auch auf, wenn das Upgradeskript das DatabaseMailUserRole Schema in der msdb Datenbank nicht neu erstellt. Dieses Problem kann auftreten, wenn das DatabaseMailUserRole Schema nicht der DatabaseMailUserRole Rolle gehört, z. B. wenn das Schema im Besitz dboist.
Weitere Informationen zu Datenbankupgradeskripts, die während der CU- oder SP-Installation ausgeführt werden, finden Sie unter Problembehandlung bei Upgradeskriptfehlern beim Anwenden eines Updates.
Lösung
Beenden und starten Sie SQL Server mithilfe von T902 neu. Sie können z. B. diesen Befehl über eine Eingabeaufforderung ausführen:
Für eine Standardinstanz:
NET START MSSQLSERVER /T902Für benannte Instanzen:
NET START MSSQL$INSTANCENAME /T902Sichern Sie Ihre
msdbDatenbank als Vorsichtsmaßnahme.BACKUP DATABASE msdb TO disk = '<backup folder>'Öffnen Sie SQL Server Management Studio, stellen Sie eine Verbindung mit der SQL Server-Instanz her, und sichern Sie die
msdbDatenbank.Erweitern Sie "Databases System Databases>>
msdb>Security>Schemas>DatabaseMailuserRole".Löschen Sie das Schema mit dem Namen
DatabaseMailUserRole.Beenden Sie SQL Server, und starten Sie ihn ohne die Ablaufverfolgungskennzeichnung 902 neu.
Nachdem SQL Server ohne Ablaufverfolgungskennzeichnung 902 gestartet wurde, wird das Upgradeskript erneut ausgeführt, und das
DatabaseMailUserRoleSchema wird neu erstellt.- Wenn das SP- oder CU-Upgradeskript erfolgreich abgeschlossen ist, überprüfen Sie das SQL Server-Fehlerprotokoll und den Bootstrap-Ordner, um dies zu überprüfen.
- Wenn das Upgradeskript erneut fehlschlägt, überprüfen Sie das SQL Server-Fehlerprotokoll auf andere Fehler, und beheben Sie die neuen Fehler.
Beheben des Upgradeproblems mit der TargetServersRole-Rolle
Überprüfen Sie die folgenden Informationen, um das mit dem TargetServersRoleUpgrade verbundene Upgradeproblem zu beheben.
Ursache
Dieser Fehler tritt auf, wenn das Upgradeskript die TargetServersRole Sicherheitsrolle in der msdb Datenbank nicht neu erstellt. Diese Rolle wird in Umgebungen mit mehreren Servern verwendet. Standardmäßig ist die TargetServersRole Sicherheitsrolle im Besitz des dboSchemas, und die Rolle besitzt das TargetServersRole Schema. Wenn Sie diese Zuordnung versehentlich ändern und das Update, das Sie installieren, Änderungen an einer dieser Rollen enthält, schlägt das Upgrade möglicherweise fehl und gibt einen Fehler zurück 2714: There is already an object named 'TargetServersRole' in the database. Gehen Sie folgendermaßen vor, um den Fehler zu beheben:
Lösung
Beenden und starten Sie SQL Server mithilfe von T902 neu.
Für eine Standardinstanz:
NET START MSSQLSERVER /T902Für benannte Instanzen:
NET START MSSQL$INSTANCENAME /T902Sichern Sie Ihre
msdbDatenbank als Vorsichtsmaßnahme.BACKUP DATABASE msdb TO disk = '<backup folder>'Erstellen Sie eine Liste mit den Benutzern (sofern verfügbar), die derzeit über diese Rolle verfügen. Sie können Mitglieder der Rolle auflisten, indem Sie die folgende Abfrage ausführen:
EXEC msdb.dbo.sp_helprolemember 'TargetServersRole'Legen Sie die Rolle mithilfe der
TargetServersRolefolgenden Anweisung ab:EXEC msdb.dbo.sp_droprole @rolename = N'TargetServersRole'Um zu überprüfen, ob das Problem behoben ist, starten Sie die SQL Server-Instanz neu, ohne die Ablaufverfolgungskennzeichnung
902zu verwenden.Fügen Sie die Benutzer aus Schritt 3 erneut hinzu.
TargetServersRole