יום שני, 27 בדצמבר 2010

MoreVRP Keeps your SQL Server DB in Shape without Cramping your Business Users

We all know that the secret to staying healthy and fit depends on regular, routine exercise and good maintenance habits. The same is true for our database. But how can we ensure that our routine database workouts not interfere with or delay our business?

Throughout the work week different end-users interact with the database to conduct their urgent business activities. They insert new data and run numerous varied complex transactions using a variety of applications that combine and integrate data from different sources. Sales teams enter new customer and pricing data; engineering teams change product attributes and configurations. Logistics clerks repeatedly update the database with RFID devices that transmit loads of status information from the warehouse. Consuming this varied and heavy diet while running back and forth and at the same time concentrating on difficult calculations would give anyone indigestion, especially our MS SQL Server database, with its very sensitive stomach, special dietary requirements and lean frame….

So each week we invite our SQL Server database to the fitness center for a long workout. The DBA carefully goes through the checklist, executing index and stats maintenance procedures, checking for index fragmentation or duplication that are likely to tire the database and slow it down.

Usually the DBA carries out the weekly maintenance routine on the weekend when fewer end-users need the database active. Nevertheless, we all recall the times that the database hasn’t finished its maintenance workout on-time, causing many anxious end-users to congregate around the coffee machines on Monday morning waiting for the tired database to let them get their new work week started.

What can you do to empower your database to better mobilize its resources in order to carry out all the urgent business tasks you need to do in parallel to its time-consuming yet vital maintenance routines? More IT offers you the unique wonder drug that will revitalize your database – MoreVRP! Only MoreVRP, sometimes referred to as “APM on Steroids”, can get inside the database to reallocate its resources and prevent the loads that cause database indigestion, letting it concurrently execute end-user transactions while more slowly doing its maintenance routines without interrupting your business.

There are many vendors that offer a wealth of health check monitors that will measure how tired your database is, as well as sophisticated exercise machines that let your DBAs assign more and more routine exercises and training to keep your database fit.

Only MoreVRP gives your SQL Server db the resource management “muscle” you need to keep your business going strong! For more details, check out our solution on


יום רביעי, 22 בדצמבר 2010

להתמודד עם אופיס 2010

שלום לכם

אמנם זה לא קשור ל- DB, אבל זה מאוד שימושי :)

לכל המנסים את גרסאות האופיס של 2010 ומתמודדים עם השאלה - לאן נעלמו הלחצנים המוכרים??

אל דאגה, יש דרך למצוא אותם!

מיקרוסופט חשבה עלינו והכינה לנו ממשק פשוט ונוח:

הקישו על הלינק הבא:


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


נ.ב. קרדיט לאושרי כהן מנהל אבטחת מידע במכתשים .

יום ראשון, 19 בדצמבר 2010

Microsoft SQL Server 2005 Service Pack 4 RTM

שלום רב,

מייקרוסופט שחררה עדכון sp4 לגרסת sql server 2005 .

Service Pack 4 (SP4) for Microsoft SQL Server 2005 is now available for download. SQL Server 2005 service packs are cumulative, and this service pack upgrades all service levels of SQL Server 2005 to SP4 . You can use these packages to upgrade any of the following SQL Server 2005 editions:

Enterprise Evaluation

SQL Server 2005 SP4 includes SQL Server 2005 SP3 cumulative update 1 to 11, customer requested fixes, along with instances of the SQL Server 2005 SP4 database Engine support for DAC operations.

להלן רשימת הבאגים שנפתרו:


להורדת הקובץ:



יום חמישי, 25 בנובמבר 2010

service pack 2 ל- sql server 2008

שלום רב,
מייקרוסופט שחררה עדכון service pack 2 לפלטפורמת sql server 2008 .
מה חדש בעדכון:
  • Reporting Services in SharePoint Integrated Mode - SQL Server 2008 SP2 provides updates for Reporting Services integration with SharePoint products. SQL Server 2008 SP2 report servers can integrate with SharePoint 2010 products. SQL Server 2008 SP2 also provides a new add-in to support the integration of SQL Server 2008 R2 report servers with SharePoint 2007 products. For more information see the “What’s New in SharePoint Integration and SQL Server 2008 Service Pack 2 (SP2)” section in What's New (Reporting Services).
  • SQL Server 2008 R2 Application and Multi-Server Management Compatibility with SQL Server 2008.
  • SQL Server 2008 Instance Management - With SP2 applied, an instance of the SQL Server 2008 Database Engine can be enrolled with a SQL Server 2008 R2 Utility Control Point as a managed instance of SQL Server. For more information, see Overview of SQL Server Utility in SQL Server 2008 R2 Books Online.
  • Data-tier Application (DAC) Support -Instances of the SQL Server 2008 Database Engine support all DAC operations delivered in SQL Server 2008 R2 after SP2 has been applied. You can deploy, upgrade, register, extract, and delete DACs. SP2 does not upgrade the SQL Server 2008 client tools to support DACs. You must use the SQL Server 2008 R2 client tools, such as SQL Server Management Studio, to perform DAC operations. A data-tier application is an entity that contains all of the database objects and instance objects used by an application. A DAC provides a single unit for authoring, deploying, and managing the data-tier objects. For more information, see Designing and Implementing Data-tier Applications.

להלן קישור לעדכון הגרסה:


יום רביעי, 10 בנובמבר 2010

Denali CTP1

שלום רב,

לידיעתכם מיקרוסופט השיקה השבוע בכנס PASS את ה-CTP הראשון של SQL Server Denali, הגרסה הבאה של SQL Server.

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

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

• ניתן לקרוא על הגרסה :

• ניתן להוריד את הגרסה להתנסות :

• אפשר לצפות ב-keynotes מ-PASS ב-streaming חי היום, מחר ומחרתיים:

הגרסה החדשה צפויה לכלול שיפורים רבים אשר נסקור אותם בטק-אד הקרוב.

אגב, בטק-אד תתקיימנה הרצאות לגבי חלק ניכר מהחידושים, לרבות החידושים ב-SSIS, פרויקט Crescent ליצירת דוחות, ו-SQL AlwaysOn לשיפור זמינות ועוד...


יום ראשון, 24 באוקטובר 2010


שלום רב,

כידוע פלטפורמת sql server מכילה פונקציות מערכות שימושיות מאוד. בטיפים הקרובים אסקור מספר פונקציות שימושיות ומעניינות.

ברצוני להוסיף בפרוצדורה תנאים לביצוע ע"פ המשתמש אשר מריץ את הפרוצדורה – האם זה אפשרי?
האם ניתן לקבוע ערך DEFAULT לעמודה בטבלה שמשמעו "מי ביצע את הפעולה" ?

פלטפורמת SQL SERVER 2005 מכילה פונקציות מערכת רבות ומגוונות, אחת הפונקציות השימושיות הינה : SUSER_SNAME.

להלן מספר יכולות הפונקציה :
1. הפונקציה מחזירה את ה- log in שמריץ את הפונקציה , לדוגמא:

2. הפונקציה יכולה לתרגם את ה- login security identification number לשם המשתמש , לדוגמא:

ניתן לשלב את הפונקציה כתנאי בתוך פרוצדורה , וניתן לשלב את הפונקציה ב- DEFAULT constraint בתוך טבלה, לדוגמא:

בהצלחה !

יום רביעי, 13 באוקטובר 2010

כנס DBA Services

שלום רב,

אשמח לראותכם בהרצאה שלי בנושא : sql server 2008 כתשתית למערכות קריטיות

בכנס של שותפה שלנו - חברת DBA Services.



יום שישי, 1 באוקטובר 2010

Microsoft SQL Server 2008 Service Pack 2

שלום רב,

לידיעתכם מייקרוסופט שיחררה service pack 2 לפלטפורמת sql server 2008

להלן קישור לרשימת הבאגים שתוקנו בגרסה זו :

להלן קישור להורדת קובץ ההתקנה:


יום שני, 13 בספטמבר 2010

פורום SQL Server חדש !

שלום רב,

בימים האחרונים עלה פורום ה- sql server החדש (http://social.msdn.microsoft.com/Forums/he-IL/sqlhe/threads) אשר אמור להחליף את קבוצות הדיון הישנות באתר של מייקרוסופט - ישראל.

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


ברוכים הבאים , ובהצלחה :)

יום חמישי, 29 ביולי 2010

לאיזה PORT אני מאזין ???

שלום רב,

כיצד אני יכול לדעת לאיזה port האינסטנס של ה- sql server שלי מאזין?

ישנן מספר אפשרויות לזהות מהו ה- Port שה- sql server מאזין אליו:

1.registry - אפשרות ראשונה אשר לא מקובלת אך מאוד יעילה הינה דרך ה- registry של שרת ה- sql server.

SQL 2005 :

SQL 2008 :

2. xp_readerrorlog - אפשרות שנייה הינה לקרוא את ה- log של ה- sql server.

בעת העלייה של האינסטנס נרשם לתוך ה- Log ה- Port אליו הוא מאזין. על מנת למצוא את הרשומה המתאימה - תחפשו את הערך "Server is listening on".

3. וכמובן האפשרות המקובלת - SQL Server Configuration Manager - תחת אופציית SQL Server Network Configuration - ניתן לראות את מספר ה- Port תחת הגדרות ה- tcp\ip.


יום שני, 12 ביולי 2010

מדריך למשתמש....

שלום רב,

אני יודע שזה לא קשור ישירות לעולם בסיסי הנתונים (למרות שדוחות באקסל ואפיונים ב- word הם חלק מסדר היום של כל DBA...) ...
להלן קישור להורדת ספר הדרכה ומדריך למשתמש בגרסת האופיס החדשה - office - 2010 .
הספרים כוללים סקירת החידושים , השיפורים והשינויים בגרסה החדשה, ובעתיד הקרוב יתפרסם גם מסמך השוואה בין גרסאות האופיס.



יום שלישי, 6 ביולי 2010

JOIN לא שווה - רק דומה....

שלום רב,

יש לי שתי טבלאות בבסיס הנתונים אשר אני רוצה לבצע להם JOIN אך לצערי אין לי שדה מקשר...
כלומר: השדה בטבלה הראשונה הינו "חלק" מהשדה בטבלה השנייה.
לדוגמא: בטבלה הראשונה יש לי עמודה השומרת שם פרטי+שם משפחה ואילו בטבלה השנייה יש לי עמודת שם פרטי בלבד.
כיצד ניתן לבצע join בין שתי הטבלאות?

נהוג לחשוב כי ביצוע Join בין שתי טבלאות הינן רק כאשר שתי העמודות בשתי הטבלאות זהות.
אז זהו שלא... :)
ניתן לשלב במשפט ה- join בעת החיבור בין העמודות - LIke.

נקים שתי טבלאות:

טבלה ראשונה תייצג שמות פרטיים של העובדים:

CREATE TABLE [dbo].[t_names](
[name] [nvarchar](50) NULL
INSERT [dbo].[t_names] ([name]) VALUES (N'itai')
INSERT [dbo].[t_names] ([name]) VALUES (N'ziki')
INSERT [dbo].[t_names] ([name]) VALUES (N'david')

הטבלה השנייה תייצג שמות מלאים של העובדים:

CREATE TABLE [dbo].[t_full_names](
[full_name] [nvarchar](50) NULL
INSERT [dbo].[t_full_names] ([full_name]) VALUES (N'itai binyamin')
INSERT [dbo].[t_full_names] ([full_name]) VALUES (N'zipi')
INSERT [dbo].[t_full_names] ([full_name]) VALUES (N'haya')
INSERT [dbo].[t_full_names] ([full_name]) VALUES (N'veracity group')

במידה ונריץ את המשפט השליפה הבא לא נקבל תשובות מהסיבה שהעמודות הינן שוות (למרות שהן זהות בחלקם...):
t_full_names ON t_names.name = t_full_names.full_name

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

t_full_names ON t_full_names.full_name like t_names.name+'%'


יום שלישי, 29 ביוני 2010

SQL Server Best Practices

שלום רב,

כידוע מייקרוסופט מפרסמת מידי פעם מסמכי Best Practices למוצריה.
לכן, על מנת לעשות סדר - להלן קישור אשר מרכז את כל המסמכים הללו.

המסמכים כוללים הנחיות, עצות מומחים, והכוונה בנוגע ליישום הטכנולוגיות.



יום רביעי, 16 ביוני 2010

מינוי - ראש תחום SQL Server בקבוצת וראסיטי

שלום רב,

שמח לבשר כי אחרי 3 שנים כמנהל פרוייקטים ויועץ DBA בקבוצת וראסיטי ללקוחות בארץ ובחו"ל -
מוניתי לאחרונה לראש תחום SQL Server בקבוצה.

במסגרת התפקיד, אני אהיה אמון על הובלת התחום מבחינה טכנולוגית תוך קידום רמת הידע הטכנולוגי בחברה,
ניהול וביצוע שירותי מומחה ופרוייקטים בעולמות ה-MSSQL.
בנוסף, אני אהווה מוקד ידע טכני לכל אנשי החברה אשר צריכים יעוץ וסיוע בפרוייקטים המשלבים בתוכם טכנולוגייות Microsoft.

אשמח לעמוד לשירותכם בבלוג בנייד ובמייל.



יום שני, 26 באפריל 2010

SQL Server 2008 R2 הגיע ל-RTM!

שישה דברים שחשוב לדעת על SQL Server 2008 R2:

1. המוצר יהיה זמין ללקוחות במחירון מאי.
2. ניתן להפנות לקוחות לאתר ההשקה ללמידה ולהורדת גרסת התנסות.
3. התווספה מהדורתDatacenter לתרחישי קונסולידציה ווירטואליזציה בארגונים גדולים.
4. בינה עסקית מנוהלת בשירות עצמי – התווספו יכולות משמעותיות שמאפשרות "לחמש" את כל הארגון בבינה עסקית. קורס טכנולוגי מסובסד לגבי החידושים המיועד לשותפי בינה עסקית יפתח ב-9.5 – לפרטים פנה אל מנהל השותף.
5. ניתן ללמוד עוד על המוצר, למצוא מצגות וכיוב' כאן.
6. הגירסה החדשה מלווה בשינויים ברישוי.

תכונות מפתח במהדורת SQL Server 2008 R2 Datacenter:
• תחקור וניהול מרכזי ליישומים ושרתים - מאפשר לתחקר ולנהל למעלה מ-25 Instances
• תמיכה ברמת הוירטואליזציה הגבוהה ביותר ל-ROI מירבי בקונסולידציה ווירטואליזציה
• StreamInsight לעיבוד אירועים מורכבים (Complex event Processing) – למעלה מ-5000 אירועים לשנייה
• תמיכה בלמעלה משמונה מעבדים ועד ל-256 מעבדים לוגיים לסקלאביליות הגבוהה ביותר
• תמיכה בזכרון עד לדרגה המירבית המתאפשרת על ידי מערכת ההפעלה

תכונות מפתח במהדורת SQL Server 2008 R2 Enterprise:
• PowerPivot - טכנולוגיה חדשה המאפשרת ניתוח נתונים מנוהל בשירות עצמי.
• Master Data Services - להבטחת עקביות הנתונים בין מערכות הטרוגניות
o דחיסת נתונים עם תמיכה ב-UCS-2 Unicode
o מפות Dundas
o ספריית דוחות

יום חמישי, 22 באפריל 2010

סיפור לקוח : כא”ל לנהל נכון

שלום רב,

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

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

כתוצאה, רמת הביצועים של המערכות היתה נמוכה מהרצוי, התשלום עבור הרישוי היה גבוה מהנדרש, עלות התחזוקה היתה גבוהה (חומרה ותוכנה) ורמת הזמינות לא היתה אופטימלית.

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

ב-Cal ביצענו פרויקט שבמסגרתו רוכזו היישומים לסביבת מחשוב מרכזית בתצורת Cluster, מבוססת Windows Server 2003/2008 ו-SQL Server 2005/2008 (גרסאות 2008 הושקו במהלך הפרויקט, שארך כשנה). כשותף מבצע נבחרה חברת ורסיטי, לאחר שהוכיחה מקצועיות ושירותיות ברמה גבוהה בפרויקטים קודמים ב-Cal. "הם הוכיחו יכולת לעמוד ביעדי זמן ותקציב, וידענו כי מובטחת לנו המשכיות לאורך זמן" מוסיף דביר.

"כתוצאה מהמהלך, מספר השרתים הפיזיים הצטמצם בצורה משמעותית - והוא מקיף כיום פחות ממחצית מסך השרתים הקודם", אומר איתי בנימין, מנהל פרויקטים ו-DBA בוראסיטי, ומציין: "כחלק מהפרויקט, אף בוצעה הפרדה מסודרת לסביבות עבודה נפרדות - Development, Testing ו-Production, דבר שלא היה קיים בעבר".


יום רביעי, 21 באפריל 2010

Cumulative Update Package 9 for SQL Server 2005 Service Pack 3

שלום רב,

מייקרוסופט שיחררה עדכון ל- SP3 :

Microsoft SQL Server 2005 hotfixes are created for specific SQL Server service packs. You must apply a SQL Server 2005 Service Pack 3 hotfix to an installation of SQL Server 2005 Service Pack 3. By default, any hotfix that is provided in a SQL Server service pack is included in the next SQL Server service pack.

Cumulative Update 9 for SQL Server 2005 Service Pack 3 contains hotfixes for SQL Server 2005 Service Pack 3 issues that have been fixed since the release of SQL Server 2005 Service Pack 3.


יום שישי, 16 באפריל 2010

Free ebook: Introducing Microsoft SQL Server 2008 R2

שלום רב,

מייקרוסופט שיחררה בימים האחרונים ספר להורדה חינמית בנושאי הפלטפורמה החדשה של בסיסי הנתונים - SQL Server 2008 R2 אשר תושק רשמית בזמן הקרוב.

הספר כולל את הפרקים הבאים:

PART I Database Administration

CHAPTER 1 SQL Server 2008 R2 Editions and Enhancements 3
CHAPTER 2 Multi-Server Administration 21
CHAPTER 3 Data-Tier Applications 41
CHAPTER 4 High Availability and Virtualization Enhancements 63
CHAPTER 5 Consolidation and Monitoring 85

PART II Business Intelligence Development

CHAPTER 6 Scalable Data Warehousing 109
CHAPTER 7 Master Data Services 125
CHAPTER 8 Complex Event Processing with StreamInsight 145
CHAPTER 9 Reporting Services Enhancements 165
CHAPTER 10 Self-Service Analysis with PowerPivot 189



חג עצמאות שמח!

יום ראשון, 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 :

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

חג שמח!

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

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

שלום רב,

ישנם מקרים רבים בהם אנו מנהלי בסיס הנתונים או המפתחים מעוניינים לחפש בכל קטעי הקוד בבסיס הנתונים מי לדוגמא קורא לטבלה מסויימת?
להלן קישור מאתר msSQLTips אשר מפרט את הדרכים השונות לחיפוש בתוך האובייקטים השונים בבסיס הנתונים

שימו לב ל- 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

נוכל לבצע לו 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
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


יום שני, 15 בפברואר 2010

Microsoft SQL Server Release Services

The Global Release Services team within the SQL Server organization is a central team providing a variety of services to one of the biggest development organizations in the world. We drive a lot of processes and business decisions which significantly impact both, our internal operations as well as our customers world wide.
This blog is intended to share some of this information with you straight from the source, drive interaction as well as to solicit your feedback on particular topics for us to make better decisions for you!

SQL Server Servicing plans
Hello Community, we appreciate your recent comments regarding the servicing needs of your current SQL Server configurations. We want to assure you that we are fully committed to our existing customer base, hence hereby clarification around our near term servicing deliverables:

SQL Server 2008 SP2 - Microsoft targets release in Q3/CY2010.

SQL Server 2005 SP4 - You overwhelmingly requested another servicing release for SQL Server 2005. Given your feedback Microsoft targets now such release in Q4/CY2010.
Based on current support volume as well as the fact that SQL Server 2005 will enter into extended support on 4/13/2011 we anticipate this to be the last Service Pack release for this SQL Server version.
Extended support for SQL Server 2005 will be available through 4/12/2016.
Please see http://support.microsoft.com/lifecycle/ for specifics.
As always, the SQL Server team will carefully monitor customer feedback as well as support volume to re-assess our decisions based on your needs.

Matthias Berndt
Group Program Manager
Microsoft SQL Server


יום שישי, 12 בפברואר 2010

SQL Server 2008 - Object Explorer Details

שלום רב,

אחת היכולות החדשות של כלי ה- SQL Server Management Studio בפלטפרומת sql server 2008 הינה השדרוג המשמעותי של מסך ה- Object Explorer Details.

מסך זה מלבד יכולותו בהצגת פרטי ושמות האובייקטים המבוקשים, מציג בתוכו מידע רב נוסף.
ברמת בסיסי הנתונים - במידה ואנו רוצים דוח המציג את שמות בסיסי הנתונים וגודלם (כולל גודל אינקדסים וכו'..) או לחילופין אנו רוצים לתעד ולמפות את שמות בסיסי הנתונים והמאפיינים שלהם (recovery model, owner ועוד'..) בעבר היינו משתמשים בסקריפטים - שליפת מידע מטבלאות ושאילתות מערכת - כהיום בעזרת Object Explorer Details של Sql server 2008 אנו יכולים לממש דוחות אלו בקלות ובמהירות.

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

קליק ימני על סרגל הכלים יחשוף בפננו את המידע הרב שניתן להוסיף לתצוגת ה- Object Explorer Details .

דוגמאות לדוחות נוספים:

  • ברמת הטבלאות - לדוגמא ניתן להפיק דוח הכולל שמות הטבלאות וכמות הרשומות בכל טבלה כולל מיון.

  • ברמת קטעי הקוד - פירוט שמות האובייקטים ותאריך שינוי אחרון שבוצע להם

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


יום ראשון, 7 בפברואר 2010

Veracity Extreme day 2010

שלום רב,

הנכם מוזמנים לכנס משותף של חברת וראסיטי ואורקל
Veracity Extreme Day - אשר יתקיים ב- 15/3 בבית הירוק בתל אביב .
בכנס ישתתפו בכירים מאורקל העולמית אשר יגיעו במיוחד לכנס זה.

הכנס יהיה סביב נושא חידושים באורקל 11 G וטכנולוגיות חדשות אשר יכולות להוריד עלויות פיתוח.
• תהיה מצגת של יכולות טכנולוגיות חדשות ב-11G כולל הדגמות חיות על ידי צוות המומחים של וראסיטי.
• יהיו סיפורי לקוחות אשר ישמו טכנולוגיות אלו
• תהיה הרצאה מאד מעניינת על Golden Gate – הרכש החדש של אורקל.
• תנתן סקירה של פתרונות אורקל לעולם ה-ISV...
• ועוד דברים רבים וטובים.

הכנס מיועד הן למשתמשי אורקל והן ללקוחות אשר בוחנים את השימוש בסל המוצרים של החברה. הוא מיועד למנהלים ולאנשים טכנים כאחד.


יום שלישי, 26 בינואר 2010

Troubleshooting Performance Problems in SQL Server 2008

It’s not uncommon to experience the occasional slowdown of a database running the Microsoft SQL Server database software. The reasons can range from a poorly designed database to a system that is improperly configured for the workload. As an administrator, you want to proactively prevent or minimize problems; if they occur, you want to diagnose the cause and take corrective actions to fix the problem whenever possible. This white paper provides step-by-step guidelines for diagnosing and troubleshooting common performance problems by using publicly available tools such as:

* SQL Server Profiler
* System Monitor (in the Windows Server 2003 operating system) or Performance Monitor (in the Windows Vista operating system and Windows Server 2008), also known as Perfmon
* Dynamic management views (sometimes referred to as DMVs)
* SQL Server Extended Events (Extended Events) and the data collector, which are new in SQL Server 2008.

We have limited the scope of this white paper to the problems commonly seen by Microsoft Customer Service and Support (CSS), because an exhaustive analysis of all possible problems is not feasible.


יום שלישי, 19 בינואר 2010

SQL Server 2008 R2 gets an official date

בוקר טוב,
חברת מייקרוסופט הודיעה כי גרסה רשמית של פלטפורמת ה- sql server הבאה - SQL Server 2008 R2 תיהיה זמינה במאי 2010.

יכולות הפלטפורמה החדשה הינם רבות וישנם יכולות חדשות בתחום business intelligence ושרידות בסיס הנתונים.
מייקרוסופט מציינת כי מאז שיצאה גרסת הבטא של המוצר - CTP באוגוסט 2009 היו מעל ל- 150,000 הורדות.

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

להלן קישור בנוגע להודעה של MC בנוגע לזמינות הגרסה:


יום רביעי, 6 בינואר 2010

Trigger with insert select

שלום רב,

עלתה דרישה אצל אחד מהלקוחות שלי שאחרי כל הכנסת לקוח בטבלת הלקוחות תרוץ פרוצדורה שמקבלת את מספר הלקוח ושולחת לו מייל עם פרטי ההרשמה.

במבט ראשון, הפתרון הינו פשוט :

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

בדרך כלל הטריגר יראה כך:

CREATE TRIGGER [dbo].[tri_TRIGGER_test_insert]
ON [dbo].[t_test_trigger]
declare @id int
select @id = id from inserted
exec p_send_mail @id

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

ראשית ניצור טבלה:
CREATE table t_test_trigger
( id int)

להלן טריגר אשר אחרי כל הכנסת רשומה ידפיס את המספר הלקוח שהוכנס:
alter TRIGGER [dbo].[tri_TRIGGER_test_insert]
ON [dbo].[t_test_trigger]
declare @id int
select @id = id from inserted
select @id

במידה ונבצע הכנסת נתונים בדרך הבאה, הכל יעבוד כשורה והטריגר יקפוץ 3 פעמים:
insert into t_test_trigger values (1)
insert into t_test_trigger values (2)
insert into t_test_trigger values (3)

אך שימו לב שאם נבצע הכנסת נתונים בו זמנית, הטריגר יקפוץ פעם אחד בלבד:
insert into t_test_trigger
select *
from t_test_trigger

במקרה שכזה הפרוצדורה תרוץ רק פעם אחת, ורק לקוח אחד יקבל מייל...

במקרים בהם אנו יודעים שאופי הכנסת הנתונים מול הטבלה הינה גם על ידי
insert and select
הפתרון הינו לשים לולאה בתוך הטריגר אשר תרוץ על נתוני טבלת ה- inserted וכך הפרוצדורה שלנו תרוץ על כל הרשומות.

alter TRIGGER [dbo].[tri_TRIGGER_test_insert]
ON [dbo].[t_test_trigger]

DECLARE @id int
DECLARE uniques_cursor CURSOR FOR

select id from inserted

OPEN uniques_cursor
FROM uniques_cursor
INTO @id

select @id

FROM uniques_cursor
INTO @id
CLOSE uniques_cursor
DEALLOCATE uniques_cursor


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