תופעות
שקול את התרחיש הבא:
-
יש לך מחשב שבו פועל Microsoft SQL Server 2012 או SQL Server 2014.
-
אתה יוצר ביקורת וכמה משפטים שגודלם גדול מ-3000 בתים.
-
אתה מנסה להפעיל את ביקורת באמצעות משפט ALTER
בתרחיש זה, הביקורת אינה מופעלת, ואתה מקבל את הודעת השגיאה הבאה:
Msg 102, Level 15, State 1, Line LineNumber תחביר שגוי ליד 'SomeStrings'. Msg 25711, Level 16, State 2, Line LineNumber ניתוח של פרדיקאט אירועים נכשל.
הערה שים לב שהבעיה כאן היא ששגיאת התחביר מורמת באופן שגוי בשלב 3, כאשר אתה מנסה להפעיל את המעקב. תיקון זה מאפשר להעלות את השגיאה במקום הנכון, בשלב 2 שבו אתה יוצר ביקורת עם משפט where שגדול מ-(>) 3000 תווים. תיקון זה אינו משנה את המגבלה של ביטוי הפרדיקאט WHERE.
ביטוי הפרדיקאט עדיין מוגבל ל-3000 תווים. עיין במאמר predicate_expression במאמר בול הבא: אלתר ביקורת שרת (Transact-SQL).
פתרון
הבעיה נפתרה לראשונה בעדכון המצטבר הבא של SQL Server.
עדכון מצטבר 1 עבור SQL Server 2014 /en-us/help/2931693
עדכון מצטבר 7 עבור SQL Server 2012 SP1 /en-us/help/2894115
כל עדכון מצטבר חדש עבור SQL Server מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו בעדכון המצטבר הקודם. עיין בעדכונים המצטברים האחרונים עבור SQL Server:
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".