Applies ToSQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

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+0x69sqlmin!CMainIlb::{dtor}+0x3dsqlmin!CMainIlb::`scalar deleting destructor'+0x3dsqlmin!CBlobHandleFactoryMain::ReleaseILockBytes+0x13sqlmin!CMainIlb::Release+0xf0sqllang!CTraceRpcBinaryStream::~CTraceRpcBinaryStream+0x80sqllang!CTraceTvpData::{dtor}+0x14sqllang!CTraceTvpData::`scalar deleting destructor'+0x1esqllang!CRpcTraceHelper::CleanUpTraceTvpData+0x33sqllang!CRpcTraceHelper::~CRpcTraceHelper+0x70sqllang!CRPCExecEnv::~CRPCExecEnv+0x2absqllang!CRPCExecEnv::`scalar deleting destructor'+0x14sqllang!process_request+0x10b1sqllang!process_commands+0x51csqldk!SOS_Task::Param::Execute+0x21esqldk!SOS_Scheduler::RunTask+0xa8sqldk!SOS_Scheduler::ProcessTasks+0x299sqldk!SchedulerManager::WorkerEntryPoint+0x261sqldk!SystemThread::RunWorker+0x8fsqldk!SystemThreadDispatcher::ProcessWorker+0x3c8sqldk!SchedulerManager::ThreadEntryPoint+0x236kernel32!BaseThreadInitThunk+0xdntdll!RtlUserThreadStart+0x1d  
sqlmin!CLinkedMap<__int64,CCheckReadersAndWriters::CCounts>::FDelete+0x34sqlmin!CCheckReadersAndWriters::Release+0xfbsqlmin!CMainIlb::{dtor}+0x3dsqlmin!CMainIlb::`scalar deleting destructor'+0x3dsqlmin!CBlobHandleFactoryMain::ReleaseILockBytes+0x13sqlmin!CMainIlb::Release+0xf0sqllang!CTraceRpcBinaryStream::~CTraceRpcBinaryStream+0x80sqllang!CTraceTvpData::{dtor}+0x11sqllang!CRpcTraceHelper::CleanUpTraceTvpData+0x55sqllang!CRpcTraceHelper::TracePostExec+0x1bfsqllang!CRPCExecEnv::OnExecFinish+0xaasqllang!CProtocolHeaderInfo::{dtor}+0xffffffff`ffb158e2sqllang!process_request+0x764sqllang!process_commands+0x51csqldk!SOS_Task::Param::Execute+0x21esqldk!SOS_Scheduler::RunTask+0xa8sqldk!SOS_Scheduler::ProcessTasks+0x29asqldk!SchedulerManager::WorkerEntryPoint+0x261sqldk!SystemThread::RunWorker+0x8fsqldk!SystemThreadDispatcher::ProcessWorker+0x3c8sqldk!SchedulerManager::ThreadEntryPoint+0x236kernel32!BaseThreadInitThunk+0x1antdll!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: jannawWriter: v-yipliTechnische Überprüfung: Pradm, Jannaw, hozhanEditor: v-mordew

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.