שיפור ביצועים לגיבוי שיחזור? מה, מה קשור ביצועים לגיבוי?

19/03/2015

ניר לוי DBA בפרוייקט ממשלתי מטעם נאיה טכנולוגיות תהליכי גיבוי שיחוזר כל כך שגרתיים עד כדי כך , שנראה שאין מה להתערב בהם. דוגמא לשיחת מסדרון: מנהל פיתוח : כמה זמן ייקח הגיבוי שיחזור  . DBA: (בלב) גיבוי בערך 40 ד' שיחזור בערך 20 ד' , ההההמ... בערך שעה.  לי בכל אופן היה נראה שהדבר היחיד שיכול לשנות את מהירות גיבוי שיחזור הוא החומרה. אך לא כך הם פניי הדברים.  במאמר הנ"ל אנו נעבוד על שיפור ביצועים לגיבוי מלא(FULL). * כאשר במאמר מדובר על  גיבוי הכוונה גם לשחזור בהקשר של אופטימיזציה. קצת מסביב : פעולת גיבוי בבסיסה היא פעולת קריאה כתיבה , כך שבעצם מתנהלת טרנספורמציה בין קבצי הנתונים לקובץ הגיבוי,...
אין תגובות

Deadlock monitor management by wmi

29/06/2014

שרון רימר ר"צ DBA בפרוייקט ממשלתי מטעם נאיה טכנולוגיות אחד מהדברים החשובים בתפקידו של ה-DBA זה לדעת מה קורה בשרת שלך, לייתר דיוק האם אתה מנטר נעילות בשרת. כמובן, יש להבדיל בין נעילות אפליקטיביות (שגם אותן נדרש לנטר אך לא נעסוק בהם במאמר זה) לבין נעילות מסוג Deadlock. Deadlock – מצב של נעילה מעגלית שבו מספר טרנזקציות ממתינות זו לזו כדי לעדכן מקור נתונים מסוים המוחזק ע"י האחרת. אני רוצה להציג דרך פשוטה יחסית ופחות מוכרת שבה אני מנטר את נעילות מסוג Deadlock אצלנו במערכת. הניתור בנוי על Alerts של SQL Server של wmi - Windows Management Instrumentation . כאשר נרשמת נעילת Deadlock היא נרשמת בwmi. אנו בונים "אזהרה"...
תגובה אחת

על אבטחה ובני אנוש – איתור סיסמאות חלשות ב SQL SERVER

14/05/2014

שמעון גיברלטר DBA בפרוייקט ממשלתי מטעם נאיה טכנולוגיות (ניתן ללחוץ על התמונות בפוסט להגדלה) באחד לאפריל השנה (2014) פורסם פוסט מעניין בsqlservercentral , כותרתו הייתה מאוד מושכת "Script Out Passwords"... הקוד נמצא כאן : ScriptOutPasswords זאת התוצאה המתקבלת מהרצת השאילתא: אכן תכסיס מצחיק ל1 באפריל, בקוד הנ"ל הצפינו את המילים WE CANNOT REALLY RECOVER… באחת משיטות ההצפנה (המירו לבינארי) ובעת הרצת השאילתא בוצע פיענוח למחרוזת בעזרת המרה לטקסט זוהי לא הצפנה מוצלחת כמובן כי ניתן להמיר את הערך הבינארי לטקסט בעזרת פונקציית המרה פשוטה (CAST/CONVERT) ולכן לסיסמא היא לא תתאים. לעומת זאת, מערכת ניהול הסיסמאות של SQL SERVER  משתמשת בהצפנה מסוג SHA  ומאחסנת את הסיסמאות בתור מחרוזת מוצפנת (HASHED) **Secure Hash Algorithm = SHA...

שיחות על Storage – אזהרה ל DBA: המאמר לפניך הולך להכיל מושגי אחסון

27/04/2014

שרון רימר ר"צ DBA בפרוייקט ממשלתי מטעם נאיה טכנולוגיות לפני זמן מה החלו אצלנו תלונות מצד המפתחים על אטיות משמעותית בביצועים של אחת הסביבות החדשות שהקמנו. המפתחים שבדקו את הסביבה ראו את קצה הקרחון. להלן מוצג הפתרון שלי לבעיה. הרעיון הכללי לקבל בעיה ולהתחיל לפרק אותה לחלקים – שיטת הסלאמי(סלנג עממי). החלקים: האפליקציה. שכבת ביניים – קשר בין האפליקציה לבין הנתונים DAL. שכבת מסד הנתונים. שכבת האחסון. הבעיה: תלונות של המפתחים על איטיות האפליקציה. השלבים לפתרון: כאשר לקחנו את הקוד הSQL שהורץ (בשלילת פרמטרים כללים – Set Option) והרצנו אותו על שרת הSQL ראינו שהזמנים נשארו איטיים. בעצם המטרה הייתה לשלול את שרת האפליקציה. בסביבה החדשה שהקמנו(על VM), מסד הנתונים האפליקטיבי בפיתוח היה זהה לכאורה...
2 תגובות

sys.dm_os_waiting_tasks

16/06/2013

עדי כהן מומחה SQL Server בעל כ-15 שנות ניסיון מגוון בתחום. ר"צ DBA בחברה למסחר פיננסי באינטרנט מטעם נאיה טכנולוגיות. אחד ה-views הכי יעילים באיתור בעיות ביצועים הוא sys.dm_os_waiting_tasks. כדי להבין את הView, צריך קצת להכיר את צורת העבודה של השרת. בצורה מאד מופשטת, אפשר לחלק את תהליכים שרצים בשרת לשלושה סוגים: הסוג הראשון משתמש במעבד ורץ. הסטטוס של תהליך מסוג זה הוא running. סוג שני מוכן לרוץ ומחכה לזמן מעבד. הסטאטוס של סוג תהליך מסוג זה הוא runnable. הסוג השלישי אינו...

Cursors are the Devil

22/04/2013

צח פניגשטיין יועץ SQL בכיר, בעל 10 שנות ניסיון בתחום התוכנה, ר"צ DBA בפרוייקט ממשלתי מטעם נאיה טכנולוגיות בשנת 1998 אדם סנדלר כיכב בסרט "נער המים". אומנם לא מדובר ביצירת מופת קולנועית, אך בהחלט מתחבאות בו כמה פנינים. אחת מהדמויות הבולטות בסרט היא מאמא, אימו של הגיבור. דרומית כפרית ובורה, שמגוננת על ילדה העדין עד מחנק. למה אני מספר לכם על זה? ...

המרות לא-מפורשות, אינדקסים ומה שבינהם

14/04/2013

שרון רימר DBA בפרוייקט ממשלתי מטעם נאיה טכנולוגיות. SQL Server 2012 מכיל חידושים רבים. רבות נכתב על הפונקציות והיכולות החדשות שנוספו למוצר, אך תחום אחד בקושי הוזכר - שיפורים בהצגת תוכניות הביצוע. ל-Execution Plan נוספו אזהרות חדשות, והיום אני רוצה להתמקד באזהרה אחת : אזהרת המרה לא-מפורשת(implicit conversion warnings). נניח שאנו ניצבים מול המצב הבא: טבלה א' הינה טבלת לקוחות וטבלה ב' הינה טבלת מכירות. הקישור הטבעי שרובנו נעשה הינו יחיד לרבים, שאומר לקוח אחד מסוגל לבצע הרבה קניות. אך לעיתים, מסיבות שונות ומשונות, מסד הנתונים הוקם כאשר השדה המקשר בטבלה ב' (שברוב המקרים אמור לשמש כמפתח זר) יהיה מטיפוס שונה משדה המפתח...

איך להתמודד עם Filegroup שמסרב להימחק?

29/11/2012

שמוליק כהן DBA  בפרוייקט ממשלתי מטעם נאיה טכנולוגיות. הכל התחיל בכך שרצינו למחוק Filegroup מסוים. בהתאם לתרגולת, העברנו את הטבלאות שהיו עליו ל- Filegroup אחר על ידי מחיקה ויצירה מחדש של ה- clustered indexes שלהן. (אם יש להם גם non-clustered index גם אותם יש להעביר באותה צורה ל- Filegroup החדש).  אחרי שהקובץ שהיה בו התרוקן לחלוטין, מחקנו את ה-Filegroup באמצעות הפקודה: ALTER DATABASE MyDB remove FILE oldFile;   ולאחר מכן ניסינו למחוק את ה- Filegroup באמצעות הפקודה:  ALTER DATABASE MyDB REMOVE FILEGROUP OldFilgroup  ...
אין תגובות

סרטון הדרכה – TRY/CATCH and @@error

עדי כהן מומחה SQL Server בעל כ-15 שנות ניסיון מגוון בתחום. ר"צ DBA בחברה למסחר פיננסי באינטרנט מטעם נאיה טכנולוגיות. סרטון הדרכה המראה איך לטפל בשגיאות בקוד T-SQL תוך שימוש ב-TRY/CATCH http://www.youtube.com/watch?v=iZYCER0Q5ds&feature=youtu.be&hd=1
אין תגובות

סרטון הדרכה – SQL Server Profiler and server side trace

עדי כהן מומחה SQL Server בעל כ-15 שנות ניסיון מגוון בתחום. ר"צ DBA בחברה למסחר פיננסי באינטרנט מטעם נאיה טכנולוגיות. סרטון הדרכה המראה איך להפעיל-Server Side Trace באמצעות SQL Server Profiler http://www.youtube.com/watch?v=b3rb-rMydL4&feature=youtu.be&hd=1
אין תגובות