יום ראשון, 4 באפריל 2010

הגנות ב- Management studio 2008

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

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

לדוגמא:
בכלי הניהול של ה- 2005 ומטה במידה והיינו משנים את הסכמה של הטבלה,
לדוגמא: שינוי Data type של עמודה היה על ידי כלי הניהול היה גורר אחריו מאחורי הקלעים
1. יצירת טבלה זמנית
2. הכנסת הנתונים מהטבלה המקורית לטבלה הזמנית
3. הכנסת הנתונים מהטבלה הזמנית לטבלה החדשה עם השינוי המבוקש ב- Data type
(פעולה אשר היינו מקבלים עליה ברוב המקרים Time outולא היינו יודעים למה...) וכל זאת במקום להריץ את הפקודה ..Alter table

בכלי הניהול של ה- 2008 המצב שונה, כברירת מחדל במידה ואנו מעוניינים לבצע פעולה אשר תגרור יצירת \ מחיקת טבלה חדשה מאחורי הקלעים , כלי הניהול מגן עלינו ואנו נקבל הודעה אשר תחסום בפננו את האפשרות הזאת.



על מנת לבטל הגנה זו יש להגדיר זאת בכלי הניהול תחת ה- option -> designers :

לאחר שינוי זה, במידה ובעתיד נרצה לבצע שינוי בסכמה כלי הניהול יקפיץ לנו הודעת אזהרה אך לאחר מכן יבצע את השינוי בכל זאת:



חג שמח!

3 תגובות:

RoniVered אמר/ה...

היי איתי,

מגניב שאתה כותב על זה, בדיוק נתקלתי בזה לא מזמן - שמתי לב שישנן הרבה פקודות שהצלחתי לבצע עם פקודה ישירה אבל לא דרך ה-GUI. לקח לי זמן למצוא את האופציה הזו בהגדרות. :)

מצד אחד זה חכם, מצד שני, חבל שהודעת השגיאה לא מפורטת יותר כך שהסיבה לכישלון הפעילות היה מובן יותר.


רוני ורד.

פלג אמר/ה...

חבל שאתה לא מסביר את הסכנה התמונה בכך. תתאר לך שמישהו פותח את ההרשאה הנ"ל ואז מבצע שינוי בטבלה בת עשרות מיליוני רשומות-מדובר על עומס כבד על ה DB, ונעילת הטבלה מה שלא בטוח שהמתמש רצה להקלע אליו.

itai binymin אמר/ה...

פלג שלום,

צודק. זאת הסיבה להגנות :)