Fehler: Schlägt Rollback mit Fehlern 3314 und 9001 fehl auf, wenn Sie mehrere Verbindungen in derselben Transaktion eintragen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 811476 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Problembeschreibung

Wenn Sie mehrere Verbindungen zu anderen Datenbanken in derselben Transaktion eintragen, und es kein Gastkonto ist, kann der Rollback der Transaktion mit Fehlern 3314 und 9001 fehl schlagen. Möglicherweise sind die folgenden Meldungen in der SQL Server-Fehlerprotokoll angezeigt:

1999-10-21 15:35:11.25 spid8 Error: 3314, Severity: 21, State: 4 
1999-10-21 15:35:11.25 spid8 Error while undoing logged operation in database 'Northwind'. Error at log record ID (24:368:2).. 
1999-10-21 15:35:11.32 spid8 Error: 9001, Severity: 21, State: 1 
1999-10-21 15:35:11.32 spid8 The log for database 'Northwind' is not available.. 
1999-10-21 15:35:11.34 spid8 Error: 3314, Severity: 21, State: 2 
1999-10-21 15:35:11.34 spid8 Error while undoing logged operation in database 'Northwind'. Error at log record ID (24:368:1).. 
1999-10-21 15:35:21.48 spid6 Closing file d:\mssql7\DATA\northwnd.mdf. 
1999-10-21 15:35:21.50 spid6 Closing file d:\mssql7\DATA\northwnd.ldf. 
1999-10-21 15:35:21.51 spid6 Starting up database 'Northwind'. 
1999-10-21 15:35:21.51 spid6 Opening file d:\mssql7\DATA\northwnd.mdf. 
1999-10-21 15:35:21.56 spid6 Opening file d:\mssql7\DATA\northwnd.ldf. 
1999-10-21 15:35:21.78 spid6 4 transactions rolled forward in database 'Northwind' (6). 
1999-10-21 15:35:21.78 spid6 0 transactions rolled back in database 'Northwind' (6). 

Wenn Sie das Ablaufverfolgungsflag - y916, und Sie SQL Profiler-Ablaufverfolgung ausführen, während der Fehler aufgetreten ist, zeigt SQL Profiler einen kurzen Stapelabbild, die der folgenden ähnelt:

Short Stack Dump
0x77f1d4cb Module(KERNEL32+1d4cb) (RaiseException+6a)
0x005b5953 Module(sqlservr+1b5953) (ex_raise2+ec)
0x00506417 Module(sqlservr+106417) (ex_raise+5f)
0x00596ce2 Module(sqlservr+196ce2) (usedb+c0)
0x00432d83 Module(sqlservr+32d83) (CAutoDb::FUse+31)
0x00402cd5 Module(sqlservr+2cd5) (opentabid+77)
0x0043134e Module(sqlservr+3134e) (IndexDelete+46)
0x00431212 Module(sqlservr+31212) (XDES::UndoPageOperation+168)
0x00431ceb Module(sqlservr+31ceb) (XDES::RollbackToLsn+22a)
0x00430560 Module(sqlservr+30560) (XDES::Rollback+14e)
0x00431abf Module(sqlservr+31abf) (XCB::Rollback+2f9)
0x006e8603 Module(sqlservr+2e8603) (CDTCTransaction::abortTran+d0)
0x005aea0c Module(sqlservr+1aea0c) (rm_do_tm_work+102)
0x006e6a07 Module(sqlservr+2e6a07) (rm_ods_handler_body+773)
0x006e60cf Module(sqlservr+2e60cf) (rm_ods_handler+9e)
0x4106135c Module(opends60+135c) (execute_event+659)
0x41066fc3 Module(opends60+6fc3) (process_commands+11b)
0x4109285a Module(ums+285a) (ProcessWorkRequests+ed)
0x41092d28 Module(ums+2d28) (ThreadStartRoutine+139)
0x7800bee4 Module(MSVCRT+bee4) (beginthread+ce)
0x77f04f3e Module(KERNEL32+4f3e) (BaseThreadStart+51)

Ursache

Dieses Problem, da die Benutzernamen, die für die Datenbankverbindungen verwendet werden keine Berechtigungen auf alle Datenbanken in der Transaktion.

Abhilfe

Führen Sie eine der folgenden Schritte um das Problem zu umgehen:
  • Stellen Sie sicher, dass jede Datenbankanmeldung entsprechende Berechtigungen für alle Datenbanken in derselben Transaktion verfügt.
  • Verwenden Sie denselben Benutzer für jede Verbindung in der Transaktion eingetragen, und stellen Sie sicher, dass der Benutzer auf alle Datenbanken in der Transaktion Berechtigungen gewährt wird.

Status

Microsoft hat bestätigt, dass dies einen Fehler in den Microsoft-Produkten ist, die im Abschnitt "Gilt für" aufgeführt sind.

Eigenschaften

Artikel-ID: 811476 - Geändert am: Montag, 25. April 2005 - Version: 2.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Keywords: 
kbmt kbsecurity kbauthentication kblogin kbserver kbprb kbbug KB811476 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: 811476
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