שלום רב
הפוסט היום מיועד ל DBA's. מן הסתם אחרים פחות יבינו אולם פה אני אסביר לכם גם למה אני כל כך אוהב את הענן.
ובמיוחד את SQL Azure.
פשוט מדהים וכיף - אז ככה מי מה DBA's שקוראים פוסט זה לא יודע מהו Compatibility Level?
2 הצביעו - יפה.
אז הנה הסבר קצר:
לבסיס נתונים יש version שזה מספר הגירסה של בסיס הנתונים, אולם בכדי שתהיה תמיכה לאחרו הוסיפו החכמים את המימד של Compatibility Level.
כלומר בסיס נתונים יכול להיות בגירסה מתקדמת אולם ה Compatibility Level יהיה מכוון לגירסה ישנה יותר ואז חלק מהשפה וחלק מהמנוע יעבוד על פי גירסה ישנה יותר.
זו הטבלה המדוייקת שנלקחה מהלינק הזה https://msdn.microsoft.com/library/bb510680(SQL.130).aspx :
או במאמר של מיקרוסופט פה:
הפוסט היום מיועד ל DBA's. מן הסתם אחרים פחות יבינו אולם פה אני אסביר לכם גם למה אני כל כך אוהב את הענן.
ובמיוחד את SQL Azure.
פשוט מדהים וכיף - אז ככה מי מה DBA's שקוראים פוסט זה לא יודע מהו Compatibility Level?
2 הצביעו - יפה.
אז הנה הסבר קצר:
לבסיס נתונים יש version שזה מספר הגירסה של בסיס הנתונים, אולם בכדי שתהיה תמיכה לאחרו הוסיפו החכמים את המימד של Compatibility Level.
כלומר בסיס נתונים יכול להיות בגירסה מתקדמת אולם ה Compatibility Level יהיה מכוון לגירסה ישנה יותר ואז חלק מהשפה וחלק מהמנוע יעבוד על פי גירסה ישנה יותר.
זו הטבלה המדוייקת שנלקחה מהלינק הזה https://msdn.microsoft.com/library/bb510680(SQL.130).aspx :
אם קוראים בכתובים אפשר לראות למשל ש:
Compatibility-level setting of 130 - The Insert in an Insert-select statement is multi-threaded or can have a parallel plan.
Compatibility-level setting of 120 or lower - The Insert in an Insert-select statement is single-threaded.
כלומר שגם אם תבצע Insert Select ב SQL Server 2016 וה Compatibility Level הוא 120 - זה יתבצע לפי 120 ולא לפי גירסה חדשה.
מי שרוצה לקרוא דוגמא מפורטת יותר על ההבדל יכול לקרוא במאמר של Thomas Larock https://thomaslarock.com/2016/01/how-to-change-the-compatibility-level-of-an-azure-sql-database/
או במאמר של מיקרוסופט פה:
אחלה כבר כולם כתבו על זה אז מה אני מתרגש?
ובכן כרגע כבר אפשר להריץ את זה ב SQL Azure:
ALTER DATABASE [DBname] SET COMPATIBILITY_LEVEL = 140
GO
GO
כאשר גם מיקרוסופט עצמה טרם מסבירה מה השינויים ואנו בוחנים ובודקים.
זה קשור ל execution plan ועוד מלא מילים יפים כאלו של DBA's שרוצים להראות שהם מבינים עניין.
אז אני כבר שיניתי באחד מבסיסי הנתונים שלנו ל
COMPATIBILITY_LEVEL = 140
ואז רץ לבדוק את ה
Batch Mode Adaptive Memory Grant....
מת על הענן.
חברים יום נעים.
פיני
Comments
Post a Comment