Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Microsoft distribuerar Microsoft SQL Server 2005 eller Microsoft SQL Server 2008 eller SQL 2008 R2 som en nedladdnings bar fil. Eftersom de här korrigeringarna är kumulativa innehåller alla nya versioner alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med den tidigare versionen av Microsoft SQL Server 2005 eller Microsoft SQL Server 2008 eller SQL 2008 R2-korrigeringen

Symptom

Anta att du kör en fråga på en instans av Microsoft SQL Server 2005 eller Microsoft SQL Server 2008 eller Microsoft SQL Server 2008 R2 som uppfyller följande villkor:

  • Frågan innehåller en Relations operator. Till exempel operatorn mindre än (<).

  • Det finns en funktionen DateDiff i operanden för Relations operatorn.

I det här fallet kan SQL Server välja ett abonnemang som är för optimalt för att köra den här frågan. Därför kan frågan bli långsam.

Orsak

Det här problemet beror på att antalet rader som ska returneras när du använder funktionen DateDiff är uppskattat i SQL Server-optimering.

Lösning

Kumulativ uppdaterings information

SQL Server 2005 Service Pack 3

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 15 för SQL Server 2005 Service Pack 3. Om du vill veta mer om det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2507766 Kumulativt uppdaterings paket 15 för SQL Server 2005 Service Pack 3Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2005. Microsoft rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

960598 SQL Server 2005-versioner som släpptes efter att SQL Server 2005 Service Pack 3 släpptes Snabb korrigeringar för Microsoft SQL Server 2005 skapas för specifika SQL Server Service Pack. Du måste använda en SQL Server 2005 Service Pack 3 Hotfix för en installation av SQL Server 2005 Service Pack 3. Som standard ingår alla snabb korrigeringar som tillhandahålls i ett Service Pack för SQL Server i nästa SQL Server Service Pack.

SQL Server 2005 Service Pack 4

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 2 för SQL Server 2005 Service Pack 4. Om du vill veta mer om det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2489409 Kumulativt uppdaterings paket 2 för SQL Server 2005 Service Pack 4Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2005. Microsoft rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2485757 SQL Server 2005-versioner som släpptes efter SQL Server 2005 Service Pack 4 släpptes Snabb korrigeringar för Microsoft SQL Server 2005 skapas för specifika SQL Server Service Pack. Du måste använda en SQL Server 2005 Service Pack 4 Hotfix för en installation av SQL Server 2005 Service Pack 4. Som standard ingår alla snabb korrigeringar som tillhandahålls i ett Service Pack för SQL Server i nästa SQL Server Service Pack.

SQL Server 2008 Service Pack 1

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 13 för SQL Server 2008 Service Pack 1. Om du vill veta mer om det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2497673 Kumulativt uppdaterings paket 13 för SQL Server 2008 Service Pack 1Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008. Microsoft rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

970365 SQL Server 2008-versioner som släpptes efter att SQL Server 2008 Service Pack 1 släpptes Snabb korrigeringar för Microsoft SQL Server 2008 skapas för specifika SQL Server Service Pack. Du måste använda en SQL Server 2008 Service Pack 1 Hotfix för en installation av SQL Server 2008 Service Pack 1. Som standard ingår alla snabb korrigeringar som tillhandahålls i ett Service Pack för SQL Server i nästa SQL Server Service Pack.

SQL Server 2008 Service Pack 2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 3 för SQL Server 2008 Service Pack 2. Om du vill veta mer om det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2498535 Kumulativt uppdaterings paket 3 för SQL Server 2008 Service Pack 2Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008. Microsoft rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2402659 SQL Server 2008-versioner som släpptes efter att SQL Server 2008 Service Pack 2 släpptes Snabb korrigeringar för Microsoft SQL Server 2008 skapas för specifika SQL Server Service Pack. Du måste använda en SQL Server 2008 Service Pack 2 Hotfix för en installation av SQL Server 2008 Service Pack 2. Som standard ingår alla snabb korrigeringar som tillhandahålls i ett Service Pack för SQL Server i nästa SQL Server Service Pack.

SQL Server 2008 R2 Service Pack 1

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 1 för SQL Server 2008 R2 Service Pack 1. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2544793 Kumulativt uppdaterings paket 1 för SQL Server 2008 R2 Service Pack 1Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2567616 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 Service Pack 1 släpptes

SQL Server 2008 R2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 7. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 R2 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2507770 Kumulativt uppdaterings paket 7 för SQL Server 2008 R2 Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

981356 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 släpptes

Status

Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Lösning

Du kan undvika problemet genom att skriva om frågan så att frågeuttrycket inte använder funktionen DateDiff i predikat. Följande kan till exempel bli långsamt:create procedure proc_test @date datetimeasselect COUNT (*) from t where c1 <DATEADD(mm, DATEDIFF(mm,0,dateadd(month, -6,@date)), 0) Men du kan skriva om frågan så här för att lösa problemet: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)

Referenser

Om du vill veta mer om den stegvisa underhålls modellen för SQL Server klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

935897 En stegvis underhålls modell är tillgänglig från SQL Server-teamet för att leverera snabb korrigeringar för rapporterade problemOm du vill veta mer om ett namn schema för uppdateringar för SQL Server klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

822499 Nytt namn schema för program uppdaterings paket för Microsoft SQL ServerMer information om program uppdaterings terminologi får du om du klickar på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

824684 Beskrivning av den standard terminologi som används för att beskriva Microsoft-programuppdateringar

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×