none
הרצת תהליך קליטת נתונים מקבצים למסד נתנים - SSIS. באמצעות ג'וב המורץ ע"י משתמשים ללא הרשאת SA. RRS feed

  • שאלה

  • היי!

    יש לי ג'וב שמריץ SSIS כאשר מפעילים אותו מהאפליקציה כSA.

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

    אבל – הם אינם מורשים להריץ ג'וב.

    יצרתי פרוצדורה שתריץ את הג'וב עם ההרשאות המתאימות:

    USE [msdb]
    CREATE procedure [dbo].[DoSsisJob]
    with execute as  'SA'
    AS
    exec sp_start_job @job_name = 'RUN_SSIS'

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

    השגיאה המתקבלת מתוך הSSIS:

    SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on Flat File Source returned error code 0xC02020C4.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.

    אין שום בעיה בקבצים כי התהליך עובר חלק כאשר מורץ ע"י SA מתוך הSQL.

    לסיכום-

    איך אני נותן למשתמשים הרשאה להריץ ג'וב? האופציה היחידה היא רק ע"י פרוצדורה??

    או לחילופין – מדוע כשהרצת הג'וב היא דרך פרוצדורה התהליך נופל?

    מחכה לתגובה,

    תודה ויום טוב.




    • נערך על-ידי smaq יום ראשון 26 אפריל 2015 08:18
    יום רביעי 22 אפריל 2015 11:53

תשובות

  • הי סמי,

    קצת קשה לי לעקוב דרך הפורום. יש כאן יותר מדי פרטים ודברים שצריך לבדוק...

    אבל אולי ננסה לגרום ל-Proxy לעבוד, ואולי זה יפתור לך את הבעיה...

    מה הודעת השגיאה שאתה מקבל כשאתה מנסה לעבוד עם Proxy?

    תודה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    http://www.madeirasql.com

    • הוצע כתשובה על-ידי Eran Sharvit יום שלישי 05 מאי 2015 17:40
    • הצעה כתשובה בוטלה על-ידי pituachMVP, Editor יום רביעי 06 מאי 2015 07:14
    • סומן כתשובה על-ידי Eran Sharvit יום שני 11 מאי 2015 10:56
    יום שלישי 05 מאי 2015 05:45
    מנחה דיון

כל התגובות

  • !!שלום לכולם

    --יש לי אתגר להציע לכם

    בוקר טוב

    1. לא ברור לי אם אתה רוצה לבחון אותנו או לפתוח חידה/דיון או שאתה מבקש עזרה בבעיה.

    2. אנא בדוק את ההודעה שלך. ההודעה שלך בילתי ניתנת לקריאה כפי שהיא בפורום מפני שסדר המילים השתנה. ניראה שעשית שימוש בתוכנה אחרת על מנת לרשום את ההודעה ואז העתקת אותה לפורום (זה רק ניחו שלי), מפני שההודעה שלך במצב RTL כמו שיש בפורום כאן בברירת המחדל התעוותה (מילים שינו את הסדר כאמור). 

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

    ** חשוב מאוד: קודים שאתה רוצה לרשום בתוכן ההודעה יש לעשות שימוש ב"בלוק קוד" על ידי שימוש בכפתור המתראים מעל החלון של עריכה ההודעה. יש כפתור Insert Code Block שיפתח לך חלון בו תוכל לרשום את הקוד. בצורה זו ההודעה תהיה קריאה, התוכן יהיה ב RTL והקוד יהיה ב LTR

    בתמונה הבאה תוכל לראות כיצד ההודעה שלך ניראית אצלי :-(


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]


    יום חמישי 23 אפריל 2015 05:53
    מנחה דיון
  • ראשית, תודה על התגובה.

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

    נכון שהוספתי מאפיינים בHTML כדי שיהיה קריא ויתישר מימין לשמאל,

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

    תודה רבה!

    סמי.

    יום ראשון 26 אפריל 2015 07:24
  • הי סמי,

    יש לי כמה שאלות:

    1. אתה כותב שאתה מריץ את ה-Job מהאפליקציה. למה אתה מתכוון? איך בדיוק אתה מריץ את ה-Job?

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

    3. איך אתה מריץ את הפרוצדורה?

    4. האם אתה משתמש ב-Proxy Account בהרצת ה-Job Step?

    5. איזה Account מריץ את ה-SQL Server Agent Service?

    תודה,

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    http://www.madeirasql.com

    יום רביעי 29 אפריל 2015 05:03
    מנחה דיון
  • 1. יש מהתוכנית (MAGIC) אפשרות להריץ פקודות בSQL ומשם הם מריצים את הג'וב.

    2. כמובן שמדובר באותו Windows Account.

    3. גם את הפרוצדורה - כמו את הג'וב הם מפעילים ע"י פקודות מהתוכנית שלהם.

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

    5. המשתמש עם הSA הוא זה שמריץ את הSQL Server Agent Service, נקרא לו לצורך העניין: RS.

    בנוסף - 

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

    אני מודה לך מאד על התגובה,

    סמי.

    יום רביעי 29 אפריל 2015 05:35
  • הי סמי,

    קצת קשה לי לעקוב דרך הפורום. יש כאן יותר מדי פרטים ודברים שצריך לבדוק...

    אבל אולי ננסה לגרום ל-Proxy לעבוד, ואולי זה יפתור לך את הבעיה...

    מה הודעת השגיאה שאתה מקבל כשאתה מנסה לעבוד עם Proxy?

    תודה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    http://www.madeirasql.com

    • הוצע כתשובה על-ידי Eran Sharvit יום שלישי 05 מאי 2015 17:40
    • הצעה כתשובה בוטלה על-ידי pituachMVP, Editor יום רביעי 06 מאי 2015 07:14
    • סומן כתשובה על-ידי Eran Sharvit יום שני 11 מאי 2015 10:56
    יום שלישי 05 מאי 2015 05:45
    מנחה דיון
  • כשיש PROXY האפליקציה מיד מקבלת שגיאה שהג'וב לא נמצא, כמובן שהשם זהה והכל אותו דבר.

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

    אולי ידוע לך משהו בנושא? למה לפעמים הקריאה נכשלת?

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

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

    אז תודה עד עכשיו.

    יום רביעי 06 מאי 2015 05:05
  • הי סמי,

    זה קצת מוזר שהאפליקציה מקבלת שגיאה שהג'וב לא נמצא. קצת קשה להבין מה קורה שם בלי להתחבר לשרת ולראות את זה בעיניים.

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

    אם עדיין יש לך שאלות לפורום, אשמח לנסות לעזור...

    בהצלחה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server

    יום שלישי 19 מאי 2015 04:55
    מנחה דיון