KB3208179-FIX: שאילתת MDX מחזירה שגיאות אם הערך של MaxRolapOrConditions גדול מ-256 ב-SQL Server Analysis Services

תופעות

נניח שאתה משתמש במצב אחסון של OLAP יחסי (ROLAP) עבור קבוצת מדידים במופע של SQL Server 2014 או 2016 Analysis Services. לאחר הגדרת הערך של המאפיין advanced MaxRolapOrConditions ליותר מ-256, עליך להפעיל שאילתות MDX בקבוצת מדידה זו. במקרה זה, אתה מקבל שגיאות הדומות לבאות:

#Error מנתח DOM נכשל בטעינה ובניתוח של הזרם. כתובת URL: "סיבה:" הפעולה בוטלה: מקסימום-האילוץ ' עומק רכיב מופר '. Source: ' '. מיקום קובץ: 0. Line: 6.

סיבה

שירותי ניתוח מייצרים מסמך XML מדומה של SQL, שנותח לאחר מכן באמצעות גיליון סגנונות XML כדי ליצור את משפט ה-SQL הסופי שנשלח למקור היחסי. בעת יצירת מסמך ה-XML ההתחלתי ההתחלתי, או התנאים עבור עמודה מופקים כרכיבי XML מקוננים כמו בדוגמה הבאה:

<OR> <Condition>column1 = value1</Condition>  <OR>   <Condition>column1 = value2</Condition>    <OR>     <Condition>column1 = value3</Condition>    </OR>  </OR></OR> 

המאפיין MaxElementDepth המשמש כברירת מחדל עבור אובייקט MSXML DOM שנמצא בשימוש על-ידי Analysis Services כדי לבנות את מסמך ה-xml הוא 256 ב-MSXML 6.0. לכן, כאשר התצורה של MaxROLAPOrConditions מוגברת, מסמך ה-xml שנוצר יכול לחרוג מהעומק המרבי הזה.

פתרון

בעיה זו נפתרה בעדכון המצטבר הבא עבור SQL Server:

    עדכון מצטבר 5 עבור SQL Server 2016 RTM

    עדכון מצטבר 2 עבור SQL Server 2016 SP1 

עדכון מצטבר 4 עבור SQL Server 2014 SP2

עדכון מצטבר 10 עבור SQL Server 2014 SP1

אודות עדכונים מצטברים עבור SQL Server

כל עדכון מצטבר חדש עבור SQL Server מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו בעדכון המצטבר הקודם. עיין בעדכונים המצטברים האחרונים עבור SQL Server:

העדכון המצטבר האחרון עבור SQL Server 2016

העדכון המצטבר האחרון עבור SQL Server 2014

מצב

Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".

מידע נוסף

תיקון זה משנה את האופן שבו מסמך ה-XML של הביניים נוצר, כך שכל תנאי נוסף או תנאי אינו מקונן ברכיב קודמות או XML. לכן, תוכל להגדיל את MaxROLAPOrConditions מעבר ל-256. עם זאת, עדיין מגבלות מעשיות על מספר התנאים שבהם ניתן להשתמש. כאשר מספר התנאים גדל, המורכבות של משפט ה-SQL שנוצר עשויה לחרוג מהקיבולת של שרת מסד הנתונים היחסי, תוך גרימת מצבי שגיאה חדשים. להלן דוגמאות לתנאים שעלולים לגרום לשגיאות חדשות:

  • חריגה מהמספר המרבי של פרמטרים במשפט

  • חריגה מהמספר המרבי של תנאים במשפט where

  • שגיאות בניתוח מחרוזת שאילתת SQL

  • חריגה מהגודל המרבי של מחרוזת SQL query

לכן, אנו ממליצים שתתבצע בזהירות על כל ההתאמות לערך התצורה של MaxROLAPOrConditions .

הפניות

למד אודות המינוח של Microsoft המשמש לתיאור עדכוני תוכנה.

זקוק לעזרה נוספת?

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Microsoft insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×