Microsoft jakelee Microsoft SQL Server 2005-, Microsoft SQL Server 2008- ja Microsoft SQL Server 2008 R2 -korjauksia yhtenä ladattavana tiedostona. Koska korjaukset ovat kumulatiivisia, jokainen uusi versio sisältää kaikki hotfix-korjaukset ja tietoturvakorjaukset, jotka sisältyivät aiempiin SQL Server 2005-, Microsoft SQL Server 2008- ja SQL Server 2008 R2 -korjausjulkaisuihin.
Tässä artikkelissa kuvattu korjaus on saatavilla seuraaviin SQL Server -versioihin:
- Microsoft SQL Server 2005 Service Pack 3 (SP3)
- Microsoft SQL Server 2005 Service Pack 4 (SP4)
- Microsoft SQL Server 2008 Service Pack 1 (SP1)
- Microsoft SQL Server 2008 Service Pack 2 (SP2)
Ongelman ilmenemistapa
Mieti seuraavaa tilannetta:
Luot linkitetyn palvelimen tietokoneeseen, jossa on Microsoft SQL Server 2005, Microsoft SQL Server 2008 tai Microsoft SQL Server 2008 R2. Linkitetty palvelin osoittaa etäpalvelimessa olevaan OLE DB -tietolähteeseen.
Luot synonyymin linkitetyllä palvelimella olevalle taulukolle.
Luot käyttäjän määrittämän funktion, joka käyttää synonyymia, tai näkymän, joka käyttää synonyymia. Sen jälkeen suoritat kyselyn käyttäjän määrittämää funktiota tai näkymää vastaan.
Huomautus: Kun suoritat kyselyn, toimeenpanosuunnitelma tallennetaan välimuistiin.
Suoritat etäpalvelimessa toiminnon, jolla päivität taulukon rakenneversion linkitetyssä palvelimessa. Voit esimerkiksi luoda taulukon indeksin uudelleen etäpalvelimessa linkitetyn palvelimen taulukon rakenneversion päivittämiseksi.
Suoritat toisen kyselyn käyttäjän määrittämälle funktiolle tai näkymälle.
Tässä skenaariossa näyttöön tulee virhesanoma, joka on seuraavanlainen:
Huomautus
Palvelin: msg 7359, tason numero, osavaltion osavaltion numero, rivin numero
OLE DB -palvelu "Palvelun nimi" linkitetylle palvelimelle "Linkitetyn palvelimen nimi" ilmoitti rakenteen muutoksesta käännösajan ("Käännösaika") ja suoritusajan ("Suoritusaika") välillä taulukolle "Linkitetyn taulukon nimi".
Huomautus: Palvelun nimi on paikkamerkki, joka vastaa OLE DB -palvelun nimeä. Linkitetyn taulukon nimi on paikkamerkki, joka vastaa linkitetyllä palvelimella olevan taulukon nimeä.
Syy
Tämä ongelma ilmenee, koska olemassa olevaa toimeenpanosuunnitelmaa ei ole tyhjennetty oikein. Tämä aiheuttaa rakenteen version muuttumisen, koska käyttäjän määrittämä funktio tai näkymä käännetään uudelleen, kun toinen kysely suoritetaan. Tämän vuoksi virhe ilmenee.
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 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
SQL Server 2005 SP3
Tämän ongelman korjaus julkaistiin ensin kumulatiivisessa päivityksessä 15. Saat lisätietoja tämän SQL Server 2005 SP3:n kumulatiivisen päivityspaketin hankkimisesta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
2507766 Kumulatiivinen päivityspaketti 15 SQL Server 2005 SP3:lle
Huomautus: Koska koontiversiot ovat kumulatiivisia, jokainen uusi korjausversio sisältää kaikki edelliseen SQL Server 2005 SP3: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:
960598 SQL Server 2005 -koontiversiot, jotka on julkaistu SQL Server 2005 SP3:n julkaisemisen jälkeen
SQL Server 2005 SP4
Tämän ongelman korjaus julkaistiin ensin kumulatiivisessa päivityksessä 3. Saat lisätietoja tämän SQL Server 2005 SP4:n kumulatiivisen päivityspaketin hankkimisesta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
2507769 SQL Server 2005 SP4:n kumulatiivinen päivityspaketti 3
Huomautus: Koska koontiversiot ovat kumulatiivisia, jokainen uusi korjausversio sisältää kaikki edelliseen SQL Server 2005 SP4: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:
937137 SQL Server 2005 -koontiversiot, jotka on julkaistu SQL Server 2005 SP4:n julkaisemisen jälkeen
SQL Server 2008 SP1
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 SP1: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 SP1:n julkaisemisen jälkeen
SQL Server 2008 SP2
Tämän ongelman korjaus julkaistiin ensin kumulatiivisessa päivityksessä 3. Saat lisätietoja tämän SQL Server 2008 SP2:n kumulatiivisen päivityspaketin hankkimisesta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
2498535 SQL Server 2008 SP2:n kumulatiivinen päivityspaketti 3
Huomautus: Koska koontiversiot ovat kumulatiivisia, jokainen uusi korjausversio sisältää kaikki edelliseen SQL Server 2008 SP2: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:
2402659 SQL Server 2008 -koontiversiot, jotka on julkaistu SQL Server 2008 SP2:n julkaisemisen jälkeen
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.
Lisätietoja
Lisätietoja synonyymin luomisesta Transact-SQL:n avulla on seuraavassa Microsoft Developer Network (MSDN) -sivustossa: