Gejala
Pertimbangkan skenario berikut:
- Anda memiliki komputer yang menjalankan Microsoft SQL Server 2012 atau SQL Server 2014.
- Anda membuat audit dan banyak klausa WHERE yang berukuran lebih dari 3000 byte.
- Anda mencoba memulai audit dengan menggunakan pernyataan ALTER
Dalam skenario ini, audit tidak dimulai, dan Anda akan menerima pesan kesalahan berikut:
Catatan
Msg 102, Tingkat 15, Status 1, Nomor baris baris
Sintaks salah di dekat 'SomeStrings'.
Msg 25711, Tingkat 16, Status 2, Nomor Baris
Gagal mengurai predikat kejadian.
CATATAN: Harap diperhatikan bahwa masalah di sini adalah kesalahan sintaksis yang salah dimunculkan pada langkah 3, ketika Anda mencoba MULAI pelacakan. Perbaikan ini memungkinkan kesalahan dimunculkan di tempat yang tepat, pada langkah 2 di mana Anda MEMBUAT audit dengan klausa WHERE yang lebih besar dari (>) 3000 karakter. Perbaikan ini tidak mengubah batas ekspresi predikat WHERE.
Ekspresi predikat masih dibatasi hingga 3000 karakter. Silakan lihat predicate_expression dalam artikel BOL berikut: ALTER SERVER AUDIT (Transact-SQL).
Resolusi
Masalah pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut.
Pembaruan Kumulatif 1 untuk SQL Server 2014 /en-us/help/2931693
Pembaruan Kumulatif 7 untuk SQL Server 2012 SP1 /en-us/help/2894115
Tentang pembaruan kumulatif untuk SQL Server
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
- Pembaruan kumulatif terbaru untuk SQL Server 2014
- Pembaruan kumulatif terbaru untuk SQL Server 2012 SP1
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".