
Extended Event on Azure
לפני זמן מה, אחד המפתחים אצלנו התלונן על איטיות בהפעלת פקודת bulk insert בבסיס נתונים שנמצא על Azure (תצורת PaaS). כדי לבדוק את האטיות החלטתי להפעיל extended event session, שיראה את הwait statistics של כל תהליך שמריץ את הפקודה BULK INSERT. לרוב, אני מפעיל את הextended events ונותן לו לכתוב לקובץ ולא לזיכרון (בכתיבה לזיכרון יש באג, שגורם לכך שחלק מהנתונים "מועלמים" ע"י השרת ללא מתן הודעת שגיאה או אזהרה. ניתן לקרוא על הבאג הזה בעברית כאן, ובאנגלית כאן). הפעם בגלל שמדובר על

SQL Server 2016 Query Store
אלון זנטנר, DBA בכיר בחברה בשלבי בחינת SQL Server 2016 מספר, SQL Server 2016 מביא אתו תכונה חדשה בנושא ניטור ושיפור ביצועים. שמחתי לראות שבגרסה משקיעים בנושא כה חשוב. על כן, אני משתף ומפרט כאן על ה-Query Store feature שמעניק לנו דרך נוספת לבחון ביצועים של שאילתות ובקלות. מה זה Query Store ? Query Store היא תכונה (feature) חדשה ב SQL Server 2016 המאפשרת ניטור ביצועי שאילתות בצורה קלה ונוחה ללא צורך בניסיון ,תוכנות צד שלישי או תפירת פתרונות מקומיים כלשהם. עד היום אם רצינו לבחו

למה השרת משתמש בכל כך הרבה query plans לאותה פרוצדורה?
אחד הייתרונות בשימוש בפרוצדורות בSQL Server, הוא שימוש חוזר בquery plan. כאשר אנו משתמשים בפרוצדורה, השרת יוצר query plan, ולאחר מכן כל שימוש נוסף בפרוצדורה עובד לפי הquery plan, שנמצא כבר בcache, ולא צריך לגרום לייצור נוסף של query plan. כמובן שלא תמיד ניתן להשתמש באותו query plan. לפעמים יש נסיבות, שבהן למרות שיש כבר query plan לפרוצדורה בתוך הcache, השרת יוצר query plan נוסף לאותה פרוצדורה. הסיבה הידועה ביותר ליצירה של query plan נוסף, היא set options שונים בsessions ש