PERBAIKI: "Salah sintaks di awal '&'" pesan galat ketika Anda menjalankan pernyataan Transact-SQL SQL Server 2012

Pola dasar: Hotfix generik

BUG #: 184706 (pemeliharaan konten) VSTS: 1226020

Perbaikan Microsoft SQL Server 2012 Service Pack 1 didistribusikan sebagai satu berkas yang dapat diunduh. Mengingat bahwa perbaikan bersifat kumulatif, setiap Edaran baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan sebelumnya SQL Server 2012 Service Pack 1 edaran perbaikan.

Gejala

Ketika Anda menjalankan pernyataan Transact-SQL SQL Server 2012, Anda menerima pesan galat berikut:

Sintaks salah di awal '&'.


Masalah ini terjadi jika kondisi berikut benar:

  • Pernyataan berisi jika kondisi.

  • Jika kondisi tidak berisi pernyataan mulai dan akhir .

  • Jika kondisi diikuti oleh blok Mulai mencoba .

  • Jika blok recompiled ketika Anda menjalankan permintaan.


Pemecahan masalah

Informasi pembaruan kumulatif

Pembaruan kumulatif 4 untuk SQL Server 2012 SP1

Perbaikan untuk masalah ini pertama kali dirilis pada 4 pembaruan kumulatif. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2012 SP1, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

2833645 kumulatif pemutakhiran 4 untuk SQL Server 2012 SP1Catatan Mengingat bahwa versi ini bersifat kumulatif, setiap edaran perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan sebelumnya SQL Server 2012 SP1 edaran perbaikan. Kami sarankan Anda mempertimbangkan untuk menerapkan edaran perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

2772858 bangun SQL Server 2012 yang dirilis setelah SQL Server 2012 Paket Layanan 1 kini telah dirilis

Status

Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

Informasi lebih lanjut

Untuk mereproduksi masalah ini, jalankan pernyataan Transact-SQL berikut ini di 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

Pemecahan masalah

Untuk mengatasi masalah ini, tambahkan mulai dan akhir pernyataan jika kondisi.

Referensi

Untuk informasi selengkapnya tentang Model pelayanan inkremental untuk SQL Server, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

935897 Model pelayanan inkremental tersedia dari tim SQL Server untuk memberikan hotfix untuk masalah yang dilaporkanUntuk informasi selengkapnya tentang skema penamaan untuk pemutakhiran SQL Server, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

Paket pemutakhiran 822499 memberi nama skema untuk perangkat lunak Microsoft SQL ServerUntuk informasi selengkapnya tentang terminologi pemutakhiran piranti lunak, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

824684 Deskripsi tentang terminologi standar yang digunakan untuk menjelaskan pembaruan perangkat lunak Microsoft

Penulis: rmaini; jannaw
Penulis: v-fismao
Pemeriksa teknis: rmaini; anokrut; yuronhe; umajay jannaw; sqlprev
 Editor: v-jonwoo

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×