Microsoft distribuerar Microsoft SQL Server 2008 R2 eller Microsoft SQL Server 2008 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 i den föregående versionen av SQL Server 2008 R2 eller SQL Server 2008.
Symptom
Tänk dig följande situation:
-
Du skapar en lagrad process med CLR (Common Language Runtime) för en Microsoft SQL Server 2008 R2-eller Microsoft SQL Server 2008-databas.
-
Den lagrade CLR-proceduren används som en offentlig statisk metod som returnerar ett heltals värde i Microsoft .NET Framework.
-
Du kör ett program som anropar den CLR-lagrade proceduren. Den lagrade CLR-proceduren returnerar ett korrekt värde.
-
Du utför vissa operationer som omkompilerar körnings planen för den lagrade CLR-proceduren.Obs! Mer information om hur du kompilerar om körnings planen för den lagrade proceduren finns i avsnittet "Mer information".
-
Du kör programmet igen.
I det här scenariot returneras felaktigt ett NULL-värde. Dessutom måste du starta om SQL Server-tjänsten för att få tillbaka problemet.
Lösning
Kumulativ uppdaterings information
SQL Server 2008 Service Pack 3
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 2 för SQL Server 2008 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:
2633143 Kumulativt uppdaterings paket 2 för SQL Server 2008 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 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:
2629969 SQL Server 2008-versioner som släpptes efter att SQL Server 2008 Service Pack 3 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 3 Hotfix för en installation av SQL Server 2008 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 2008 R2 Service Pack 1
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 2 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:
2567714 Kumulativt uppdaterings paket 2 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 8. 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:
2534352 Kumulativt uppdaterings paket 8 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
Mer information
Gör något av följande för att kompilera om körnings planen för den lagrade proceduren:
-
Kör instruktionen DBCCFREEPROCCACHE .
-
Kör något av följande uttryck i en tabell eller vy:
-
ÄNDRA TABELL
-
ÄNDRA VY
-
-
Kör en körnings plan som ändrar eller tar bort index.
-
Utför en uppdaterings åtgärd på den statistik som används av körnings planen. Obs! Du kan köra en instruktion för att utföra uppdateringen eller så kan uppdateringen utföras automatiskt.
-
Kör sp_recompile -instruktionen.
-
Gör många ändringar i tangenterna. Använd till exempel ett användar konto som uppdaterar en tabell som refereras av en instruktion för att köra insert -eller Delete -instruktionen.
-
Infoga eller ta bort många rader från en tabell som innehåller utlösare.
-
Använd alternativet with compile för att köra en lagrad procedur.
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Mer information om CLR-lagrade procedurer finns på följande MSDN-webbplats:
Allmän information om lagrade CLR-procedurerOm 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:
822499Nytt 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