Prihláste sa s kontom Microsoft
Prihláste sa alebo si vytvorte konto.
Dobrý deň,
Vyberte iné konto.
Máte viacero kont
Vyberte konto, s ktorým sa chcete prihlásiť.

Spoločnosť Microsoft distribuuje Microsoft SQL Server 2005 alebo Microsoft SQL Server 2008 alebo SQL 2008 R2 opravy ako jeden súbor na stiahnutie. Keďže opravy sú kumulatívne, každé nové vydanie obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho programu Microsoft SQL Server 2005 alebo Microsoft SQL Server 2008 alebo SQL 2008 R2 opraviť uvoľnenia

Príznaky

Predpokladajme, že spustíte dotaz na inštanciu programu Microsoft SQL Server 2005 alebo Microsoft SQL Server 2008 alebo Microsoft SQL Server 2008 R2, ktorý spĺňa tieto podmienky:

  • Dotaz obsahuje relačný operátor. Napríklad operátor menší ako (<).

  • V operandi relačného operátora sa nachádza Funkcia DateDiff .

V tejto situácii môže SQL Server vybrať plán suboptimálneho dotazu na spustenie tohto dotazu. Preto dotaz môže bežať pomaly.

Príčina

Tento problém sa vyskytuje, pretože SQL Server Optimizer podceňuje počet riadkov, ktoré sa vrátia pri použití funkcie DateDiff .

Riešenie

Kumulatívna aktualizácia informácií

SQL Server 2005 Service Pack 3

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 15 pre SQL Server 2005 Service Pack 3. Ďalšie informácie o tomto balíku kumulatívnych aktualizácií nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

2507766 Kumulatívna aktualizácia balíka 15 pre SQL Server 2005 Service Pack 3Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2005 opraviť uvoľnenia. Spoločnosť Microsoft odporúča, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

960598 Zostavy SQL servera 2005, ktoré boli vydané po vydaní SQL servera 2005 Service Pack 3 Microsoft SQL Server 2005 rýchlych opráv sú vytvorené pre konkrétne SQL Server Service Pack. Ak chcete nainštalovať SQL Server 2005 Service Pack 3, musíte použiť rýchlu opravu SQL servera 2005 Service Pack 3. Na základe predvoleného nastavenia je každá rýchla oprava, ktorá je k dispozícii v balíku SQL Server Service Pack, zahrnutá v ďalšej službe SQL Server Service Pack.

SQL Server 2005 Service Pack 4

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 2 pre SQL Server 2005 Service Pack 4. Ďalšie informácie o tomto balíku kumulatívnych aktualizácií nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

2489409 Kumulatívna aktualizácia balíka 2 pre SQL Server 2005 Service Pack 4Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2005 opraviť uvoľnenia. Spoločnosť Microsoft odporúča, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

2485757 Zostavy SQL servera 2005, ktoré boli vydané po vydaní SQL servera 2005 Service Pack 4 Microsoft SQL Server 2005 rýchlych opráv sú vytvorené pre konkrétne SQL Server Service Pack. Ak chcete nainštalovať SQL Server 2005 Service Pack 4, musíte použiť rýchlu opravu SQL servera 2005 Service Pack 4. Na základe predvoleného nastavenia je každá rýchla oprava, ktorá je k dispozícii v balíku SQL Server Service Pack, zahrnutá v ďalšej službe SQL Server Service Pack.

SQL Server 2008 Service Pack 1

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 13 pre SQL Server 2008 Service Pack 1. Ďalšie informácie o tomto balíku kumulatívnych aktualizácií nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

2497673 Kumulatívna aktualizácia balíka 13 pre SQL Server 2008 Service Pack 1Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 opraviť uvoľnenia. Spoločnosť Microsoft odporúča, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

970365 Zostavy SQL servera 2008, ktoré boli vydané po vydaní SQL servera 2008 Service Pack 1 Microsoft SQL Server 2008 rýchlych opráv sú vytvorené pre konkrétne SQL Server Service Pack. Ak chcete nainštalovať SQL Server 2008 Service Pack 1, musíte použiť rýchlu opravu SQL servera 2008 Service Pack 1. Na základe predvoleného nastavenia je každá rýchla oprava, ktorá je k dispozícii v balíku SQL Server Service Pack, zahrnutá v ďalšej službe SQL Server Service Pack.

SQL Server 2008 Service Pack 2

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 3 pre SQL Server 2008 Service Pack 2. Ďalšie informácie o tomto balíku kumulatívnych aktualizácií nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

2498535 Kumulatívna aktualizácia balíka 3 pre SQL Server 2008 Service Pack 2Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 opraviť uvoľnenia. Spoločnosť Microsoft odporúča, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

2402659 Zostavy SQL servera 2008, ktoré boli vydané po vydaní SQL servera 2008 Service Pack 2 Microsoft SQL Server 2008 rýchlych opráv sú vytvorené pre konkrétne SQL Server Service Pack. Ak chcete nainštalovať SQL Server 2008 Service Pack 2, musíte použiť rýchlu opravu SQL servera 2008 Service Pack 2. Na základe predvoleného nastavenia je každá rýchla oprava, ktorá je k dispozícii v balíku SQL Server Service Pack, zahrnutá v ďalšej službe SQL Server Service Pack.

SQL Server 2008 R2 Service Pack 1

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 1 pre SQL Server 2008 R2 Service Pack 1. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

2544793 Kumulatívna aktualizácia balíka 1 pre SQL Server 2008 R2 Service Pack 1Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 R2 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

2567616 Zostavy SQL servera 2008 R2, ktoré boli vydané po vydaní SQL servera 2008 R2 Service Pack 1

SQL Server 2008 R2

Oprava tohto problému bola prvýkrát vydaná v kumulatívnej aktualizácii 7. Ďalšie informácie o možnostiach získania tohto balíka kumulatívnych aktualizácií pre SQL Server 2008 R2 nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

2507770 Kumulatívna aktualizácia balíka 7 pre SQL Server 2008 R2 Poznámka: Pretože zostavy sú kumulatívne, každé nové vydanie opraviť obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúceho SQL servera 2008 R2 opraviť uvoľnenia. Odporúčame, aby ste zvážili uplatnenie najnovších opráv, ktoré túto rýchlu opravu obsahujú. Ďalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

981356 Zostavy SQL servera 2008 R2, ktoré boli vydané po vydaní SQL servera 2008 R2

Stav

Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.

Alternatívne riešenie

Ak chcete tento problém obísť, prepíšte dotaz tak, aby plán dotazu nepoužíval funkciu DateDiff v predikátoch. Môže sa vyskytnúť napríklad pomaly:create procedure proc_test @date datetimeasselect COUNT (*) from t where c1 <DATEADD(mm, DATEDIFF(mm,0,dateadd(month, -6,@date)), 0) Ak však chcete problém obísť, môžete dotaz prepísať nasledovným spôsobom: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)

Odkazy

Ďalšie informácie o modeli prírastkového servisu pre SQL Server nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

935897 Prírastkové servisné model je k dispozícii v tíme SQL Server na poskytovanie rýchlych opráv pre ohlásené problémyĎalšie informácie o schéme pomenovania pre aktualizácie SQL servera nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

822499 Nová schéma pomenovania pre balíky aktualizácií softvéru servera Microsoft SQL ServerĎalšie informácie o terminológii aktualizácie softvéru nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:

824684 Popis štandardnej terminológie, ktorá sa používa na popis aktualizácií softvéru od spoločnosti Microsoft

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.

Boli tieto informácie užitočné?

Aká je podľa vás jazyková kvalita textu?
Čo sa vám páčilo, prípadne čo nie?
Stlačením tlačidla Odoslať sa vaše pripomienky použijú na zlepšenie produktov a služieb spoločnosti Microsoft. Váš správca IT bude môcť tieto údaje zhromažďovať. Vyhlásenie o ochrane osobných údajov.

Ďakujeme za vaše pripomienky!

×