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

Feil #: 187868 (Innholdsvedlikehold)VSTS: 1340145

Microsoft distribuerer hurtigreparasjoner for Microsoft SQL Server 2012 i én nedlastbar fil. Fordi reparasjonene er kumulative, inneholder hver nye utgivelse alle hurtigreparasjonene og alle sikkerhetsoppdateringene som var inkludert i den forrige SQL Server 2012 utgivelsen av oppdateringen.

Symptomer

Tenk deg følgende:

  • Du oppretter en lagret prosedyre som bruker en tabell objektegenskap parameter (TVP) i Microsoft SQL Server 2012.

  • Du bruker SQL-Profiler eller utvidet SQL Server-hendelser til å fange opp de RPC: fra og RPC: fullført hendelser.

  • Du kjører en spørring som bruker TVP.

  • Spørringen blir tidsavbrutt.

I dette scenariet planlegger en ikke-noe som gir en feil oppstår, og spørringer som kjøres på samme planleggeren kjører sakte. I tillegg genereres det en mini dumpfilen i SQL Server Logg-mappen.Når dette skjer, får du en feilmelding som ligner på følgende:

System.Data.SqlClient.SqlException (0x80131904): Et tidsavbrudd. Tidsavbruddsperioden utløp før fullføring av operasjonen eller serveren svarer ikke.på System.Data.SqlClient.SqlInternalConnection.OnError (SqlException-unntak, boolske breakConnection)ved System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()på System.Data.SqlClient.TdsParserStateObject.ReadSniError (TdsParserStateObject stateObj, UInt32 feil)på System.Data.SqlClient.TdsParserStateObject.ReadSni (DbAsyncResult asyncResult, TdsParserStateObject stateObj)ved System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()ved System.Data.SqlClient.TdsParserStateObject.ReadByte()på System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand-cmdHandler, SqlDataReader dataflyt, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)på System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)på System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior runBehavior, boolsk returnStream, boolske asynkron)på System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, boolske returnStream, streng metode, resultatet av DbAsyncResult)på System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery (DbAsyncResult resultat, noe methodName streng, boolsk sendToPipe)ved System.Data.SqlClient.SqlCommand.ExecuteNonQuery()ved TVPApp.Program.Main (String [] args)

Ikke gir scheduler feilen sammen med en feilmelding som ligner på følgende, logges i SQL Server-feilloggen:

< Dato >< tid > Server ved hjelp av 'dbghelp.dll' versjon '4.0.5'< Dato >< gang > Server *** kan ikke hente omgivelser for tråd for spid #<Date><Time> Server * *******************************************************************************< Dato >< gang > Server *< Dato >< gang > Server * Start STAKKDUMP:< Dato >< gang > Server * < dato >< gang > spid #< Dato >< gang > Server *< Dato >< gang > Server * ikke-fører til Oppgaveplanlegging< Dato >< gang > Server *<Date><Time> Server * *******************************************************************************< Dato >< gang > Server Stack signatur for dump er 0x000000000000002C< Dato >< tid > Server eksterne dump prosessen retur koden 0x20000001.Eksterne dump-prosess returnerte ingen feil.< Dato >< gang > serverprosessen 0:0:0 (0x1670) arbeider 0x0000000004EDE160 ser ut til å være ikke-noe som gir en på Scheduler 5. Tråd opprettingstidspunkt: 13014210386757. Omtrentlig tråd CPU brukt: kjernen 0 ms, bruker 70106 FR. prosessen utnyttelse 16%. System Idle 77%. Intervall: ms 70140.< Dato >< gang > serverprosessen 0:0:0 (0x1670) arbeider 0x0000000004EDE160 ser ut til å være ikke-noe som gir en på Scheduler 5. Tråd opprettingstidspunkt:

Årsak

Dette problemet oppstår på grunn av en feil i SQL Server 2012 Database Engine. Tekstspalter i TVP implementeres som setter inn strenger eller buffere, og en økning i antall rader øker antall buffere. Det er imidlertid tidkrevende prosessen som utgir buffere. Derfor planlegger en ikke-noe som gir en feil genereres når slipper og redusere operasjoner utføres.Obs! Et lignende problem er omtalt i følgende Microsoft Knowledge base-artikkel. Kumulativ oppdateringspakke som er beskrevet i artikkelen er imidlertid ikke spørringen tidsavbrudd-spørsmål.

Løs 2520808 : scheduler gir feil når du kjører en spørring som bruker en TVP i SQL Server 2008 eller i SQL Server 2008 R2 Hvis du bruker SQL-Profiler eller utvidet SQL Server-hendelser

Oppløsning

Informasjon om kumulativ oppdatering

Kumulativ oppdateringspakke 5 for SQL Server 2012 Service Pack 1 (SP1)

Hurtigreparasjonen for dette problemet ble først utgitt i kumulative oppdateringen 5. Hvis du vil ha mer informasjon om hvordan du får tak i denne kumulative oppdateringen for SQL Server 2012, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

2861107 kumulativ sikkerhetsoppdateringspakke 5 for SQL Server 2012Obs! Fordi versjoner er kumulative, inneholder hver nye fix-utgivelse alle hurtigreparasjonene og sikkerhetsreparasjonene som var inkludert i den forrige SQL Server 2012 Løs utgivelsen. Vi anbefaler at du vurderer å bruke den nyeste versjonen av hurtigreparasjonen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

2772858 for SQL Server 2012 bygger som er utgitt etter Service Pack 1 for SQL Server 2012 ble utgitt

Løsningen

Hvis du vil omgå dette problemet, bruker du én av følgende metoder:

  • Ikke bruk SQL-Profiler eller utvidet SQL Server-hendelser.

  • Klikk for å fjerne den RPC: fra og RPC: fullført merket i spor-definisjonen.

Hvis du vil ha mer informasjon

Denne løsningen gjelder ikke for SQL Server 2008 eller SQL Server 2008 R2 når denne KB-artikkelen publiseres. Hvis alle brukere får det samme problemet i SQL Server 2008 eller SQL Server 2008 R2 etter at brukerne installerer pakke som er beskrevet i følgende artikkel, validere Hvis det oppstår et tidsavbrudd for spørring og finne ut om tidsavbruddet kan være løst. Hvis ikke, sende en forespørsel om å bruke denne feilrettingen i SQL Server 2008 eller SQL Server 2008 R2.

Løs 2520808 : scheduler gir feil når du kjører en spørring som bruker en TVP i SQL Server 2008 eller i SQL Server 2008 R2 Hvis du bruker SQL-Profiler eller utvidet SQL Server-hendelser

Kallstakk

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 har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Author: jannawWriter: v-yipliTeknisk redaktør: pradm; jannaw; hozhanEditor: v-mordew

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.