Hatókör
SQL Server 2012 Enterprise SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Express

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

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.