A Microsoft a Microsoft SQL Server 2008 és a Microsoft SQL Server 2008 R2 javításokat egyetlen letölthető fájlként terjeszti. Mivel a javítások egymásra épülnek, minden új kiadás tartalmazza az összes gyorsjavítást és minden biztonsági javítást, amely az előző SQL Server 2008- vagy SQL Server 2008 R2-javításban szerepelt.
Tünetek
Vegyük például a következő esetet:
Olyan táblát hoz létre, amely nem determinisztikus számított oszlopot tartalmaz egy SQL Server 2008- vagy SQL Server 2008 R2-adatbázisban. Egy nem determinisztikus számított oszlopot tartalmazó tábla létrehozásához például a következő utasítást futtathatja: CREATE TABLE [dbo]. [T1](
[Születési dátum] DÁTUM,
[Kor] AS (FLOOR(DATEDIFF(DAY,[DATEOfBirth],GETDATE())/(365.0))))GO Megjegyzés Ebben az utasításban a GETDATE függvény nem determinisztikus.A sp_createstats tárolt eljárásának futtatásával javíthatja a teljesítményt.
Megjegyzés: A sp_createstats tárolt eljárás egyoszlopos statisztikákat hoz létre az adatbázis bármely jogosult oszlopához
Ebben az esetben a sp_createstats tárolt eljárása meghiúsul. Ezért előfordulhat, hogy néhány jogosult oszlop statisztikája nem jött létre. Ezenkívül az alábbihoz hasonló hibaüzenet is megjelenik:
Megjegyzés
Msg 2729, Level 16, State 1, Line 1
A "dbo.t1" tábla "Kor" oszlopa nem használható indexben vagy statisztikában, illetve partíciókulcsként, mivel nem determinisztikus.
Ok
A problémát az okozza, hogy a sp_createstats tárolt eljárása nem hagyta ki a nem determinisztikus számított oszlopokat.
Megoldás
Összegző frissítéssel kapcsolatos információk
SQL Server 2008 Service Pack 1
A hiba javítását először az SQL Server 2008 Service Pack 1 11. összegző frissítésében adtuk ki. Az összegző frissítési csomagról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2413738 11-es összegző frissítőcsomag a SQL Server 2008 Service Pack 1-hez
Megjegyzés: Mivel a buildek összegzőek, minden új javításkiadás tartalmazza az összes gyorsjavítást és minden biztonsági javítást, amely az előző SQL Server 2008-javításban szerepelt. A Microsoft azt javasolja, hogy fontolja meg az ezt a gyorsjavítást tartalmazó legújabb javítás telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
970365 A SQL Server 2008 Service Pack 1 kiadása után kiadott SQL Server 2008-as buildekA Microsoft SQL Server 2008 gyorsjavításai meghatározott SQL Server szervizcsomagokhoz készültek. Az SQL Server 2008 Service Pack 1 telepítéséhez telepítenie kell az SQL Server 2008 Service Pack 1 gyorsjavítását. Alapértelmezés szerint az SQL Server szervizcsomagjában található összes gyorsjavítás megtalálható a következő SQL Server szervizcsomagban.
SQL Server 2008 Service Pack 2
A hiba javítását először az SQL Server 2008 Service Pack 2 1. összegző frissítésében adták ki. Az összegző frissítési csomagról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2289254 1. összegző frissítés a SQL Server 2008 Service Pack 2-hözMegjegyzés: Mivel a buildek kumulatívak, minden új javításkiadás tartalmazza az előző, 2008-as SQL Server javításban szereplő összes gyorsjavítást és biztonsági javítást. Javasoljuk, hogy fontolja meg a gyorsjavítást tartalmazó legújabb javítás telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
2402659 A SQL Server 2008-as szervizcsomag 2 után megjelent SQL Server 2008-as buildek
SQL Server 2008 Service Pack 2
A hiba javítását először az SQL Server 2008 Service Pack 2 2-es összegző frissítésében adtuk ki. Az összegző frissítési csomagról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2467239 2008-as szervizcsomag 2-es összegző frissítője a 2008-as SQL Server-hozMegjegyzés: Mivel a buildek kumulatívak, minden új javítás tartalmazza az előző, 2008-as SQL Server-as javítás összes gyorsjavítását és biztonsági javítását. A Microsoft azt javasolja, hogy fontolja meg az ezt a gyorsjavítást tartalmazó legújabb javítás telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
2402659 A SQL Server 2008-as szervizcsomag 2 megjelenése után kiadott SQL Server 2008-as buildek A Microsoft SQL Server 2008 gyorsjavításai meghatározott SQL Server szervizcsomagokhoz készültek. Az SQL Server 2008 Service Pack 2 telepítéséhez telepítenie kell az SQL Server 2008 Service Pack 2 gyorsjavítását. Alapértelmezés szerint az SQL Server szervizcsomagjában található összes gyorsjavítás megtalálható a következő SQL Server szervizcsomagban.
SQL Server 2008 R2
A hiba javítását először a 4. összegző frissítésben adtuk ki. Az SQL Server 2008 R2-höz kiadott összegző frissítőcsomag beszerzéséről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2345451 4-es összegző frissítőcsomag a SQL Server 2008 R2-höz Megjegyzés: Mivel a buildek kumulatívak, minden új javításkiadás tartalmazza az SQL Server 2008 R2 előző kiadásában szereplő összes gyorsjavítást és biztonsági javítást. Javasoljuk, hogy fontolja meg a gyorsjavítást tartalmazó legújabb javítás telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
981356 Megjelentek a SQL Server 2008 R2 utáni SQL Server 2008 R2 buildek
Állapot
A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.
Hivatkozások
A determinisztikus és a nem determinisztikus függvényekről a Microsoft Developer Network (MSDN) alábbi webhelyein talál további információt:
Általános információ a determinisztikus és a nem determinisztikus függvényekről A sp_createstats tárolt eljárásról az MSDN alábbi webhelyén talál további információt:
Általános információk a tárolt "sp_createstats" Transact-SQL eljárással kapcsolatban A számított oszlopokról az MSDN alábbi webhelyén talál további információt:
Általános információk a számított oszlopokról Az SQL Server növekményes karbantartási modelljéről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
935897 A SQL Server csapatától elérhető egy növekményes karbantartási modell a jelentett problémák gyorsjavításához
Az SQL Server frissítéseihez szükséges elnevezési sémáról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
822499 Új elnevezési séma a Microsoft SQL Server szoftverfrissítési csomagjaihoz A szoftverfrissítések terminológiájáról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
824684 A Microsoft szoftverfrissítéseinek leírására használt szabványos terminológia leírása