Microsoft jakelee Microsoft SQL Server 2008- tai Microsoft SQL Server 2008 R2 -korjauksia yhtenä ladattavana tiedostona. Koska korjaukset ovat kumulatiivisia, jokainen uusi versio sisältää kaikki aiempiin SQL Server 2008:n tai SQL Server 2008 R2:n korjausjulkaisuihin sisältyvät hotfix-korjaukset ja tietoturvakorjaukset.
Ongelman ilmenemistapa
Oletetaan, että sinulla on nimetty esiintymä Microsoft SQL Server 2008:ssa tai Microsoft SQL Server 2008 R2:ssa, joka on asennettu palvelimeen. Kun suoritat Common Table Expression (CTE) -kyselyn, joka käyttää Freetexttable- tai Containstable-funktiota indeksoidussa näkymässä, CTE-kysely epäonnistuu ja tapahtuu käyttörikkomuspoikkeus. Lisäksi näyttöön tulee seuraava virhesanoma:
Huomautus
Sanoma 0, taso 11, tila 0, rivi 0
Nykyisessä komennossa tapahtui vakava virhe. Mahdolliset tulokset on hylättävä.
Käyttörikkomuspoikkeus ilmenee esimerkiksi silloin, kun suoritat seuraavan koodin:
WITH CTE AS (select [Key] as Key, [Rank] from FREETEXTTABLE(< indexed view name >, *, '< search string >')) SELECT * FROM CTE
Ratkaisu
Kumulatiiviset päivitystiedot
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ä 4. 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:
2345451 SQL Server 2008 R2:n kumulatiivinen päivityspaketti 4 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
Vaihtoehtoinen menetelmä
Voit kiertää tämän ongelman jollakin seuraavista menetelmistä:
- Tallenna välitulokset CTE:n sijasta näkymään, väliaikaiseen taulukkoon tai taulukonmuuttujaan.
- Päivitä kysely käyttämään johdettua taulukkoa tai alikyselyä. Tämä eliminoi tarpeen käyttää CTE:tä.
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.
Viitteet
Lisätietoja yleisten taulukoiden lausekkeiden käyttämisestä on seuraavassa Microsoftin verkkosivustossa:
Yleisten taulukoiden lausekkeiden käyttäminen Lisätietoja Freetexttable (Transact-SQL) -funktiosta on seuraavassa Microsoftin verkkosivustossa:
FREETEXTTABLE (Transact-SQL) Lisätietoja Containstable (Transact-SQL)-funktiosta on seuraavassa Microsoftin verkkosivustossa:
CONTAINSTABLE (Transact-SQL) Lisätietoja indeksoitujen näkymien luomisesta on seuraavassa Microsoft-sivustossa:
Indeksoitujen näkymien luominen
Saat lisätietoja SQL Server:n lisäävästä ylläpitomallista napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
935897 SQL Server-tiimi tarjoaa lisäävän ylläpidon mallin, joka toimittaa hotfix-korjauksia ilmoitettuihin ongelmiin
Saat lisätietoja SQL Server -päivitysten nimeämisrakenteesta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
822499 Microsoft SQL Server -ohjelmistopäivityspakettien uusi nimeämisrakenneSaat lisätietoja ohjelmistopäivitysterminologiasta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
824684 Microsoftin ohjelmistopäivityksiä kuvaavan vakioterminologian kuvaus