עבור לתוכן

SMO, SQLServer ו - PowerShell

Featured Replies

פורסם

שלום לכולם,

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

עד לאחרונה כל הגיבויים על השרתים תוזמנו ע"י קבצי BAT שונים ומשונים.

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

הורדתי המון דוגמאות קוד שונות והתקדמתי לא רע, אבל אני עדיין מרגיש שחסר לי קצת רקע בסיסי בPS. למשל: השימוש ב-|(pipe) שגיליתי במקרה וכו'.

אשמח אם תוכלו לכוון אותי למקור מידע אשר "מלמד מאפס" את הדברים הבסיסיים ב-PS.

אני אשמח גם לקבל הכוונה לכל מה שקשור לשילוב של PS עם אובייקטים של SMO ובכלל עבודה מול SQL Server.

כמו כן, האם יש אפשרות לפתח סקריפטים של PS בסביבת VS2008? לא מצאתי אפשרות לפתוח פרוייקט/קובץ מסוג זה. נכון לעכשיו אני משתמש ב-PowerGUI.

תודה לכולם,

אביעד

פורסם

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

פורסם
  • מחבר

היי,

תודה על התשובה.

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

משם התחלתי ללמוד.

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

תודה ושבת שלום.

פורסם

גיבוי DB עם קבצי BAT נשמע רע ואפילו רע מאוד, קשה להשקיע בתוכנה נורמאלית שגם יודעת לגבות DB עם VSS?

בכל מקרה יש ספר מעולה - Windows PowerShell Cookbook של אוריילי.

אני לא יודע למה אתה מתכוון בPowerShell בשביל Visual Studio, אבל לכתוב סקריפטים בו לא תוכל, תוריד notepad++ אם אתה לא מסתדר עם הרגיל..

הדבר היחידי שאפשר לעשות זה להוריד את הPowerShell Templates בשביל VS2005/2008 וגם אז זה רק משמש בשביל לכתוב cmdlets בC#/VB.NET, ולא את הסקריפטים עצמם.

בקשר לעבודה מול SQL Server, אני מאוד מקווה שאתה מתכוון רק בכל הנוגע לשילוב של PS, אז בSQL2008 השרת עצמו מגיע עם דיי הרבה CMDletים מוכנים(בדיוק כמו שExchange 2007 הגיע), עד כמה שיידוע לי הרוב לא קיים ל-2005, אולי יש CMDletים שנכתבו ע"י אנשים, אבל לא עבדתי מעולם מול SQL2005 בPowerShell.

כאן יש לך אוסף של סקריפטים, לא יודע אם הם עובדים בSQL2005.

http://powershell.com/cs/media/g/sql-server/default.aspx

פורסם
  • מחבר

המון תודה לך דובי.

לגבי הגיבויים, אני מכין maintenance plan בתוך השרת וקורא לו ע"י dtexec ב-2005/2008 או ע"י osql ב-2000.

אני לא כותב את הגיבוי עצמו ב-BATCH.

לפני ואחרי הקריאה לתוכנית גיבוי יש מספר סקריפטים שאני מריץ ע"י sqlcmd/osql כדי לבצע למשל shrink לDB לפני הגיבוי.

אני צריך שהכל ירוץ מתוך קבצי BATCH מכיון שיש לנו שרת תזמון מרכזי (CTRLM) שהכל חייב להתבצע ממנו והוא יודע להריץ רק קבצי הרצה/סקריפטים.

אני אשיג את הספר ואנסה ללמוד ממנו. תודה על ההמלצה.

לגבי השילוב, אני מכיר חלק מ-CMDLETים שמגיעים עם השרת ואני מקווה להגיע לשאר גם. יש לך אולי רשימה של כל הCMDLETים?

לגבי עבודה מול 2000/2005 - זה עובד מצויין. בדקתי. הסקריפטים יושבים על שרת אחד שמותקן עליו SQL2008 ואני ירוץ להריץ אותם מרחוק על כל שרת SQL.

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

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

תודה ושבת שלום.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים