Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Microsoft SQL Server 2012 Service Pack 1 корекции се разпространяват като един файл за изтегляне. Имайки предвид, че корекциите са сборни, всяка нова версия съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2012 Service Pack 1 fix съобщение.

Симптоми

Когато изпълнявате Transact-SQL команда в SQL Server 2012, получавате следното съобщение за грешка:

Неправилен синтаксис близо до "begi".


Този проблем възниква, когато са налице следните условия:

  • Съдържа Ако състояние.

  • Ако състоянието не съдържа започва и край .

  • Ако състоянието е последвано от блок Започва опит .

  • Ако блок е recompiled определителен когато изпълнявате заявката.


Решение

Информация за сборна актуализация

Сборна актуализация 4 за SQL Server 2012 SP1

Решение за този проблем излезе първо в сборна актуализация 4. За повече информация как да получите този Сборен пакет за SQL Server 2012 SP1 щракнете върху следния номер, за да отидете на статия в базата знания на Microsoft:

2833645 сборни актуализация 4 за SQL Server 2012 SP1Забележка: Имайки предвид, че компилациите са сборни, всяка нова версия на корекцията съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2012 SP1 fix съобщение. Препоръчително е да приложите най-новата версия на корекцията, който ще съдържа тази корекция. За повече информация щракнете върху следния номер, за да отидете на статия в базата знания на Microsoft:

2772858 SQL Server 2012 компилации, издадени след SQL Server 2012 Service Pack 1

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Допълнителна информация

За да възпроизведете този проблем, изпълнете следните команди 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

Заобикаляне на проблема

За да заобиколите този проблем, добавете започва и края на условието, Ако .

Препратки

За повече информация за модела на постъпково обслужване за SQL Server щракнете върху следния номер, за да отидете на статия в базата знания на Microsoft:

935897 Моделът за постъпково обслужване се предлага от екипа на SQL Server за предоставяне на спешни корекции за съобщени проблемиЗа повече информация за схемата за именуване на актуализации за SQL Server щракнете върху следния номер, за да отидете на статия в базата знания на Microsoft:

Пакетите за актуализация на 822499 именна схема за софтуер на Microsoft SQL ServerЗа повече информация относно терминологията за актуализация на софтуера щракнете върху следния номер, за да отидете на статия в базата знания на Microsoft:

824684 описание на стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×