Microsoft SQL Server 2012 Service Pack 1 Düzeltme karşıdan yüklenebilen bir dosya dağıtılır. Koşuluyla, düzeltmeleri birikimlidir, her yeni sürüm tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2012 Service Pack 1 ile gelen tüm güvenlik düzeltmelerini düzeltin.
Belirtiler
SQL Server 2012'de bir Transact-SQL deyimini çalıştırdığınızda, aşağıdaki hata iletisini alırsınız:
'Begi' yakınında yanlış sözdizimi.
Bu sorun, aşağıdaki koşullar geçerli olduğunda oluşur:
-
Eğer koşul deyimi içerir.
-
IF koşulu başlar ve END deyimleri içermez.
-
IF koşulu Başlamak deneyin bloğu tarafından izlenir.
-
Sorguyu çalıştırdığınızda, Eğer bloğu derlenmiştir.
Çözüm
Toplu güncelleştirme bilgileri
SQL Server 2012 SP1 için toplu güncelleştirme 4
Bu sorunla ilgili düzeltme, ilk toplu güncelleştirme 4'de yayımlanmıştır. Bu toplu güncelleştirme paketi SQL Server 2012 SP1'i elde etme hakkında daha fazla bilgi için Microsoft Bilgi Bankası makalesine gitmek için aşağıdaki makale numarasını tıklatın:
2833645 kümülatif 4 için SQL Server 2012 SP1 GüncelleştirmesiNot: Koşuluyla, yapılar toplu, her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2012 SP1'de bulunan tüm güvenlik düzeltmelerini düzeltin. Bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası makalesine gitmek üzere aşağıdaki makale numarasına tıklayın:
2772858 SQL Server 2012, SQL Server 2012 Service Pack 1'de yayımlandıktan sonra yayımlanan oluşturur
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Daha fazla bilgi
Bu sorunu yeniden oluşturmak için SQL Server 2012'de aşağıdaki Transact-SQL deyimlerini çalıştırın:
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
Geçici çözüm
Bu soruna geçici bir çözüm bulmak için IF koşulu için başlar ve Bitiş ifadeleri ekleyin.
Başvurular
SQL Server için artımlı hizmet modeli hakkında daha fazla bilgi için Microsoft Bilgi Bankası makalesine gitmek için aşağıdaki makale numarasını tıklatın:
935897 artımlı bir hizmet modeli kullanılabilir SQL Server ekibinden bildirilen sorunlar için düzeltmeler sunmak içinSQL Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için Microsoft Bilgi Bankası makalesine gitmek için aşağıdaki makale numarasını tıklatın:
822499 adlandırma şeması Microsoft SQL Server yazılım güncelleştirme paketlerininYazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için Microsoft Bilgi Bankası makalesine gitmek için aşağıdaki makale numarasını tıklatın:
824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması