✕ סגור 
צור קשר
תודה על ההתעניינות .

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form

תאימות לגרסאות קודמות ב sql azure

פיני קרישר
|
בינונית
|
Dec 15, 2016
alt="facebook"alt="linkedin"להרשמה לניוזלטר

שלום רב

הפוסט היום מיועד ל  DBA's. מן הסתם אחרים פחות יבינו אולם פה אני אסביר לכם גם למה אני כל כך אוהב את הענן.

ובמיוחד את SQL Azure.

פשוט מדהים וכיף - אז ככה מי מה DBA's שקוראים פוסט זה לא יודע מהו Compatibility Level?

אז הנה הסבר קצר:

לבסיס נתונים יש 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/

או במאמר של מיקרוסופט פה:

https://blogs.msdn.microsoft.com/sqlserverstorageengine/2016/05/06/improved-query-performance-with-compatibility-level-130-in-azure-sql-database/

אחלה כבר כולם כתבו על זה אז מה אני מתרגש?

ובכן כרגע כבר אפשר להריץ את זה ב SQL Azure:

ALTER DATABASE [DBname]   SET COMPATIBILITY_LEVEL = 140

GO

כאשר גם מיקרוסופט עצמה טרם מסבירה מה השינויים ואנו בוחנים ובודקים.

זה קשור ל execution plan  ועוד מלא מילים יפים כאלו של DBA's שרוצים להראות שהם מבינים עניין.

אז אני כבר שיניתי באחד מבסיסי הנתונים שלנו  ל  

COMPATIBILITY_LEVEL = 140

ואז רץ לבדוק את ה

Batch Mode Adaptive Memory Grant....

מת על הענן.

חברים יום נעים.

פיני

שלום רב

הפוסט היום מיועד ל  DBA's. מן הסתם אחרים פחות יבינו אולם פה אני אסביר לכם גם למה אני כל כך אוהב את הענן.

ובמיוחד את SQL Azure.

פשוט מדהים וכיף - אז ככה מי מה DBA's שקוראים פוסט זה לא יודע מהו Compatibility Level?

אז הנה הסבר קצר:

לבסיס נתונים יש 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/

או במאמר של מיקרוסופט פה:

https://blogs.msdn.microsoft.com/sqlserverstorageengine/2016/05/06/improved-query-performance-with-compatibility-level-130-in-azure-sql-database/

אחלה כבר כולם כתבו על זה אז מה אני מתרגש?

ובכן כרגע כבר אפשר להריץ את זה ב SQL Azure:

ALTER DATABASE [DBname]   SET COMPATIBILITY_LEVEL = 140

GO

כאשר גם מיקרוסופט עצמה טרם מסבירה מה השינויים ואנו בוחנים ובודקים.

זה קשור ל execution plan  ועוד מלא מילים יפים כאלו של DBA's שרוצים להראות שהם מבינים עניין.

אז אני כבר שיניתי באחד מבסיסי הנתונים שלנו  ל  

COMPATIBILITY_LEVEL = 140

ואז רץ לבדוק את ה

Batch Mode Adaptive Memory Grant....

מת על הענן.

חברים יום נעים.

פיני

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
בואו נעבוד ביחד
צרו קשר