Microsoft jagab Microsoft SQL Server 2005 või Microsoft SQL Server 2008 või SQL 2008 R2 fikseerib ühe allalaaditava failitüübina. Kuna parandused on kumulatiivsed, sisaldab iga uus versioon kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise Microsoft SQL serveri 2005 või Microsoft SQL Server 2008 või SQL 2008 R2 paranduse väljalaskes

Sümptomid

Oletagem, et käivitate päringu Microsoft SQL Server 2005 või Microsoft SQL Server 2008 või Microsoft SQL Server 2008 R2 eksemplaris, mis vastab järgmistele tingimustele.

  • Päring sisaldab seoste haldurit. Näiteks väiksem kui (<) tehtemärk.

  • Seoste halduri operandis on funktsioon DateDiff .

Sellisel juhul võib SQL Server selle päringu käivitamiseks valida optimaalse päringu plaani. Seetõttu võib päringut kasutada aeglaselt.

Põhjus

See probleem ilmneb, sest SQL serveri optimeerija alahindab ridade arvu, mis tagastatakse, kui kasutate funktsiooni DateDiff .

Lahendus

Kumulatiivse värskenduse teave

SQL Server 2005 hoolduspakett 3

Selle probleemi lahendus anti esmakordselt välja kumulatiivne Update 15 for SQL Server 2005 hoolduspakett 3. Selle kumulatiivse värskenduspaketi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2507766 SQL Server 2005 hoolduspakett 3 koondvärskenduses pakett 15Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL serveri 2005 Fix väljalaskega. Microsoft soovitab, et te loobuksid kõige uuemate paranduste lubamisest, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

960598 Pärast SQL Server 2005 Service Pack 3 väljaandmist väljaantud SQL serveri 2005 järgud Microsoft SQL serveri 2005 käigultparandused luuakse teatud SQL serveri hoolduspakettide jaoks. SQL Server 2005 hoolduspaketi 3 installimisel peate rakendama SQL serveri 2005 hoolduspaketi 3 käigultparanduse. Vaikimisi sisaldub SQL serveri hoolduspaketis pakutav käigultparandus järgmises SQL serveri hoolduspaketis.

SQL Server 2005 hoolduspakett 4

Selle probleemi lahendus anti esmakordselt välja kumulatiivne Update 2 for SQL Server 2005 hoolduspakett 4. Selle kumulatiivse värskenduspaketi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2489409 Koondvärskenduses pakett 2 SQL Server 2005 hoolduspakett 4Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL serveri 2005 Fix väljalaskega. Microsoft soovitab, et te loobuksid kõige uuemate paranduste lubamisest, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2485757 Pärast SQL Server 2005 Service Pack 4 väljaandmist väljaantud SQL serveri 2005 järgud Microsoft SQL serveri 2005 käigultparandused luuakse teatud SQL serveri hoolduspakettide jaoks. SQL Server 2005 hoolduspaketi 4 installimisel peate rakendama SQL serveri 2005 hoolduspaketi 4 käigultparanduse. Vaikimisi sisaldub SQL serveri hoolduspaketis pakutav käigultparandus järgmises SQL serveri hoolduspaketis.

SQL serveri 2008 hoolduspakett 1

Selle probleemi parandus anti esmakordselt välja kumulatiivne Update 13 SQL Server 2008 Service Pack 1. Selle kumulatiivse värskenduspaketi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2497673 Koondvärskenduses pakett 13 SQL Server 2008 hoolduspaketi 1 jaoksMärkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL serveri 2008 Fix väljalaskega. Microsoft soovitab, et te loobuksid kõige uuemate paranduste lubamisest, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

970365 Pärast SQL Server 2008 hoolduspaketti 1 välja antud SQL serveri 2008 järgud Microsoft SQL serveri 2008 käigultparandused luuakse teatud SQL serveri hoolduspakettide jaoks. SQL Server 2008 hoolduspaketi 1 installimisel peate rakendama SQL serveri 2008 hoolduspaketi 1 käigultparanduse. Vaikimisi sisaldub SQL serveri hoolduspaketis pakutav käigultparandus järgmises SQL serveri hoolduspaketis.

SQL Server 2008 hoolduspakett SP2

Selle probleemi lahendus anti esmakordselt välja kumulatiivne Update 3 for SQL Server 2008 hoolduspakett SP2. Selle kumulatiivse värskenduspaketi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2498535 Koondvärskenduses pakett 3 SQL Server 2008 Service Pack 2 jaoksMärkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL serveri 2008 Fix väljalaskega. Microsoft soovitab, et te loobuksid kõige uuemate paranduste lubamisest, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2402659 Pärast SQL Server 2008 Service Pack 2 väljaandmist väljaantud SQL serveri 2008 järgud Microsoft SQL serveri 2008 käigultparandused luuakse teatud SQL serveri hoolduspakettide jaoks. Peate rakendama SQL Server 2008 hoolduspaketi SP2 käigultparanduse SQL Server 2008 Service Pack 2 installimisel. Vaikimisi sisaldub SQL serveri hoolduspaketis pakutav käigultparandus järgmises SQL serveri hoolduspaketis.

SQL Server 2008 R2 hoolduspakett 1

Selle probleemi lahendus anti esmakordselt välja kumulatiivne Update 1 for SQL Server 2008 R2 hoolduspakett Service Pack 1. Selle kumulatiivse värskenduspaketi hankimise kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2544793 SQL Server 2008 R2 hoolduspaketi 1 koondvärskenduses pakett 1Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL serveri 2008 R2 paranduse väljalaskes. Soovitame teil kaaluda kõige uuemate paranduste rakendamist, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2567616 Pärast SQL Server 2008 R2 hoolduspaketti 1 väljaandmist väljaantud SQL Server 2008 R2 järgud

SQL Server 2008 R2

Selle probleemi parandus anti esmakordselt välja kumulatiivne Update 7. Lisateavet selle kumulatiivse värskenduspaketi SQL Server 2008 R2 hankimise kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2507770 SQL Server 2008 R2 koondvärskenduses pakett 7 Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL serveri 2008 R2 paranduse väljalaskes. Soovitame teil kaaluda kõige uuemate paranduste rakendamist, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

981356 Pärast SQL Server 2008 R2 väljaandmist väljaantud SQL Server 2008 R2 järgud

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.

Lahendus

Selle probleemi lahendamiseks kirjutage päring ümber, nii et päringu plaan ei kasutaks valikupredikaatide funktsiooni DateDiff . Näiteks võib järgmine töö olla aeglane.create procedure proc_test @date datetimeasselect COUNT (*) from t where c1 <DATEADD(mm, DATEDIFF(mm,0,dateadd(month, -6,@date)), 0) Probleemi lahendamiseks saate päringut siiski ümber kirjutada järgmiselt.create procedure proc_test2 @date datetimeasdeclare @datestr nvarchar(50), @sqlstr nvarchar(1024)set @datestr = CAST (DATEADD(mm, DATEDIFF(mm,0,dateadd(month, -6,@date)), 0) as nvarchar(50))set @sqlstr ='select COUNT (*) from t where c1 < ''' + @datestr + ''''exec (@sqlstr)

Viited

Lisateavet SQL serveri täiendava teeninduse mudeli kohta klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:

935897 Astmeline teeninduse mudel on saadaval SQL serveri meeskonnas, et esitada teadaolevate probleemide kohta käigultparandusedSQL serveri värskenduste nimede skeemi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

822499 Microsoft SQL serveri tarkvaravärskenduste pakettide uus nimede skeemTarkvaravärskenduste terminoloogia kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

824684 Microsofti tarkvaravärskenduste kirjeldamiseks kasutatavate standardsete terminite kirjeldus

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Kui rahul te tõlkekvaliteediga olete?
Mis mõjutas teie kasutuskogemust?

Täname tagasiside eest!

×