KB2519358 – FIKS: «Heltallsverdien er utenfor området»-feil når du sender en bigint-verdi som det last_sync_version argumentet i ENDRINGSTABELL-funksjonen i SQL Server 2008 eller i SQL Server 2008 R2

Gjelder for
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express

Microsoft distribuerer feilrettinger for Microsoft SQL Server 2008 Service Pack 1 (SP1) og Microsoft SQL Server 2008 R2 som én nedlastbar fil. Fordi rettelsene er kumulative, inneholder hver nye utgivelse alle hurtigreparasjoner og alle sikkerhetsrettelser som var inkludert i den forrige SQL Server 2008 SP1- og SOL Server 2008 R2-utgivelsen.

Symptomer

Tenk deg følgende:

  • Du aktiverer endringssporing i en tabell i SQL Server 2008 eller SQL Server 2008 R2.

  • Du kjører en spørring som bruker funksjonen ENDRINGSTABELL sammen med last_sync_version argument for å returnere sporingsinformasjon for endringene som har oppstått i tabellen.

  • En bigint-verdi sendes som last_sync_version argument.

Du kjører for eksempel følgende spørring når du har aktivert endringssporing i en tabell:

SELECT * FROM CHANGETABLE(changes dbo.t1, 2222222222) as ct

I dette scenariet mislykkes kjøringen av spørringen, og du mottar følgende informasjon:

Obs!

Msg 1080, nivå 15, delstat 1, linje 1
Heltallsverdien bigint-verdien er utenfor området.

Notater

  • Typen last_sync_version argumentet defineres som bigint. Det forventes derfor at spørringen kjøres.
  • Bigint-verdien er en plassholder som representerer bigint-verdien som sendes som last_sync_version-argument.

Oppløsning

Informasjon om kumulativ oppdatering

SQL Server 2008 R2 Service Pack 1

Løsningen på dette problemet ble først utgitt i kumulativ oppdatering 1 for SQL Server 2008 R2 Service Pack 1. Hvis du vil ha mer informasjon om hvordan du får tak i denne kumulative oppdateringspakken, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

2544793 kumulativ oppdateringspakke 1 for SQL Server 2008 R2 Service Pack 1Note Siden buildene er kumulative, inneholder hver nye reparasjon alle hurtigreparasjoner og sikkerhetsrettelser som fulgte med den forrige SQL Server 2008 R2-oppdateringen. Vi anbefaler at du vurderer å bruke den nyeste utgivelsen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du lese følgende artikkel i Microsoft Knowledge Base:

2567616 SQL Server 2008 R2-bygg som ble utgitt etter at SQL Server 2008 R2 Service Pack 1 ble utgitt

SQL Server 2008 Service Pack 2

Løsningen på dette problemet ble først utgitt i samleoppdatering 4 for SQL Server 2008 Service Pack 2. Hvis du vil ha mer informasjon om denne kumulative oppdateringspakken, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

2527180 kumulativ oppdateringspakke 4 for SQL Server 2008 Service Pack 2Note Siden buildene er kumulative, inneholder hver nye reparasjonsutgivelse alle hurtigreparasjoner og sikkerhetsrettelser som fulgte med den forrige SQL Server 2008-utgivelsen. Microsoft anbefaler at du vurderer å bruke den nyeste versjonen av løsningen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du lese følgende artikkel i Microsoft Knowledge Base:

2402659 SQL Server 2008-bygg som ble utgitt etter SQL Server 2008 Service Pack 2 ble utgitt, Microsoft SQL Server 2008-hurtigreparasjoner opprettes for bestemte SQL Server oppdateringspakker. Du må bruke en hurtigreparasjon for SQL Server 2008 Service Pack 2 på en installasjon av SQL Server 2008 Service Pack 2. Som standard er alle hurtigreparasjoner som leveres i en SQL Server-oppdateringspakke, inkludert i den neste SQL Server-oppdateringspakken.

SQL Server 2008 R2

Løsningen på dette problemet ble først utgitt i kumulativ oppdatering 7. Hvis du vil ha mer informasjon om hvordan du får tak i denne kumulative oppdateringspakken for SQL Server 2008 R2, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

2507770 kumulativ oppdateringspakke 7 for SQL Server 2008 R2 Merk Siden buildene er kumulative, inneholder hver nye reparasjon alle hurtigreparasjoner og alle sikkerhetsrettelser som fulgte med den forrige SQL Server 2008 R2-utgivelsen. Vi anbefaler at du vurderer å bruke den nyeste utgivelsen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du lese følgende artikkel i Microsoft Knowledge Base:

981356 SQL Server 2008 R2-byggene som ble utgitt etter at SQL Server 2008 R2 ble utgitt
Løsningen på dette problemet ble først utgitt i kumulativ oppdatering 13. Hvis du vil ha mer informasjon om hvordan du får tak i denne kumulative oppdateringspakken for SQL Server 2008 SP1, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

2497673 kumulativ oppdateringspakke 13 for SQL Server 2008 Service Pack 1
Obs! Siden byggene er kumulative, inneholder hver nye reparasjonsutgivelse alle hurtigreparasjoner og alle sikkerhetsrettelser som var inkludert i den forrige utgivelsen av SQL Server 2008 SP1. Vi anbefaler at du vurderer å bruke den nyeste utgivelsen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du lese følgende artikkel i Microsoft Knowledge Base:

970365 SQL Server 2008-versjonene som ble utgitt etter at Service Pack 1 SQL Server 2008 ble utgitt

Status

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

Midlertidig løsning

Du kan omgå dette problemet ved å opprette en variabel av typen bigint, og deretter sende variabelen som det last_sync_version argumentet i ENDRINGSTABELL-funksjonen. Du kan for eksempel kjøre følgende spørring:

DECLARE @v3 bigint = 2222222222
SELECT * FROM CHANGETABLE(changes dbo.t1, @v3 ) as ct

Mer informasjon

Hvis du vil ha mer informasjon om CHANGETABLE-funksjonen for Transact-SQL, kan du gå til følgende MSDN-webområde (Microsoft Development Network):

Generell informasjon om CHANGETABLE-funksjonen for Transact-SQL