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 #: 8490536 (SQL VSTS)
Feil #: 53970 (innhold idé)

Symptomer

I en Microsoft SQL Server-2016-miljø, kan du behandle flere partisjoner på en tabell i parallell. Når du sporer fremdriften, kan du se en omkoding hendelse for minst én av kolonnene.

I så fall kan behandlingsoperasjonen mislykkes med en feil. Noen ganger behandling kan fullføres, men deretter etterfølgende spørringer mislykkes med en feil som ligner på følgende:

Det oppstod et uventet unntak.
Det oppstod et uventet unntak. (2016 for Microsoft SQL Server Analysis Services)
Plassering av programmet:
på Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.IExecuteProvider.ExecuteTabular (CommandBehavior virkemåte, ICommandContentProvider contentProvider, AdomdPropertyCollection, commandProperties, IDataParameterCollection parametere)
på Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader (CommandBehavior virkemåte)
ved Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader()
ved Microsoft.ReportingServices.QueryDesigners.ASDesigner.QueryBuilderClientControl.QueryExec.ThreadExecution()

Obs! Dette problemet oppstår noen ganger etter at behandlingen er fullført og spørringer utføres mot dataene behandles.

Oppløsning

Informasjon om kumulativ oppdatering

Hurtigreparasjonen for dette problemet er inkludert i følgende kumulativ oppdatering for SQL Server:

Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:

Nyeste kumulative oppdateringen for SQL Server-2016


Løsningen

Hvis du vil omgå dette problemet, gjør du ett av følgende:

  • Bestemme hvilke kolonner som krever koding på nytt, og bruk en falsk partisjon i begynnelsen til å generere verdier som vil tvinge hash-koding i gjenkjenningsfasen. Falske partisjonen må være den som brukes til å velge kodingen før parallellisme begynner. Når alle partisjonene er behandlet, kan du fjerne eller slette partisjonen falske.

  • Bruke serielle behandling i stedet for parallell behandling.

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Hvis du vil ha mer informasjon

Parallell behandling av tabellform partisjoner har følgende logikken:

  • Bruke data i én partisjon ikke avgjøre kodingen (enten verdi eller hash) av kolonnene.

  • Etter at kodingen er valgt, kan de andre partisjonene begynne å behandle parallelt.

  • Hvis er valgt som koding verdi, og som radene hentes, kan en verdi oppstå som ikke får plass i kodeoppsettet som verdi. I dette tilfellet må hele kolonnen omkodes i kodeoppsettet som hash-kode.

  • Operasjonen på nytt koding (det å konvertere verdien koding i hash-koding) oppdager et problem når andre partisjoner behandles samtidig.

Kallstakk

0:029> kpn100
# Underordnet-SP RetAddr samtale område
00 (innebygd funksjon)-------xmsrv! XMMemoryHashDataDictionary < dobbel >:: GetNonNullValueNV + 0x7
01 00000052' 4719ef40 00007ffd'a9a5b1ae xmsrv! XMVertiScanJob::Agg_RM_C21_Sum_YesNulls_Real_BNo_HashDictionary (struct XMVertiScanState * io_rVertiScanState = 0x00000052'4719f140, int64 in_iMeasure = 0n1) + 0x1db
02 00000052' 4719ef80 00007ffd'a9873250 xmsrv! XMVertiScanJob::AggXPI (struct XMVertiScanState * io_rVertiScanState = 0x00000052'4719f140, int64 in_iMeasure = 0n1) + 0x1a4e
03 (innebygd funksjon)-------xmsrv! XMVertiScanJob::AggXPIWrapper + 0x2e
04 00000052' 4719efe0 00007ffd'a9870ee5 xmsrv! XMVertiScanJob::ComputeMeasures (struct XMVertiScanState * io_rVertiScanState = 0x00000052'4719f140) + 0x870
05 00000052' 4719f0a0 00007ffd'a9870a13 xmsrv! XMVertiScanJob::RunInternal (klasse XMIDataCache * in_pDataCache = < verdi utilgjengelig feil >) + 0x425
06 00000052' 4719f2c0 00007ffd'a9870646 xmsrv! XMVertiScanJob::RunSegment (int64 in_iSegment = 0n2, klasse XMIDataCache * in_pDataCache = 0x00000052'6c0c1b88) + 0xd3
07 00000052' 4719f320 00007ffd'a959b201 xmsrv! XMVertiScanJob::Run (void) + 0x2a6
08 00000052' 4719f3e0 00007ffd'a95929b1 xmsrv! XMJob::ExecuteRunWrapper (void) + 0x261
09 00000052' 4719f510 00007ffd'a9592568 xmsrv! XMScheduler::ContinueJob (void) + 0x431
0a 00000052' 4719f7e0 00007ffd'a959e434 xmsrv! XMScheduler::ExecuteWork (unsigned int64 in_mskThreadAffinity = 0x00007ffd'00010000) + 0x18
0b 00000052' 4719f810 00007ffd'a959e0b8 xmsrv! XMThreadPool::WorkerMethod (struct XMThreadPoolInitArg * in_pInitArg = 0x00000052'2ba2f200) + 0xe4
0c 00000052' 4719f850 00007ffd'c68b4f87 xmsrv! XMThreadPool::InternalThreadProc (void * lpParameter = 0x00000052'2ba2f200) + 0x28
0d 00000052`4719f880 00007ffd`c68b512e msvcr120!_callthreadstartex(void)+0x17
0E 00000052' 4719f8b0 00007ffd'd98f13d2 msvcr120! _threadstartex (void * ptd = 0x00000052'2928a620) + 0x102
0f 00000052' 4719f8e0 00007ffd'dbb854e4 kernel32! BaseThreadInitThunk (unsigned lang RunProcessInit = < verdi utilgjengelig feil >, < funksjonen > * StartAddress = 0x00007ffd'c68b502c, void * argumentet = 0x00000052'2928a620) + 0x22
10 00000052' 4719f910 00000000'00000000-ntdll! RtlUserThreadStart (< funksjonen > * StartAddress = 0x00007ffd'c68b502c, void * argumentet = 0x00000052'2928a620) + 0x34

Referanser

Lær mer om terminologien som Microsoft bruker til å beskrive oppdateringer av programvare.

LAG:
Forfatter:
Tekstforfatter: v-thomr
Teknisk redaktør: akshaim; sarchid; v-fmeng; sqlprev; daleche
Redaktør: v-rhowar

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!

×