יום רביעי, 17 במרץ 2010

דרכים שונות לחיפוש באובייקטים ב- SQL Server

שלום רב,

ישנם מקרים רבים בהם אנו מנהלי בסיס הנתונים או המפתחים מעוניינים לחפש בכל קטעי הקוד בבסיס הנתונים מי לדוגמא קורא לטבלה מסויימת?
להלן קישור מאתר msSQLTips אשר מפרט את הדרכים השונות לחיפוש בתוך האובייקטים השונים בבסיס הנתונים
http://www.mssqltips.com/tip.asp?tip=1962

שימו לב ל- SQL Search Add-in של חברת RedGate אשר נבדק ומומלץ בחום.

בהצלחה .

יום ראשון, 14 במרץ 2010

יום חמישי, 4 במרץ 2010

SQL Debugger for SQL Server 2008

בטיפים האחרונים פירטתי והדגמתי לכם על היכולות החדשות של כלי הניהול של ה- Sql server 2008: SQL Server Management Studio.

אחת מהיכולות החדשות של כלי הניהול ב - sql server 2008 הינו היכולת לבצע Debug לקוד בסיס הנתונים- יכולת אשר מאוד חשובה למתכנתי ה- SQL בארגון, בפיתוח עצמו, בפתרון תקלות ועוד'....

על מנת לממש את היכולת, עלינו ראשית להוסיף את סרגל הכלים של ה- Debug :


ולאחר-מכן נקבל את הסרגל הבא:


דרך הפעולה:

במידה ונרצה להריץ את הקוד הפשוט הבא:
declare @int int
set @int = 56
if @int > 1
begin
SELECT 'A'
end
else
begin
SELECT 'B'
end

נוכל לבצע לו debug כך:
1. ראשית עלינו ללחוץ על כפתור על ה- debug:

2. לאחר הלחיצה נעבור למסך ה- debug.
במסך זה נוכל לבצע פעולות debug כגון: step into ו- step over , breakpoint ועוד'... ולהתקדם בשרשרת הלוגיקה של הקוד .


בתחתית המסך בקטגוריית locals נוכל לראות את המשתנים שלנו ואת הערכים שהם מקבלים במהלך הלוגיקה השונה.

במידה ובמהלך הלוגיקה אנו משתמשים בפונקציה או פרוצדורה או טריגר ועוד'... נוכל בעזרת כלי ה- debug "להיכנס" גם אליהם.

לדוגמא, במידה ואנו נריץ את הקוד הבא, אשר כחלק מהלוגיקה אנו "קוראים" לפרוצודרה בשם "p_test_debug" , במידה ובמהלך ה – Flow אנו נקרא לפרוצודרה – אנו "ניכנס" גם לתוך הפרוצדורה .
לדוגמא:




לנוחיותכם, להלן רשימת הקיצורים להרצת ה- debug:
Action Standard
Start or continue debugging ALT+F5
Stop debugging SHIFT+F5
Step into F11
Step over F10
Step out SHIFT+F11
Implement the Run To Cursor command CTRL+F10
Display the QuickWatch dialog box CTRL+ALT+Q
Toggle breakpoint F9
Delete all breakpoints CTRL+SHIFT+F9
Display the Breakpoints window CTRL+ALT+B
Break all CTRL+ALT+BREAK
Display the Watch 1 window CTRL+ALT+W, 1
Display the Watch 2 window CTRL+ALT+W, 2
Display the Watch 3 window CTRL+ALT+W, 3
Display the Watch 4 window CTRL+ALT+W, 4
Display the Autos window CTRL+ALT+V, A
Display the Locals window CTRL+ALT+V, L
Display the Immediate window CTRL+ALT+I
Display the Call Stack window CTRL+ALT+C
Display the Threads window CTRL+ALT+H

בהצלחה!

יום רביעי, 3 במרץ 2010

ניתוח Error Log

שלום רב,


כידוע ה-SQL Server Management Studio מכיל בתוכו מספר רב של דוחות ניהול וניטור.
הדוחות הינם ברמת השרת, בסיס הנתונים ועוד , וניתן להציג בעזרתם דוחות לדוגמא:



1. פילוח CPU ו- IO ברמת בסיסי הנתונים השונים
2. שינויים אחרונים בסכמת בסיסי הנתונים
3. פילוח צריכת משאבים פר אובייקט ברמת בסיס הנתונים
4. סטטוס log shipping ועוד'...


אחת הבעיות שאני נתקל בהם בשרתי Sql server עמוסים , הינו היכולת לחקור את ה- error log,
הסיבה הינה שמדובר בדרך כלל בקבצים וב- Log ארוכים מאוד ועל-כן, בעייתי לקרוא אותם, לזהות את הבעיות ולנתח את ה- Log בצורה אופטימלית.

דוח שימושי מאוד (שלא תמיד שמים לב אליו) אשר פותר את הבעיה הנ"ל הינו "Number ot Errors" .

ניתן לפתוח אותו כך:



הדוח מציג פילוח error על פני הימים האחרונים בגרף, כולל יכולת חקירת והצגת ה- error הספצייפים.

כמו-כן, הדוח מבצע הפרדה בין Severe Errors ו- Moderate Errors

בהצלחה!