Update: Kein Ergebnis Scheduler Fehler beim Ausführen einer gespeicherten Prozedur, die eine TVP in SQL Server 2012 verwendet

Fehler #: 187868 (Content Maintenance)VSTS: 1340145

Microsoft stellt Updates für Microsoft SQL Server 2012 in einer downloadbaren Datei. Da die kumulativ sind, jede neue Version enthält alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2012 Release aktualisieren.

Problembeschreibung

Betrachten Sie das folgende Szenario:

  • Sie erstellen eine gespeicherte Prozedur, die einen Tabellenwertparameter (TVP) in Microsoft SQL Server 2012 verwendet.

  • Verwenden Sie SQL Profiler oder SQL Server Extended Events erfassen die RPC: ab und RPC: abgeschlossen Ereignisse.

  • Ausführen eine Abfrage, die TVP verwendet.

  • Die Abfrage ist ein Timeout aufgetreten.

In diesem Szenario ein kein Ergebnis Scheduler Fehler und Abfragen, die auf den gleichen Planer arbeiten langsam. Darüber hinaus wird eine Minidump-Datei im Protokollordner von SQL Server generiert.
Wenn dieses Problem auftritt, erhalten Sie eine Fehlermeldung, die der folgenden ähnelt:

System.Data.SqlClient.SqlException (0x80131904): Timeout abgelaufen. Das Zeitlimit wurde vor Abschluss des Vorgangs oder der Server antwortet nicht.
Bei System.Data.SqlClient.SqlInternalConnection.OnError (SqlException-Ausnahme, boolesche BreakConnection)
am System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
Bei System.Data.SqlClient.TdsParserStateObject.ReadSniError (TdsParserStateObject StateObj, UInt32-Fehler)
Bei System.Data.SqlClient.TdsParserStateObject.ReadSni (DbAsyncResult AsyncResult, TdsParserStateObject StateObj)
am System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
am System.Data.SqlClient.TdsParserStateObject.ReadByte()
Bei System.Data.SqlClient.TdsParser.Run (RunBehavior RunBehavior CmdHandler SqlCommand SqlDataReader Datenstrom, BulkCopySimpleResultSet BulkCopyHandler, TdsParserStateObject StateObj)
Bei System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior RunBehavior ResetOptionsString Zeichenfolge)
Bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior CmdBehavior RunBehavior RunBehavior boolesche ReturnStream, Boolean Async)
Bei System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior CmdBehavior RunBehavior RunBehavior ReturnStream Boolean, String-Methode DbAsyncResult Ergebnis)
Bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery (DbAsyncResult Ergebnis, Zeichenfolge MethodName booleschen SendToPipe)
am System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
Bei TVPApp.Program.Main (String [] Args)


Zusammen mit einer Fehlermeldung, die der folgenden ähnelt Fehlermeldung Planer kein Ergebnis wird in der SQL Server-Fehlerprotokoll protokolliert:

< Datum >< Uhrzeit > Server verwenden "dbghelp.dll" Version "4.0.5"
< Datum >< > Server *** zu Threadkontext SPID #
<Date><Time> Server * *******************************************************************************
< Datum >< > Server *
< Datum >< > Server * STAPELDUMPS beginnen:
< Datum >< > Server * < Datum >< > Spid #
< Datum >< > Server *
< Datum >< > Server * kein Ergebnis Planer
< Datum >< > Server *
<Date><Time> Server * *******************************************************************************
< Datum >< > ist Server Stapel für das Speicherabbild 0x000000000000002C
< Datum >< Uhrzeit > Server externe Dump Prozess Return Code 0x20000001.
Externe Speicherabbilddatei gab keine Fehler.
Serverprozess < Datum >< > 0:0:0 (0x1670) Arbeitskraft 0x0000000004EDE160 scheint kein Ergebnis Planer 5. Thread-Erstellung: 13014210386757. Ca. Thread CPU verwendet: Kernel 0 ms Benutzer 70106 Frau Thema 16 %. 77 % Leerlauf. Intervall: 70140 ms.
Serverprozess < Datum >< > 0:0:0 (0x1670) Arbeitskraft 0x0000000004EDE160 scheint kein Ergebnis Planer 5. Thread-Erstellung:

Ursache

Dieses Problem tritt aufgrund eines Fehlers in SQL Server 2012-Datenbank-Engine. Die Textspalten in der TVP werden als Zeichenfolgen oder Puffer eingefügt und ein erhöht die Anzahl der Zeilen die Anzahl der Puffer. Der Prozess, der Puffer frei ist jedoch zeitaufwändig. Daher generiert ein Planer kein Ergebnis Fehler beim Freigeben und Verkleinerungsvorgänge auftreten.

Hinweis Ein ähnliches Problem wurde im folgenden Microsoft Knowledge Base-Artikel behandelt. Das kumulative Updatepaket, das im Artikel beschriebene ist nicht für eine Abfrage-Timeout-Problem.

2520808 beheben: kein Ergebnis Scheduler Fehler beim Ausführen einer Abfrage, die TVP in SQL Server 2008 oder SQL Server 2008 R2 verwendet SQL Profiler oder SQL Server Extended Events verwendet wird

Problemlösung

Informationen zum kumulativen Update

Kumulatives Updatepaket 5 für SQL Server 2012 Service Pack 1 (SP1)

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 5 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket für SQL Server 2012 finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2861107 kumulative Updatepaket 5 für SQL Server 2012Hinweis Da diese Builds kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in früheren SQL Server 2012 enthalten waren. Wir empfehlen Sie prüfen die neueste Update-Version, die diesen Hotfix enthält. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

2772858 der SQL Server 2012 builds, die nach der Freigabe von Service Pack 1 für SQL Server 2012

PROBLEMUMGEHUNG

Um dieses Problem zu umgehen, verwenden Sie eine der folgenden Methoden:

  • Verwenden Sie SQL Profiler oder SQL Server Extended Events.

  • Deaktivieren Sie die RPC: ab und RPC: abgeschlossen Kontrollkästchen in die Ablaufverfolgungsdefinition.

Weitere Informationen

Dies gilt nicht für SQL Server 2008 oder SQL Server 2008 R2, wenn dieser KB veröffentlicht wird. Sollten alle Benutzer das gleiche Problem in SQL Server 2008 oder SQL Server 2008 R2 auch nach Benutzer das Paket, das im folgenden Artikel beschrieben wird, ist ein Abfragetimeout überprüfen Sie und bestimmen Sie, ob das Timeout aufgelöst werden kann. Andernfalls Antrag auf dieses Updates auf SQL Server 2008 oder SQL Server 2008 R2.

2520808 beheben: kein Ergebnis Scheduler Fehler beim Ausführen einer Abfrage, die TVP in SQL Server 2008 oder SQL Server 2008 R2 verwendet SQL Profiler oder SQL Server Extended Events verwendet wird

Aufruflisteninformationen

sqlmin!CLinkedMap<__int64,CCheckReadersAndWriters::CCounts>::FLookup+0x29sqlmin!CCheckReadersAndWriters::Release+0x69
sqlmin!CMainIlb::{dtor}+0x3d
sqlmin!CMainIlb::`scalar deleting destructor'+0x3d
sqlmin!CBlobHandleFactoryMain::ReleaseILockBytes+0x13
sqlmin!CMainIlb::Release+0xf0
sqllang!CTraceRpcBinaryStream::~CTraceRpcBinaryStream+0x80
sqllang!CTraceTvpData::{dtor}+0x14
sqllang!CTraceTvpData::`scalar deleting destructor'+0x1e
sqllang!CRpcTraceHelper::CleanUpTraceTvpData+0x33
sqllang!CRpcTraceHelper::~CRpcTraceHelper+0x70
sqllang!CRPCExecEnv::~CRPCExecEnv+0x2ab
sqllang!CRPCExecEnv::`scalar deleting destructor'+0x14
sqllang!process_request+0x10b1
sqllang!process_commands+0x51c
sqldk!SOS_Task::Param::Execute+0x21e
sqldk!SOS_Scheduler::RunTask+0xa8
sqldk!SOS_Scheduler::ProcessTasks+0x299
sqldk!SchedulerManager::WorkerEntryPoint+0x261
sqldk!SystemThread::RunWorker+0x8f
sqldk!SystemThreadDispatcher::ProcessWorker+0x3c8
sqldk!SchedulerManager::ThreadEntryPoint+0x236
kernel32!BaseThreadInitThunk+0xd
ntdll!RtlUserThreadStart+0x1d
sqlmin!CLinkedMap<__int64,CCheckReadersAndWriters::CCounts>::FDelete+0x34sqlmin!CCheckReadersAndWriters::Release+0xfb
sqlmin!CMainIlb::{dtor}+0x3d
sqlmin!CMainIlb::`scalar deleting destructor'+0x3d
sqlmin!CBlobHandleFactoryMain::ReleaseILockBytes+0x13
sqlmin!CMainIlb::Release+0xf0
sqllang!CTraceRpcBinaryStream::~CTraceRpcBinaryStream+0x80
sqllang!CTraceTvpData::{dtor}+0x11
sqllang!CRpcTraceHelper::CleanUpTraceTvpData+0x55
sqllang!CRpcTraceHelper::TracePostExec+0x1bf
sqllang!CRPCExecEnv::OnExecFinish+0xaa
sqllang!CProtocolHeaderInfo::{dtor}+0xffffffff`ffb158e2
sqllang!process_request+0x764
sqllang!process_commands+0x51c
sqldk!SOS_Task::Param::Execute+0x21e
sqldk!SOS_Scheduler::RunTask+0xa8
sqldk!SOS_Scheduler::ProcessTasks+0x29a
sqldk!SchedulerManager::WorkerEntryPoint+0x261
sqldk!SystemThread::RunWorker+0x8f
sqldk!SystemThreadDispatcher::ProcessWorker+0x3c8
sqldk!SchedulerManager::ThreadEntryPoint+0x236
kernel32!BaseThreadInitThunk+0x1a
ntdll!RtlUserThreadStart+0x1d

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Author: jannaw
Writer: v-yipli
Technische Überprüfung: Pradm, Jannaw, hozhan
Editor: v-mordew

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×