שימוש ב-DTS להעברת בסיס נתונים
כאשר אנו בונים בסיס נתונים של SQL Server לאתר, לרוב אנחנו מתחילים לעבוד על המחשב המקומי, ורק
כאשר הכל עובד, מעבירים אותו לשרת ה"אמיתי".
מכיוון שבסיס נתונים מסוג SQL Server אינו פשוט קובץ אחד, כמו למשל קבצי ה-mdb של אקסס, אנחנו לא
יכולים פשוט להעביר אותו לשרת דרך FTP.
ישנה אפשרות להעביר את מבנה בסיס הנתונים ואת הנתונים עצמם, אם משתשים ב-DTS wizard בתוכנת
ה-Enterprise Manager. אך פעולה זו היא חלקית בלבד, כי למרות שמבנה הטבלאות והנתונים עצמם מועברים,
אינדקסים, מפתחות, constraints ו-user-defined datatypes אינם מועברים כראוי, ויש צורך לעבור על כל
בסיס הנתונים וליצור אותם מחדש.
האפשרות השנייה, היא לבנות חבילת DTS ן (Data Transformation Services) אישית, שתבצע את כל פעולת
ההעברה. אך אם השרת אינו שלך, סביר להניח שלא יהיו לך ההרשאות המתאימות.
לכן, הדרך המומלצת להעברת מבנה בסיס הנתונים והנתונים עצמם, הינה חילול סקריפט היוצר את כל הטבלאות
והאובייקטים, ביצוע השינויים הדרושים והרצתו על בסיס הנתונים החדש. פעולות אלו דורשות ידע מסויים
בעבודה מול SQL Server.
חשוב!
לפני שאתה מתחיל בהעברה, ברר מול חברת האחסון שלך, האם ניתן לשלוח להם קובץ גיבוי של בסיס הנתונים,
ושהןם ישחזרו אותו עברוך. זה יחסוך לך הרבה מאוד עבודה וזמן.
חילול סקריפט ה-SQL
קליק ימני על שם ה-DB
All Tasks
Generate SQL Script
Select all objects
באפשרותך לבחור, לפי צרכיך, האם להוסיף לסקריפט שורת DROP לכל אובייקט לפני שהוא נוצר.
לאחר חילול הסקריפט, יש צורך לבצע בו כמה שינויים כדי להתאימו לשרת החדש.
1. פתח את הקובץ בעורך טקסט כלשהו המאפשר חיפוש והחלפה, והחלף את כל המופעים של "dbo" (או שם
המשתמש עליו נבנה בסיס הנתונים בשרת המקומי), לשם המשתמש שקיבלת מחברת האחסון.
2. כשה-Enterprise Manager מחולל את הסקריפט, הוא לא מתיד מקפיד על סדר הדברים. לכן יכול להווצר
מצב בו קוד היצירה של טבלה, מופיע לפני קוד היצירה של טבלה אחרת בה היא תלויה. לכן יש לעבור על
הסקריפט, ולהזיז את הקודים למקומם הנכון.
לבסוף, יש להריץ את הסקריפט על ה-Query Analyzer המחובר לשרת המרוחק, כדי ליצור את האובייקטים.
העברת הנתונים באמצעות DTS
קליק ימני על שם ה-DB
All Tasks
Export Data
בחר all tables אך הורד את הבחירה מ- all views.
עכשיו כל הנתונים אמורים להיות כבר בבסיס הנתונים החדש. נותר רק להעתיק כמה אובייקטים.
חזור על הפעולות עד שתגיע למסך זה:
הורד את הסימון מ-"Show all tables ", כי כל הטבלאות כבר הועברו.
וודא כי כל אפשרויות האבטחה אינן מסומנות.
בהצלחה!
תגובות בפייסבוק