Simptomi
Iedomājieties šādu scenāriju:
-
Jums ir dators, kurā darbojas Microsoft SQL Server 2012 vai SQL Server 2014.
-
Jūs izveidojat auditu un daudzas klauzulas WHERE , kas ir lielākas par 3000 baitiem.
-
Jūs mēģināt sākt auditu, izmantojot priekšrakstu ALTER
Šajā scenārijā audits netiek startēts, un tiek parādīts šāds kļūdas ziņojums:
Msg 102, Level 15, State 1, Line rindas numurs% Nepareiza sintakse blakus "SomeStrings". Msg 25711, Level 16, State 2, Line rindas numurs% Neizdevās parsēt notikuma predikātu.
Piezīme Ņemiet vērā, ka problēma ir tāda, ka 3. darbībā sintakses kļūda ir nepareizi izcelta, kad mēģināt Sākt izsekošanu. Šis labojums ļauj kļūdu izcelt pareizajā vietā, 2. darbībā, kur izveidojat auditu ar klauzulu WHERE, kas ir lielāka par (>) 3000 rakstzīmēm. Šis labojums nemaina predikāta WHERE ierobežojumu.
Predikāta izteiksme joprojām ir ierobežota līdz 3000 rakstzīmēm. Lūdzu, skatiet predicate_expression šajā BOL rakstā: ALTER Server audits (Transact-SQL).
Risinājums
Šī problēma pirmo reizi tika izlabota tālāk sniegtajā SQL Server kumulatīvajā atjauninājumā.
Kumulatīvais atjauninājums 1 SQL Server 2014 /en-us/help/2931693
Kumulatīvais atjauninājums 7 SQL Server 2012 SP1 /en-us/help/2894115
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".