Pazīmes
Apsveriet šādu scenāriju:
- Jums ir dators, kurā darbojas Microsoft SQL Server 2012 vai SQL Server 2014.
- Tiek izveidots audits un daudzas klauzulas WHERE, kas ir lielākas par 3000 baitiem.
- Auditu mēģināt sākt, izmantojot priekšrakstu ALTER
Šādā gadījumā audits netiek sākts, un tiek parādīts šāds kļūdas ziņojums:
Piezīme
Ziņojums 102, 15. līmenis, 1. stāvoklis, rindas rindas numurs
Nepareiza sintakse blakus 'SomeStrings'.
Ziņojums 25711, 16. līmenis, 2. stāvoklis, rindas rindas numurs
Neizdevās parsēt notikuma predikātu.
PIEZĪME: Ņemiet vērā, ka problēma ir tāda, ka sintakses kļūda tiek nepareizi izvirzīta 3. darbībā, kad mēģināt sākt izsekošanu. Šis labojums ļauj kļūdu pacelt pareizajā vietā 2. darbībā, kur jūs IZVEIDOJAT auditu ar klauzulu WHERE, kas ir lielāka par ()> 3000 rakstzīmēm. Šis labojums nemaina predikātu izteiksmju ierobežojumu WHERE.
Predikāta izteiksmes ierobežojums ir 3000 rakstzīmes. Lūdzu, skatiet predicate_expression šajā BOL rakstā: ALTER SERVER AUDIT (Transact-SQL).
Risinājums
Šī problēma pirmo reizi tika novērsta nākamajā SQL Server kumulatīvajā atjauninājumā.
1. kumulatīvais atjauninājums sistēmai SQL Server 2014 /en-us/help/2931693
SQL Server 2012 SP1 7. kumulatīvais atjauninājums /en-us/help/2894115
Par SQL Server kumulatīvajiem atjauninājumiem
Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos SQL Server kumulatīvos atjauninājumus:
- Jaunākais kumulatīvais atjauninājums SQL Server 2014
- Jaunākais kumulatīvais atjauninājums SQL Server 2012 SP1
Statuss
Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".