Microsoft jakelee Microsoft SQL Server 2008 Service Pack 1 (SP1)- ja Microsoft SQL Server 2008 R2 -korjaukset yhtenä ladattavana tiedostona. Koska korjaukset ovat kumulatiivisia, jokainen uusi versio sisältää kaikki hotfix-korjaukset ja tietoturvakorjaukset, jotka sisältyivät aiempiin SQL Server 2008 SP1- ja SOL Server 2008 R2 -korjausjulkaisuihin.
Ongelman ilmenemistapa
Mieti seuraavaa tilannetta:
Voit ottaa muutosten jäljityksen käyttöön taulukossa SQL Server 2008:ssa tai SQL Server 2008 R2:ssa.
Suoritat kyselyn, joka käyttää MUUTATAULUKKO-funktiota yhdessä last_sync_version-argumentin kanssa taulukossa tapahtuneiden muutosten seurantatietojen palauttamiseen.
Bigint-arvo välitetään last_sync_version argumentiksi.
Suoritat esimerkiksi seuraavan kyselyn, kun olet ottanut muutosten jäljityksen käyttöön taulukossa:
SELECT * FROM CHANGETABLE(changes dbo.t1, 2222222222) as ct
Tässä skenaariossa kyselyn suorittaminen epäonnistuu ja näyttöön tulevat seuraavat tiedot:
Huomautus
Msg 1080, taso 15, tila 1, rivi 1
Kokonaislukuarvo, jonka suurin kokonaislukuarvo on alueen ulkopuolella.
Muistiinpanot
- last_sync_version-argumentin tyypiksi määritetään isokokonaisluku. Tämän vuoksi kyselyn odotetaan toimivan onnistuneesti.
- BigInt-arvo on paikkamerkki, joka edustaa last_sync_version-argumenttina välitettävää BigInt-arvoa.
Ratkaisu
Kumulatiiviset päivitystiedot
SQL Server 2008 R2 Service Pack 1
Tämän ongelman korjaus julkaistiin ensimmäisenä SQL Server 2008 R2 Service Pack 1:n kumulatiivisessa päivityksessä 1. Saat lisätietoja tämän kumulatiivisen päivityspaketin hankkimisesta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
2544793 SQL Server 2008 R2 Service Pack 1:n kumulatiivinen päivityspaketti 1Huomautus Koska koontiversiot ovat kumulatiivisia, jokainen uusi korjausversio sisältää kaikki SQL Server 2008 R2:n aiempaan korjausversioon sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Suosittelemme, että otat käyttöön uusimman korjausversion, joka sisältää tämän hotfix-korjauksen. Lisätietoja saat napsauttamalla seuraavaa Microsoft Knowledge Base -tietokanta -artikkelinumeroa:
2567616 SQL Server 2008 R2 -koontiversiot, jotka on julkaistu SQL Server 2008 R2 Service Pack 1:n jälkeen
SQL Server 2008 Service Pack 2
Tämän ongelman korjaus julkaistiin ensimmäisenä SQL Server 2008 Service Pack 2:n kumulatiivisessa päivityksessä 4. Saat lisätietoja tästä kumulatiivisesta päivityspaketista napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
2527180 Kumulatiivinen päivityspaketti 4 SQL Server 2008 Service Pack 2:lleHuomautus Koska koontiversiot ovat kumulatiivisia, jokainen uusi korjausversio sisältää kaikki hotfix-korjaukset ja tietoturvakorjaukset, jotka sisältyivät edelliseen SQL Server 2008:n korjausversioon. Microsoft suosittelee, että otat käyttöön uusimman kyseisen hotfix-korjauksen sisältävän korjausversion. Lisätietoja saat napsauttamalla seuraavaa Microsoft Knowledge Base -tietokanta -artikkelinumeroa:
2402659 SQL Server 2008 -koontiversiot, jotka on julkaistu SQL Server 2008 Service Pack 2:n julkaisemisen jälkeen Microsoft SQL Server 2008:n hotfix-korjaukset on tarkoitettu tietyille SQL Server Service Pack -paketeille. SQL Server 2008 Service Pack 2:n asennuksessa on käytettävä SQL Server 2008 Service Pack 2:n hotfix-korjausta. Oletusarvoisesti kaikki SQL Server Service Pack -pakettiin sisältyvät hotfix-korjaukset seuraavaan SQL Server Service Packiin.
SQL Server 2008 R2
Tämän ongelman korjaus julkaistiin ensin kumulatiivisessa päivityksessä 7. Saat lisätietoja tämän SQL Server 2008 R2:n kumulatiivisen päivityspaketin hankkimisesta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
2507770 SQL Server 2008 R2:n kumulatiivinen päivityspaketti 7 Huomautus Koska koontiversiot ovat kumulatiivisia, jokainen uusi korjausversio sisältää kaikki edelliseen SQL Server 2008 R2:n korjausversioon sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Suosittelemme, että otat käyttöön uusimman korjausversion, joka sisältää tämän hotfix-korjauksen. Lisätietoja saat napsauttamalla seuraavaa Microsoft Knowledge Base -tietokanta -artikkelinumeroa:
981356 SQL Server 2008 R2 -koontiversiot, jotka julkaistiin SQL Server 2008 R2:n jälkeen
Tämän ongelman korjaus julkaistiin ensin kumulatiivisessa päivityksessä 13. Saat lisätietoja tämän SQL Server 2008 SP1:n kumulatiivisen päivityspaketin hankkimisesta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
2497673 Kumulatiivinen päivityspaketti 13 SQL Server 2008 Service Pack 1:lle
Huomautus: Koska koontiversiot ovat kumulatiivisia, jokainen uusi korjausversio sisältää kaikki hotfix-korjaukset ja tietoturvakorjaukset, jotka sisältyivät aiempaan SQL Server 2008 SP1:n korjausversioon. Suosittelemme, että otat käyttöön uusimman korjausversion, joka sisältää tämän hotfix-korjauksen. Lisätietoja saat napsauttamalla seuraavaa Microsoft Knowledge Base -tietokanta -artikkelinumeroa:
970365 SQL Server 2008 -koontiversiot, jotka on julkaistu SQL Server 2008 Service Pack 1:n julkaisemisen jälkeen
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.
Vaihtoehtoinen menetelmä
Voit kiertää ongelman luomalla muuttujan tyyppisellä bigint-muuttujalla ja antamalla sitten muuttuja MUUTATAULUKKO-funktion last_sync_version argumentiksi. Voit suorittaa menestyksekkäästi esimerkiksi seuraavan kyselyn:
DECLARE @v3 bigint = 2222222222
SELECT * FROM CHANGETABLE(changes dbo.t1, @v3 ) as ct
Lisätietoja
Lisätietoja Transact-SQL:n MUUTATAULUKKO-funktiosta on seuraavassa Microsoft Development Network (MSDN) -sivustossa: