Microsoft SQL Server 2012 Service Pack 1 opravy sú distribuované ako jeden súbor na prevzatie. Opravy sú kumulatívne, každé nové vydanie obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej SQL Server 2012 Service Pack 1 opravy.
Príznaky
Keď spustíte príkaz Transact-SQL SQL Server 2012, zobrazí nasledujúce chybové hlásenie:
Nesprávna syntax blízko "begi".
Tento problém sa vyskytuje, ak sú splnené nasledujúce podmienky:
-
Vyhlásenie obsahuje Ak podmienka.
-
Ak podmienka neobsahuje začať a END .
-
Ak podmienkou je nasleduje Skúste začať blok.
-
Ak blok je prekompilovat pri spustení dotazu.
Riešenie
Kumulatívna aktualizácia informácií
Kumulatívna aktualizácia 4 pre SQL Server 2012 SP1
Fix pre tento problém bol prvýkrát vydaný v Kumulatívna aktualizácia 4. Ďalšie informácie o možnostiach získania tento balík Kumulatívna aktualizácia pre SQL Server 2012 SP1, po kliknutí na nasledovné číslo článku nájdete v článku databázy Microsoft Knowledge Base:
2833645 Kumulatívna aktualizácia 4 pre SQL Server 2012 SP1Poznámka: Tieto zostavy sú kumulatívne, každé nové vydanie obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej SQL Server 2012 SP1 opraviť uvoľnenia. Odporúčame vám zvážiť použitie Najaktuálnejšieho vydania opravy túto rýchlu opravu obsahuje. Ďalšie informácie získate tak, že kliknutím na nasledujúce číslo článku prejdete na článok databázy Microsoft Knowledge Base:
2772858 SQL Server 2012 zostavy, ktoré boli vydané po bola vydaná SQL Server 2012 Service Pack 1
Stav
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.
Ďalšie informácie
Ak chcete reprodukovať tento problém, spustite nasledujúce vyhlásenie Transact-SQL SQL Server 2012:
DECLARE @i INT
IF object_id('tempdb..#temptable') IS NOT NULL
DROP TABLE #temptable
CREATE TABLE #temptable (id INT)
INSERT INTO #temptable VALUES (1),(2),(3);
IF year(getdate())=2012 SELECT @i=(SELECT COUNT(*) AS nr FROM #temptable);
BEGIN TRY
SELECT 'message'
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE()
END CATCH
Alternatívne riešenie
Tento problém obísť, pridať začať a END IF podmienka.
Odkazy
Ďalšie informácie o prírastkové servis Model pre SQL Server, po kliknutí na nasledovné číslo článku nájdete v článku databázy Microsoft Knowledge Base:
935897 prírastkové servis Model je k dispozícii z SQL Server tímu dodať rýchlych opráv pre nahlásených problémovĎalšie informácie o schéme pomenúvania pre aktualizácie aplikácie SQL Server, po kliknutí na nasledovné číslo článku nájdete v článku databázy Microsoft Knowledge Base:
822499 pomenovania schém pre SQL Server aktualizácie balíkovĎalšie informácie o terminológii z oblasti aktualizácii softvéru získate po kliknutí na nasledovné číslo článku nájdete v článku databázy Microsoft Knowledge Base:
824684 Popis štandardnej terminológie použitej na popis aktualizácií softvéru od spoločnosti Microsoft