
OnPreExecute ו-OnPostExecute.הטקסט המלא של הדקות הראשונות בהרצאה «תיעוד תהליך ב-Logging SSIS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בדוגמה שלפנינו נכיר כיצד אנחנו מתעדים תהליך SSIS בתוך המערכת. כל תהליך SSIS, לאחר שהוא רץ, אנחנו נרצה לקבל חיווי לוגים מתוך המערכת, מה קרה בכל תהליך, היכן הוא נפל, האם הוא הצליח, האם הוא הסתיים, מתי הוא התחיל ואילו פרמטרים הוא רץ.
על מנת לתעד, על מנת לעשות אודיט או לוגינג לתוך המערכת, נשתמש בכלים שנמצאים בתוך ה-SSIS. הדבר הראשון שאותו נכיר כעת זה כשאנחנו נמצאים בתוך ה-Control Flow בשטח ריק, אנחנו יכולים לעמוד במקום פתוח וללחוץ קליק ימני לוגינג.
פתיחה של לוגינג תראה לנו מסך שבו ניתן לקנפג את הלוגים שאנחנו רוצים להוציא מתוך המערכת. בואו נפתח את ה-Dropdown של ה-Provider Type על מנת לראות לאילו מקורות אנחנו יכולים להוציא את המידע שלנו.
אנחנו יכולים להוציא את זה לתוך הלוג של ה-SQL Server, אנחנו יכולים להוציא את הלוגים של ה-SSS לתוך טקסט, לתוך XML, אנחנו יכולים להוציא אותם לתוך ה-SQL פרופיילר, ואנחנו יכולים באופן מאוד מפתיע להוציא אותם
לתוך ה-Event Log של מערכת ההפעלה של ה-Windows בעצמו. אנחנו נבחר באפשרות הזאת, ומהאפשרות הזאת מכאן ואילך כל תהליך שלנו, התיעוד שלו יצא החוצה, הלוגים שלו יצאו החוצה וייכנסו לתוך ה-Event Log.
אילו אירועים אנחנו נתפוס, תכף גם אותם אנחנו נגדיר. אולם לפני זה אנחנו יכולים להחליט אילו חלקים בתוך ה-package שלנו, כלומר אילו יחידות מתוך ה-control flow אנחנו רוצים לתעד אותם.
נשים רגע cancel ונחזור לכאן, שימו לב שבתוך ה-control flow כרגע קיימים אצלי כשלושה רכיבים data profiling task, export to excel ואיזשהו sequence container שמכיל עוד שתי קומפוננטות, שתי יחידות.
זו מן הדריל דאון שאנחנו יכולים לעשות בתיעוד לוגים של המערכת, זהו ברמת ה-Control Flow. כלומר, כל רכיב כאן ב-Control Flow, ניתן להחליט שאותו רכיב אנחנו מוציאים את הלוגים שלו החוצה.
קליק ימני לוגינג על מנת לחזור למסך הקודם, שוב פעם נבחר ב-Windows Event Log, והפעם מצד שמאל נפתח את הפלוס על מנת לראות את כל הרכיבים שיש לפנינו. אז כאמור ראינו את ה-Data Profiling, ראינו את ה-Export to Excel, וראינו שיש לנו רכיב שנקרא Sequence Container שהכיל שני רכיבים.
ראשית, את הטרנקייט, את היכולת שלנו לעשות טרנקייט ניקוי של הטבלה עצמה, ואת הפרודקט.
מתוך שלל הרכיבים הללו, בואו נבחר רכיב אחד, את התהליך המשמעותי, אותו פרודקט שאותו אנחנו רוצים להזין לו ולהוציא לוגים שלו החוצה. ברגע שבחרנו, אז אנחנו צריכים לציין שאנחנו רוצים את ה-Windows Event Log, שזה הפרוביידר שאותו בחרנו.
אבל לא בכך מסתיימת המשימה שלנו, מאחר ואנחנו צריכים להיכנס לתוך הטאב השני של ה-Details כדי לבחור אילו אירועים, אילו איבנטים אנחנו רוצים לתפוס. בהגדרה, כשאנחנו נכנסים למסך הזה, שום דבר לא מסומן.
אנחנו יכולים לסמן את כל האיבנטים, אבל אז נקבל עומס גדול מאוד בתוך הלוג שלנו. אנחנו יכולים לבחור איבנטים שמעניינים אותנו. ברגע שיש וורנינג, ברגע שטאסק נפל, ברגע שיש שגיאה, ברגע שה-execute סטטוס השתנה כל אחד מהתהליך או בואו נבחר תחילת התהליך וסוף התהליך on-post-execute ברגע שהתהליך עצמו מסתיים אנחנו רוצים לקבל
חיווי בתוך הלוגים או כאשר התהליך מתחיל אנחנו רוצים לקבל חיווי בתוך הלוגים. לפני שאנחנו יוצאים ומסיימים את הקונפיגורציה של הלוגים של ה-package שלנו יש לנו כאן כפתור מעניין עוד לדבר עליו Advanced.
והכפתור הזה לוקח לנו את אותם אירועים שזה אך אתה בחרנו, ובו אנחנו יכולים לרדת בדריל-דאון ולהחליט אילו עמודות, אילו מאפיינים אנחנו רוצים שיוצג לנו בתוך ההודעה עצמה, בתוך הלוג כפי שהוא יופיע במערכת.
On-Post Execute, ברגע שה-execution מסתיים, מה המידע שאותו אני רוצה לראות, אני רוצה לדעת אולי את שם המחשב, אני רוצה לדעת את שם האופרטור, Source Name, Source ID וכו' וכו', ישנם כמה פרמטרים שהם מנדטוריים שבהם אני לא יכול לשנות, אני יכול לחלופין לבחור את כולם, On Post Execute, לסמן את השורה כולה כאן, ובכך לקחתי את כל הפרמטרים שניתנים לקינפוג,