KB2520808 – KORJAUS: Ei-tuottava ajoitusvirhe suoritettaessa TVP:tä käyttävää kyselyä SQL Server 2008:ssa tai SQL Server 2008 R2:ssa, jos käytetään SQL-profilointia tai SQL Server laajennettuja tapahtumia

Käytetään kohteeseen
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Express with Advanced Services SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Express with Advanced Services SQL Server 2008 R2 Standard

Microsoft jakelee Microsoft SQL Server 2008 R2 -korjaukset yhtenä ladattavana tiedostona. Koska korjaukset ovat kumulatiivisia, jokainen uusi versio sisältää kaikki edelliseen SQL Server 2008 R2:n korjausversioon sisältyvät hotfix-korjaukset ja tietoturvakorjaukset.

Ongelman ilmenemistapa

Mieti seuraavaa tilannetta:

  • Käytät useita rivejä sisältävää taulukkoarvoista parametria (TVP) tietokoneessa, jossa on Microsoft SQL Server 2008 tai Microsoft SQL Server 2008 R2.
  • Käytät palvelimessa SQL-profilointia tai SQL Server -laajennettuja tapahtumia.
  • Kysely suoritetaan yhdessä, joka käyttää TVP:tä.

Tässä skenaariossa tapahtuu epämääräinen ajoitusvirhe ja kyselyt, jotka ovat jo käynnissä samassa ajoitustoiminnossa, etenevät hitaasti. Lisäksi pienoisvedostiedosto luodaan SQL Server -lokikansioon.

Syy

Tämä ongelma ilmenee SQL Server -tietokantamoduulin virheen vuoksi. TVP:n tekstisarakkeet toteutetaan lisäysmerkkijonoina tai puskurina, ja rivien määrän lisääminen lisää puskurien määrää. Puskurien vapauttaminen on kuitenkin aikaa vievä. Tämän vuoksi luodaan ei-periksiantava ajoitusvirhe, kun vapautus- ja kutistustoimintoja tapahtuu.

Ratkaisu

Voit ratkaista tämän ongelman SQL Server 2008 R2:ssa jollakin seuraavista tavoista:

  • Asenna SQL Server 2008 R2:n kumulatiivinen päivityspaketti 7.
  • Asenna seuraava hotfix-paketti.

Jos haluat kiertää ongelman SQL Server 2008 R2:ssa tai SQL Server 2008:ssa, katso Vaihtoehtoinen menetelmä -osio.

Kumulatiiviset päivitystiedot

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

Hotfix-korjauksen tiedot

            
 Tuettu hotfix-korjaus on saatavana Microsoftilta. Tämä hotfix-korjaus on kuitenkin tarkoitettu vain tässä artikkelissa kuvatun ongelman korjaamiseen. Käytä tätä hotfix-korjausta vain järjestelmissä, joissa esiintyy tässä artikkelissa kuvattu ongelma. Tämä Hotfix-korjaus vaatii ehkä lisätestejä. Jos ongelma ei vaikuta sinuun vakavasti, suosittelemme odottamaan seuraavaa tämän hotfix-korjauksen sisältävää ohjelmistopäivitystä.

Jos hotfix-korjaus on ladattavissa, Knowledge Base -artikkelin yläosassa on "Ladattavissa hotfix-korjauksia" -osio. Jos tätä osaa ei näy, ota yhteyttä Microsoftin asiakaspalveluun ja tukeen hotfix-korjauksen hankkimista varten.

Huomautus: Jos muita ongelmia ilmenee tai jos vianmääritystä tarvitaan, sinun on ehkä luotava erillinen palvelupyyntö. Tavalliset tukikustannukset veloitetaan lisäkysymyksistä ja ongelmista, jotka eivät liity tähän nimenomaiseen hotfix-korjaukseen. Täydellinen luettelo Microsoftin asiakaspalvelun ja tuen puhelinnumeroista tai erillisen huoltopyynnön luominen on seuraavassa Microsoftin verkkosivustossa:

/contactus/?ws=support Huomautus Hotfix-korjauksen lataus saatavilla -lomakkeessa näkyvät kielet, joilla hotfix-korjaus on saatavilla. Jos kieltä ei näy, sille ei ole saatavilla hotfix-korjausta.

Edellytykset

Jotta voit ottaa tämän Hotfix-korjauksen käyttöön, Microsoft SQL Server 2008 R2:n on oltava asennettuna.

Uudelleenkäynnistystarve

Tietokonetta ei tarvitse käynnistää uudelleen tämän hotfix-korjauksen käyttöönoton jälkeen.

Hotfix-korjauksen korvaustiedot

Tämä hotfix-korjaus ei korvaa aiemmin julkaistua hotfix-korjausta.

Tiedostojen tiedot

Tämän versiolla on seuraavassa taulukossa luetellut tiedostomääritteet (tai uudemmat tiedostomääritteet). Näiden tiedostojen päivämäärät ja kellonajat on lueteltu UTC-aikana (Matched Universal Time). Kun tarkastelet tiedoston tietoja, ne muunnetaan paikalliseksi ajaksi. Voit selvittää UTC-ajan ja paikallisen ajan välisen eron Ohjauspaneelin Päivämäärä ja aika -osion Aikavyöhyke-välilehdessä.

Kaikkia tuettuja SQL Server 2008 R2 -x86-versioita varten

Tiedoston nimi Tiedostoversio Tiedoston koko Päivämäärä Aika Käyttöympäristö
Sqlservr.exe 2009.100.1769.0 42,919,776 22-maalis-2011 19:37 x86

Kaikkia tuettuja SQL Server 2008 R2 -x64-versioita varten

Tiedoston nimi Tiedostoversio Tiedoston koko Päivämäärä Aika Käyttöympäristö
Sqlservr.exe 2009.100.1769.0 61,974,880 22-maalis-2011 18:46 x64

Kaikkia tuettuja SQL Server 2008 R2:n IA-64-versioita varten

Tiedoston nimi Tiedostoversio Tiedoston koko Päivämäärä Aika Käyttöympäristö
Sqlservr.exe 2009.100.1769.0 121,813,856 22-maalis-2011 18:14 IA-64

              

              

Vaihtoehtoinen menetelmä

Voit kiertää tämän ongelman jollakin seuraavista menetelmistä:

  • Älä käytä SQL-profilointia tai SQL Server -laajennettuja tapahtumia.
  • Poista seurantamäärityksen RPC:Aloitus - ja RPC:Valmis -valintaruudut napsauttamalla.

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.

Lisätietoja

Lisätietoja TVP:stä on seuraavassa MSDN-sivustossa:

Yleistä TVP:stä Lisätietoja SQL-profiloinnista on seuraavassa MSDN-sivustossa:

Yleistä SQL-profiloinnista