A Microsoft SQL Server 2012 Service Pack 1 javításai egyetlen letölthető fájlként vannak elosztva. Mivel a javítások összegzőek, minden új kiadás tartalmazza az összes gyorsjavítást és az előző SQL Server 2012 Service Pack 1 javítás kiadásában szereplő összes biztonsági javítást.
Jelenségek
Amikor Transact-SQL-utasítást futtat SQL Server 2012-ben, a következő hibaüzenet jelenik meg:
Helytelen szintaxis a "begi" közelében.
Ez a probléma akkor fordul elő, ha a következő feltételek teljesülnek:
-
A utasítás EGY HA feltételt tartalmaz.
-
A HA feltétel nem tartalmaz BEGIN és END utasításokat.
-
A HA feltételt egy BEGIN TRY blokk követi.
-
A lekérdezés futtatásakor a HA blokk újrafordul.
Megoldás
Kumulatív frissítési információk
4. összegző frissítés a SQL Server 2012 SP1-hez
A hiba javítása először a 4. kumulatív frissítésben jelent meg. A SQL Server 2012 SP1 kumulatív frissítési csomagjának beszerzéséről a Microsoft Tudásbázis következő cikkében tájékozódhat:
2833645 4. összegző frissítés a SQL Server 2012 SP1-hezMegjegyzés Mivel a buildek összegzőek, minden új javításkiadás tartalmazza az összes gyorsjavítást és az összes biztonsági javítást, amely a 2012 SP1 előző SQL Server javítás kiadásában szerepelt. Javasoljuk, hogy fontolja meg a gyorsjavítást tartalmazó legújabb javítás kiadásának alkalmazását. További információt a Microsoft Tudásbázis következő cikkeiben találhat:
2772858 A 2012-SQL Server 2012 Service Pack 1 kiadását követően kiadott SQL Server 2012-ben kiadott buildek
Állapot
A Microsoft megerősítette, hogy ez a probléma „A következőkre vonatkozik:” részben felsorolt Microsoft-termékekre vonatkozik.
További információ
A probléma reprodukálásához futtassa a következő Transact-SQL-utasításokat a SQL Server 2012-ben: DECLARE @i INTIF object_id('tempdb.). #temptable') IS NOT NULL DROPTABLE #temptableCREATE TABLE #temptable (id INT)INSERT INTO #temptable VALUES (1),(2),(3);IF year(getdate()=2012 SELECT @i=(SELECT COUNT(*) AS nr FROM #temptable);BEGIN TRYSELECT 'message'END TRYBEGIN CATCHSELECT ERROR_MESSAGE()END CATCH
Kerülő megoldás
A probléma megkerüléséhez adja hozzá a BEGIN és END utasításokat a HA feltételhez.
Hivatkozások
A SQL Server növekményes karbantartási modelljéről a Microsoft Tudásbázis következő cikkében talál további információt:
935897 Növekményes karbantartási modell érhető el az SQL Server csapattól a jelentett problémák gyorsjavításainak továbbításához. További információt SQL Server frissítések elnevezési sémájáról a Microsoft Tudásbázis következő cikkében talál:
822499 A Microsoft SQL Server szoftverfrissítési csomagok elnevezési sémája A szoftverfrissítési terminológiáról a microsoftos tudásbázis következő cikkében talál további információt:
824684 A Microsoft szoftverfrissítéseinek leírására használt szabványos terminológia leírása