Skip to content
  • דף הבית
  • קורס SQL
  • דוא"ל

עובדים עם SQL Server? אתם צריכים לעקוב אחרי ה- CU שמתפרסמים

28 בפברואר 2019 by שחר גבירץ

אם אתם עובדים עם SQL Server בסביבת production, אתם צריכים לעקוב אחרי רשימת ה- CU שמתפרסמים. אם אתם DBA-ים, אז כנראה שזה לא מחדש עבורכם (אני מקווה…). אם, לעומת זאת, אתם מפתחים שיוצא להם לעבוד עם אפליקציה מבוססת DB, ואתם אלה “שחיים” את האפליקציה, פותרים בעיות שצצות בה (גם ברמת התחזוקה), ומתמודדים עם נושאים לכל רוחב הגזרה (כולל דטאבייסים) – אז אולי אתם לא יודעים שקיים כזה דבר, וחבל.

ב- SQL Server (כאשר אני מדבר על גרסת ה- on-prem, ולא על SQL Azure)– מיקרוסופט מוציאה גרסא עיקרית חדשה פעם במס’ שנים. הגרסא החדשה כוללת בד”כ פיצ’רים נוספים, יכולות חדשות, שיפורים ביכולות קיימות – וכו’. לכולנו ברור שבשביל להישאר רלוונטיים, מפתח צריך להתעניין ולהכיר מה יש בגרסאות החדשות של מוצרים שאיתם הוא עובד, רצוי הרבה לפני שהן יוצאות – עוד כשהן בשלבי preview / RC וכו’.

בנוסף לגרסאות העיקריות, אחת לכמה זמן מיקרוסופט מוציאה Service Pack, שגם זה מונח שכולנו מכירים, ואנשים (כולל אלה שאינם DBA-ים) מכירים ומודעים לחשיבות שלו.

מה שאולי פחות מוכר זה הקונספט של ה- Cummulative Updates. בעולם ה- SQL Server, מיקרוסופט מוציאה בערך פעם בחודשיים חבילת עדכונים שכוללת בעיקר תיקוני באגים שונים(לעיתים יש גם תוספות פיצ’רים, אבל בד”כ דברים מינוריים יחסית). מדובר בבאגים שקשורים לבעיות יציבות, בעיות ביצועים ובאגים (למשל, יכולים להיות באגים של החזרת תוצאה לא נכונה). מהניסיון שלי, אני יכול להגיד לכם שלא פעם מדובר בתיקונים קריטיים שכדאי מאד להתקין, ולא לחכות עד ל-SP שייצא אחרי שנה ויכלול את העדכונים הללו.

אם אתם לא מכירים, אתם צריכים  להוסיף את בלוג העדכונים של SQL Server כבר היום לקורא ה-RSS שלכם,  כדי שתתעדכנו כל פעם שיוצאת גרסא חדשה ו- CU חדש. ההמלצה (גם שלי, גם של מיקרוסופט)היא להתקין את העדכונים הללו שיוצאים. הם פותרים באגים, לא פעם גם באגים עיקריים (כאלה שיש סיכוי טוב שנתקלתם בהם). לכל הפחות, צריך לעבור כשיוצא עדכון כזה על רשימת ה-FIX-ים הכלולים בו (כאן תוכלו למצוא למשל את ה- KB של CU1, שהוא האחרון שיצא עד היוםל-MSSQL 2016 SP1) ולראות אם אחד מהדברים שמופיעים שם “מצלצל” לכם. גם אם נראה לכם ששום דבר לא רלוונטי אליכם – עדיין כדאי להתקין. יכול להיות שחלק מהבאגים (בעיקר באגים של פגיעה בביצועים) משפיעים עליכם, למרות שאתם לא מודעים לזה.

בכל אופן, קחו בחשבון שאין צורך להתקין את כל  היסטוריית העדכונים. אתם צריכים להתקין  רקאת ה- CU האחרון שרלוונטי אליכם (כלומר, ה- CU האחרון שיצא לגרסא וה-SP שמותקן אצלכם). כל CU כולל גם את העדכונים הקודמים, כך שהוא מביא אתכם לרמה העדכנית ביותר.

כדאי לדעת שבגרסאות מעודכנות – השאילתה SELECT @@VERSION מחזירה לכם string שמתאר גם את ה-CU שמותקן (בניגוד לעבר שה-CU לא היה מופיע בבירור ב- string של הגרסא).

נקודה נוספת שכדאי להכיר, היא ששינויים ב- query optimizer לא מופעלים כברירת מחדל על דטאבייסים קיימים, כדי להפחית את הסיכוי ששאילתות קיימות ייפגעו ויווצר עבורם execution plan פחות טוב מהנוכחי. עם זאת, עבור אפליקציות “חיות” (כלומר, אפליקציות שיש משאבי פיתוח שמופנים אליהם, שיש מי שמסתכל עליהם וכו’) כדאי לאפשר הפעלה של Query Optimizer Fixes- כאשר כמובן שרצוי אחרי שדרוגים לתת תשומת לב מיוחדת ולראות שלא נפגעו לכם שאילתות. כדי לאפשר לעדכונים ל- query optimizer לפעול (גם ב- primary וגם ב- secondary שקיימים), השתמשו בפקודות הבאות:

USE [SO]

GO

ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = ON;

GO

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET QUERY_OPTIMIZER_HOTFIXES = OFF;

GO

בהצלחה!

שתף

  • LinkedIn
  • WhatsApp
  • פייסבוק

שתף

  • LinkedIn
  • WhatsApp
  • פייסבוק

Post navigation

Previous Post:

צעד אחר צעד: הקמת תשתית לטיפול בלוגים מבוססת ELK (חלק שני)

Next Post:

שימוש ב- AlwaysOn להרמת Readable Secondary–איך זה יכול להשתבש ומה אפשר לעשות

השאר תגובה לבטל

יצירת קשר

ליצירת קשר – מוזמנים לשלוח מייל ל- [email protected]

תגיות

DB DEV Elasticsearch ELK EntityFramework Kibana Logging Logstash RabbitMQ SQL SQL Server

פוסטים אחרונים

  • נושאים בביזור – Distributed Transaction באמצעות 2PC ו- 3PC
  • Entity Framework והטעויות שיגרמו לכם לבעיות ביצועים
  • מה הבעייה עם nvarchar(max) או varchar(max)
  • SQL Server: שימוש בפונקציות COMPRESS ו- DECOMPRESS לטובת דחיסת נתונים
  • DbFunctions.TruncateTime ובעיית הביצועים המוחבאת

תגובות אחרונות

  • ענת דרום על SQL Server למפתחים: Transaction Isolation Level
  • שחר גבירץ על SQL Server: שימוש בפונקציות COMPRESS ו- DECOMPRESS לטובת דחיסת נתונים
  • יעקב על SQL Server: שימוש בפונקציות COMPRESS ו- DECOMPRESS לטובת דחיסת נתונים
  • שחר גבירץ על SQL Server: שימוש בפונקציות COMPRESS ו- DECOMPRESS לטובת דחיסת נתונים
  • יעקב על SQL Server: שימוש בפונקציות COMPRESS ו- DECOMPRESS לטובת דחיסת נתונים

ארכיונים

  • אפריל 2019
  • מרץ 2019
  • מרץ 2018
  • דצמבר 2017
  • נובמבר 2017
  • יולי 2017
  • יוני 2017
  • מאי 2017
  • מרץ 2017
  • דצמבר 2016
  • נובמבר 2016
  • אוקטובר 2016
  • נובמבר 2015
© 2023 שחר.נט | WordPress Theme by Superbthemes