Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

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

Author: jannaw
Writer: v-yipli
Teknisk redaktør: pradm; jannaw; hozhan
Editor: 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.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×