Fehler: Sp_change_secondary_role schlägt fehl mit Fehler 3101, wenn es ausstehende Transaktionsprotokollsicherungen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 294397 - Produkte anzeigen, auf die sich dieser Artikel bezieht
# FEHLER: 352508 (SHILOH)
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Sp_change_secondary_role ausführen schlägt gespeicherte Prozedur auf dem Standbyserver eines Protokollversandpaares mit einer Fehlermeldung 3101 fehl, wenn beide der folgenden Bedingungen zutreffen:

  • Ein Wert von 1 wird für das Argument @ Beenden übergeben. Beachten Sie, dass dies auch der Standardwert für diesen Parameter ist.
  • Es ist mindestens eine ausstehende Transaktionsprotokoll auf dem Standbyserver angewendet werden.
Wenn Sie mithilfe der erweiterten Prozedur zu diesem Zeitpunkt Xp_sqlmaint RESTORE LOG Auftrag auf dem Standbyserver ausführen, lautet die Ausgabe:
Source-Datenbank - test
Zieldatenbank - test
[Microsoft SQL-DMO (ODBC SQLState: 42000)]
Fehler 3101: [Microsoft] [ODBC SQL Server Driver] [SQL Server] exklusiven Zugriff konnte nicht abgerufen werden, da die Datenbank verwendet wird.
[Microsoft][ODBC SQL Server-Treiber][SqlServer]RESTORE LOG wird nicht normal beendet.
0-Dateien geladen
NULL
Beendet Ladevorgang für Plan SERVER1\INST1.test_logshipping

Server: Msg 22029, Ebene 16, Status 1, Zeile 0
Fehler bei ' sqlmaint.exe '.

Ursache

Wenn Protokollversand zwischen zwei Servern konfiguriert ist und Sie den sekundären oder standby-Server online schalten müssen, können Sie auf dem Standbyserver den sekundären oder standby-Server online zu schalten die Sp_change_secondary_role gespeicherte Prozedur ausführen. Wenn Sie die Sp_change_secondary_role gespeicherte Prozedur mit der Standardparameter ausführen, führt die gespeicherte Prozedur diese Aufgaben aus:

  • Die Standbydatenbank festgelegt auf Einzelbenutzermodus.
  • Kopiert alle zusätzlichen Dateien, die kopiert werden müssen.
  • Deaktiviert die Auftrag Kopie auf dem Standbyserver.
  • Alle ausstehenden Transaktionsprotokolle wiederhergestellt.
  • Bringt die Datenbank online auf dem sekundären Server.
  • Führt einige Verwaltungsaufwand für den Protokollversand Plan Tabellen in der Msdb -Datenbank, da diese Informationen jetzt aktualisiert werden muss.
Wenn die Sp_change_secondary_role gespeicherte Prozedur einen Wert von @ Beenden übergeben wird = 1 (Dies ist auch der Eingabe Standardwert für den Parameter @ Beenden ), Element 1 in der vorhergehenden Sequenz verwendet ein
ALTER DATABASE dbname SET SINGLE_USER
Befehl ändern Sie den Status der Datenbank und sicherstellen, dass keine Benutzer verbunden sind, während die Wiederherstellungsoperation versucht wird. Die ALTER DATABASE-Anweisung wird jedoch eine freigegebene Datenbank sperren, die in Kraft, bleibt bis die Verbindung beendet wird. Elemente 2 und 4 werden mithilfe der erweiterten Prozedur eine separate Verbindung an den Server, öffnet sodass folgendermaßen ein Server Prozess-Id ( Spid ) verwenden, die sich von der Spid der ursprünglichen Sp_change_secondary_role Verbindung unterscheidet Xp_sqlmaint durchgeführt. Als Ergebnis die freigegebene Datenbanksperre, die durch die gespeicherte Prozedur Spid Blöcke den RESTORE LOG-Vorgang gehalten wird versucht, Xp_sqlmaint abzuschließen. Daher schlägt die Prozedur Sp_change_secondary_role mit 3101 Fehlermeldung.

Abhilfe

Verwenden Sie eine der folgenden Abhilfen, um diesen Fehler zu vermeiden:
  • Stellen Sie sicher, dass keine ausstehenden Transaktionsprotokolle bevor Sie die Sp_change_secondary_role gespeicherte Prozedur ausführen. Ausgeführt manuell RESTORE Auftrag auf dem sekundären Server, bevor Sie Sp_change_secondary_role ausführen wird sichergestellt, dass keine ausstehenden Transaktionsprotokolle vorhanden sind.

    -oder-
  • Den Wert 0 (null) und übergeben die @ Beenden Parameter (@ Terminate = 0) während Sie die Sp_change_secondary_role gespeicherte Prozedur ausführen. Allerdings muss der Benutzer überprüfen, dass keine Benutzer mit der Datenbank verbunden, bevor die gespeicherte Prozedur ausgeführt wird, um sicherzustellen, dass die RESTORE LOG erfolgreich funktioniert vorhanden sind.

Status

Microsoft hat ein Problem in SQL Server 2000 dazu bestätigt.

Weitere Informationen

Sp_change_secondary_role ist eine gespeicherte Systemprozeduren-Prozedur, die Sie auf dem Standbyserver, Ausführen Wenn Sie den Standbyserver online zu schalten möchten.

Informationsquellen

SQL Server-Onlinedokumentation; Thema: "How to einrichten und Durchführen einer Protokollversands-Rollenänderung (Transact-SQL)"

Eigenschaften

Artikel-ID: 294397 - Geändert am: Freitag, 25. Juni 2004 - Version: 3.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
Keywords: 
kbmt kbbug kbpending KB294397 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 294397
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com