A Microsoft egyetlen letölthető fájlban terjeszti a Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) és a Microsoft SQL Server 2012 javításait. Mivel a javítások egymásra épülnek, minden új kiadás tartalmazza az előző SQL Server 2008 R2 Service Pack 1 (SP1) vagy a Microsoft SQL Server 2012 frissítéshez mellékelt összes gyorsjavítást és biztonsági frissítést.
Tünetek
Vegyük például a következő esetet:
- A Microsoft SQL Server 2005-ről a Microsoft SQL Server 2008-ra, a Microsoft SQL Server 2008 R2-re vagy a Microsoft SQL Server 2012-re frissít.
- Futtat egy sp_cursoropen tárolt eljárást használó lekérdezést, majd a rowcount paraméter megadásával beolvassa egy tábla első néhány sorát.
Ebben a forgatókönyvben a teljesítmény lassabb lehet, mintha ugyanazt a lekérdezést az SQL Server 2005-ben futtatná.
Ok
A problémát az okozza, hogy a Query Optimizer statikus kurzortervet használ dinamikus kurzorterv helyett. Statikus kurzorterv esetén az SQL Server lekéri az összes sort, és beszúrja őket a kurzormunkatáblázatba. Dinamikus kurzortervek esetén azonban az SQL Server csak a szükséges sorokat olvassa be.
Megoldás
Összegző frissítéssel kapcsolatos információk
SQL Server 2012
A hiba javítását először az SQL Server 2012 1. ö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:
2679368 1. összegző frissítőcsomag a SQL Server 2012-hözMegjegyzés: Mivel a buildek kumulatívak, minden új javítás tartalmazza az előző, 2012-es javítás előző SQL Server kiadásában szereplő összes gyorsjavítást és biztonsági javítást. 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):
2692828 A SQL Server 2012 után megjelent SQL Server 2012-es buildek A SQL Server 2012 telepítésére SQL Server 2012-es gyorsjavítást kell alkalmaznia.
5-ös összegző frissítőcsomag az SQL Server 2008 R2 SP1-hez
A gyorsjavítás alkalmazása után engedélyezze a 4199-es nyomkövetési jelzőt.
A hiba javítását először az 5. összegző frissítésben adtuk ki. Az SQL Server 2008 R2 SP1-hez kiadott összegző frissítőcsomag beszerzéséről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2659694 5-ös összegző frissítőcsomag a SQL Server 2008 R2 SP1-hezMegjegyzés: Mivel a buildek kumulatívak, minden új javításkiadás tartalmazza az SQL Server 2008 R2 SP1 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):
2567616 Megjelentek a SQL Server SQL Server 2008 R2 SP1 utáni 2008 R2 buildek
Kerülő megoldás
A probléma kerülő megoldásához adja hozzá a FAST lekérdezési tippet a lekérdezéshez.
További információ
A lekérdezési tippek használatáról az MSDN alábbi webhelyén talál további információt:
Általános információk a lekérdezési tippek használatáról A 4199-es jelölővel kapcsolatos további információkért látogasson el a következő webhelyre:
Általános információ a 4199-es nyomkövetési jelzőről
Á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.