Applies ToSQL Server 2012 Enterprise SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Express

Service Pack 1 pro Microsoft SQL Server 2012 opravy jsou distribuovány jako jeden soubor ke stažení. Vzhledem k tomu, že jsou kumulativní opravy, každá nová verze tedy obsahuje všechny opravy hotfix a vydání opravit všechny opravy zabezpečení zahrnuté předchozí SQL Server 2012 Service Pack 1.

Příznaky

Při spuštění příkazu Transact-SQL v SQL Server 2012, zobrazí se následující chybová zpráva:

Nesprávná syntaxe poblíž textu 'begi'.

K tomuto problému dochází, pokud jsou splněny následující podmínky:

  • Výpis obsahuje podmínky IF .

  • Podmínka IF neobsahuje příkazy BEGIN a END .

  • ZAHÁJIT akci bloku následuje podmínka IF .

  • Pokud blok je znovu zkompilovány při spuštění dotazu.

Řešení

Informace o kumulativní aktualizaci

Kumulativní aktualizace 4 pro SQL Server 2012 SP1

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 4. Další informace o získání tohoto balíčku kumulativní aktualizace pro SQL Server 2012 SP1 získáte v následujícím článku naleznete v článku znalostní báze Microsoft Knowledge Base:

2833645 kumulativní aktualizace 4 pro SQL Server 2012 SP1Poznámka: Vzhledem k tomu, že sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2012 SP1 release. Doporučujeme zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku naleznete v článku znalostní báze Microsoft Knowledge Base:

2772858 SQL Server 2012 vytvoří, které byly vydány po vydání aktualizace Service Pack 1 pro SQL Server 2012

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Další informace

Pro reprodukci tohoto problému, spusťte následující příkazy jazyka Transact-SQL v SQL Server 2012:DECLARE @i INTIF object_id('tempdb..#temptable') IS NOT NULLDROP TABLE #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

Jak potíže obejít

Chcete-li tento problém vyřešit, přidejte do podmínky IF příkazy BEGIN a END .

Odkazy

Další informace o přírůstkové Model servis pro SQL Server klepněte na následující číslo článku naleznete v článku znalostní báze Microsoft Knowledge Base:

935897 dílčí Model obsluhy je k dispozici z týmu SQL Server doručit opravy hotfix pro nahlášené potížeDalší informace o schéma názvů pro aktualizace serveru SQL Server klepněte na následující číslo článku naleznete v článku znalostní báze Microsoft Knowledge Base:

822499 schéma zásady vytváření názvů pro Microsoft SQL Server software balíčky aktualizací.Další informace o terminologii aktualizace softwaru klepněte na následující číslo článku naleznete v článku znalostní báze Microsoft Knowledge Base:

824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.