העברת מידע בין
שרתים
Transfer Packages between Servers
Darren Green dgreen@swynk.com
ישנן
שתי דרכים להעביר חבילות בין שרתים.
השיטה הפשוטה היא לשמור את החבילה
בתור קבצי אחסון במבנה COM, להעתיק
אותם למיקום החדש, ולבסוף לפתוח אותם
ולשמורם על השרת החדש. למרות שדרך זו
היא נכונה ויישומית, דבר זה מאוד
מעייף כאשר ברשותך כמות גדולה של
חבילות. ניתן לבצע אוטומיזציה של
חלק גדול מהעבודה ע"י שימוש בשרות DTSBackup,
אבל עדיין קיימת שיטה מהירה יותר
המתוארת למטה.
חבילות
מקומיות, בניגוד למאגר חבילות,
נשמרות בטבלת ה-sysdtspackages
במסד הנתונים msdb. לכן ניתן להעביר
חבילות בין שרתים, ע"י העברת
נתונים בין טבלאות
ה-sysdtspackages
המתאימות.
להלן
מדריך פשוט להעברת חבילות בצורה
ישירה בין שרתים:
-
צור
חבילה חדשה
-
הוסף
קישורי SQL Server עבור שרצי המקור והיעד
תוך וידוא שאתה קובע את מסד הנתונים ל-
msdb.
-
קשר
את השניים ע"י משימת טרנספורמציה (Data
Pump) כמתואר למטה.
מקור
משאבת נתונים
יעד
4. כעת לחץ לחיצה
כפולה על משימת הטרנספורמציה כדי לקבוע את מאפייניה
מקור:
עבור
העברה פשוטה קבע את מאפיין ה Table/View ל- msdb].[dbo].[sysdtspackages]]
. טבלאות מערכת אינן נגישות בקופסא
הנפתחת, לכן עליך להקליד זאת ידנית,
כמתואר למטה:
במקום
להעביר את כל הגרסאות, של כל החבילות,
ביכולתך להשתמש בשאילתת SQL כדי
להגביל את מספר השורות המועברות.
דוגמא למקרה בו זה שימושי היא כאשר
פיתחת חבילות בצורה מקומית. בכל פעם
שאתה שומר חבילות שרת, גרסא חדשה
נוצרת. להלן מספר תסריטים (scripts) לדוגמא המגבילים את מספר הגרסאות המועברות
:
בחר את הגירסה האחרונה בלבד:
|
SELECT T1.* FROM dbo.sysdtspackages AS T1
SELECT [name], [id], MAX([createdate]) AS [createdate]
FROM dbo.sysdtspackages GROUP BY [name], [id]) AS T2
ON T1.[id] = T 2.[id] AND T1.[createdate] = T2.[createdate]
|
בחר את X הגירסאות האחרונות כאשר X הוא מספר הגירסאות להעברה:
|
|
SELECT T1.* FROM dbo.sysdtspackages AS T1
SELECT T2.[name] , T2.[id], T2.[createdate] FROM dbo.sysdtspackages T2
GROUP BY T2.[name], T2.[id], T2.[createdate]
HAVING T2.[createdate] IN (SELECT TOP X T3.[createdate]
FROM dbo.sysdtspackages T3
ORDER BY T3.[createdate] DESC) ) AS T2
ON T1.[id] = T2.[id] AND T1.[createdate] = T2.[createdate]
|
יעד:
טבלת
היעד היא תמיד msdb].[dbo].[sysdtspackages]] . בדומה לטבלת המקור טבלאות מערכת
אינן נגישות בקופסא הנפתחת, לכן עליך
להקליד זאת ידנית.
טרנספורמציה:
השתמש ב-DTS כדי לקל באופן
אוטומטי את ההעברות הקבועות כברירות מחדל – פשוט העתר עמודות טרנספורמציה בין
העמודות המתאימות.
|