PracticU

תיעוד תהליך ב-Logging SSIS

בלי כתוביותעם כתוביות
PracticU › קורס SSIS › תיעוד תהליך ב-Logging SSIS
מילון מושגים:
SSIS - רכיב של SQL Server לבניית תהליכי ETL להעברה ולעיבוד של נתונים בין מקורות.
יומן אירועים - רישום מרכזי ב-Windows של אירועי מערכת, אבטחה ותוכנות, המשמש למעקב ולאבחון.
אירוע - התרחשות שהמערכת מזהה ויכולה להגיב לה, כמו לחיצת עכבר, הקשה או סיום פעולה.
SQL Server - מערכת ניהול מסדי נתונים יחסיים של מיקרוסופט, הנשלטת בשפת T-SQL.
XML - שפת סימון לייצוג נתונים מובְנים בעזרת תגיות, המשמשת להחלפת מידע בין מערכות ולקובצי הגדרות.
Event Viewer - כלי ב-Windows שמציג את יומני האירועים של המערכת והתוכנות, לצורך מעקב ואבחון תקלות.
Visual Studio - סביבת פיתוח משולבת (IDE) של מיקרוסופט לכתיבה, ניפוי והרצה של קוד, בעיקר בשפות .NET.

תיעוד תהליך ב-Logging SSIS
אחרי שתהליך SSIS רץ, רוצים לדעת מה קרה בו: מתי התחיל, אם הסתיים ואיפה נפל. ההרצאה מראה איך מגדירים Logging ב-package ושולחים את הלוגים ל-Windows Event Log.
השלבים העיקריים
1. פתיחת ההגדרות: ב-Control Flow, על שטח ריק, קליק ימני ובחירה ב-Logging.
2. בחירת יעד: ב-Provider Type אפשר לשלוח לוגים ל-SQL Server, לקובץ טקסט, ל-XML, ל-SQL Profiler ול-Windows Event Log. בדוגמה בחרו ב-Windows Event Log.
3. בחירת רכיבים: בצד שמאל מרחיבים את הרשימה ובוחרים אילו רכיבים של ה-Control Flow לתעד. בדוגמה נבחר רק הרכיב Products מתוך ה-Sequence Container, והוא סומן כמשתמש בפרוביידר שנבחר.
4. בחירת אירועים: בטאב Details לא מסומן דבר כברירת מחדל. סימון כל האירועים יוצר עומס בלוג, ולכן בוחרים רק מה שמעניין, כמו warning, שגיאה, שינוי ב-execute status, או תחילת וסוף התהליך. בדוגמה: OnPreExecute ו-OnPostExecute.
5. עמודות בהודעה: הכפתור Advanced מאפשר לבחור אילו מאפיינים יוצגו בהודעה, כמו שם המחשב, שם האופרטור, Source Name ו-Source ID. חלק מהפרמטרים הם חובה ואי אפשר לשנותם.
6. הרצה ובדיקה: כדי לבודד את התהליך מסמנים את הרכיבים האחרים כ-disabled. מפעילים את ה-package ובודקים ב-Event Viewer. הופיעו שתי הודעות, pre-execute ו-post-execute, עם מזהה ה-package וזמן ההתחלה, והפרש של כשנייה ביניהן.
7. מקום נוסף: גם Log Events מראה את הלוגים בתוך Visual Studio, אחרי שהוגדרה שליחה החוצה.
שימו לב
מנקים את ה-Event Viewer רק לצורך הדגמה. במערכת חיה ובפרודקשן לא מומלץ.
אחרי ההרצאה אפשר להגדיר Logging לרכיב מסוים ב-package ולקרוא את התוצאה מה-Event Viewer.
השיעור הבא בקורס: הסבר על SSIS Event Handlers

פרקי ההרצאה: תיעוד תהליך ב-Logging SSIS

  1. 00:00

    מטרת תיעוד תהליכי SSIS

  2. 00:36

    מסך Logging וסוגי Provider

  3. 01:27

    תיעוד לפי רכיבי Control Flow

  4. 02:57

    בחירת אירועים בטאב Details

  5. 03:50

    בחירת מאפייני ההודעה ב-Advanced

תמלול ההרצאה: תיעוד תהליך ב-Logging SSIS

הטקסט המלא של הדקות הראשונות בהרצאה «תיעוד תהליך ב-Logging SSIS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:22

    על מנת לתעד, על מנת לעשות אודיט או לוגינג לתוך המערכת, נשתמש בכלים שנמצאים בתוך ה-SSIS. הדבר הראשון שאותו נכיר כעת זה כשאנחנו נמצאים בתוך ה-Control Flow בשטח ריק, אנחנו יכולים לעמוד במקום פתוח וללחוץ קליק ימני לוגינג.

  3. 00:41

    פתיחה של לוגינג תראה לנו מסך שבו ניתן לקנפג את הלוגים שאנחנו רוצים להוציא מתוך המערכת. בואו נפתח את ה-Dropdown של ה-Provider Type על מנת לראות לאילו מקורות אנחנו יכולים להוציא את המידע שלנו.

  4. 00:56

    אנחנו יכולים להוציא את זה לתוך הלוג של ה-SQL Server, אנחנו יכולים להוציא את הלוגים של ה-SSS לתוך טקסט, לתוך XML, אנחנו יכולים להוציא אותם לתוך ה-SQL פרופיילר, ואנחנו יכולים באופן מאוד מפתיע להוציא אותם

  5. 01:08

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

  6. 01:25

    אילו אירועים אנחנו נתפוס, תכף גם אותם אנחנו נגדיר. אולם לפני זה אנחנו יכולים להחליט אילו חלקים בתוך ה-package שלנו, כלומר אילו יחידות מתוך ה-control flow אנחנו רוצים לתעד אותם.

  7. 01:41

    נשים רגע cancel ונחזור לכאן, שימו לב שבתוך ה-control flow כרגע קיימים אצלי כשלושה רכיבים data profiling task, export to excel ואיזשהו sequence container שמכיל עוד שתי קומפוננטות, שתי יחידות.

  8. 01:57

    זו מן הדריל דאון שאנחנו יכולים לעשות בתיעוד לוגים של המערכת, זהו ברמת ה-Control Flow. כלומר, כל רכיב כאן ב-Control Flow, ניתן להחליט שאותו רכיב אנחנו מוציאים את הלוגים שלו החוצה.

  9. 02:12

    קליק ימני לוגינג על מנת לחזור למסך הקודם, שוב פעם נבחר ב-Windows Event Log, והפעם מצד שמאל נפתח את הפלוס על מנת לראות את כל הרכיבים שיש לפנינו. אז כאמור ראינו את ה-Data Profiling, ראינו את ה-Export to Excel, וראינו שיש לנו רכיב שנקרא Sequence Container שהכיל שני רכיבים.

  10. 02:33

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

  11. 02:39

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

  12. 02:57

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

  13. 03:13

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

  14. 03:39

    חיווי בתוך הלוגים או כאשר התהליך מתחיל אנחנו רוצים לקבל חיווי בתוך הלוגים. לפני שאנחנו יוצאים ומסיימים את הקונפיגורציה של הלוגים של ה-package שלנו יש לנו כאן כפתור מעניין עוד לדבר עליו Advanced.

  15. 03:57

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

  16. 04:15

    On-Post Execute, ברגע שה-execution מסתיים, מה המידע שאותו אני רוצה לראות, אני רוצה לדעת אולי את שם המחשב, אני רוצה לדעת את שם האופרטור, Source Name, Source ID וכו' וכו', ישנם כמה פרמטרים שהם מנדטוריים שבהם אני לא יכול לשנות, אני יכול לחלופין לבחור את כולם, On Post Execute, לסמן את השורה כולה כאן, ובכך לקחתי את כל הפרמטרים שניתנים לקינפוג,

לקורס המלא: קורס SSIS אונליין

ההרצאה הקודמת: הסבר על Data Viewer ב-SSIS

ההרצאה הבאה: הסבר על SSIS Event Handlers

הרצאות קשורות מקורסים אחרים

  • תיעוד - לוג - Logging - חלק 1
  • תהליך הבדיקה
  • Message Logging
  • תיעוד של קוד

קורסים נוספים במסלול

  • קורס DBA אפליקטיבי - שפת SQL למתחילים
  • קורס NoSQL - MongoDB
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI