ב-Database Migration Service, משימות ההעברה משמשות להעברת נתונים ממסדי הנתונים של המקור למכונה של Cloud SQL ביעד. משימות ההעברה עוזרות לכם לארגן את פרופילי החיבור של המקור והיעד, להגדיר את ההגדרות הספציפיות לתהליך ההעברה, לעקוב אחרי ההתקדמות ולסיים את כל הפעולה בצורה בטוחה.
כדי ליצור משימת העברה, צריך לבצע את הפעולות הבאות:
בחירת פרופילי החיבור של המקור והיעד.
בוחרים אילו מסדי נתונים שזוהו במכונה של המקור רוצים להעביר.
מבצעים בדיקה של משימת ההעברה כדי לוודא ש-Database Migration Service יכול להתחבר למקור הנתונים וליעד.
התחלת משימת ההעברה ומעקב אחרי ההתקדמות.
קידום משימת ההעברה כשרוצים להעביר את האפליקציה למכונה החדשה.
לפני שמתחילים
- ודאו שאתם עומדים בדרישות הבאות:
- יש לכם קטגוריה של Cloud Storage לקובצי גיבוי של SQL Server.
- הגיבוי המלא וקובצי יומן הרישום של העסקאות מועלים לקטגוריה של Cloud Storage.
- יש לכם פרופיל חיבור למקור בשביל הקטגוריה של Cloud Storage.
- יצרתם והגדרתם את מכונת היעד של Cloud SQL ל-SQL Server, ויש לכם פרופיל חיבור ליעד בשביל המכונה.
- בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו.
- מפעילים את ממשקי ה-API של Database Migration Service, Compute Engine, Cloud Storage ו-Cloud SQL Admin.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת משימות העברה ב-Database Migration Service, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
אדמין של העברת מסדי נתונים (
roles/datamigration.admin) -
אדמין באחסון (
roles/storage.admin) -
Cloud SQL Editor (
roles/cloudsql.editor)
להסבר על מתן תפקידים, קראו את המאמר איך מנהלים את הרשאות הגישה.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות כדי לבצע העברות הומוגניות של SQL Server באמצעות Database Migration Service. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע Required Permissions:
ההרשאות הנדרשות
כדי לבצע העברות הומוגניות של SQL Server באמצעות Database Migration Service, נדרשות ההרשאות הבאות:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.databases.getcloudsql.databases.deletecloudsql.operations.getcompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.liststorage.objects.list
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הגדרת מאפיינים ויצירת משימת העברה
כדי ליצור משימת העברה:
המסוף
- נכנסים לדף Migration jobs במסוף Google Cloud .
- לוחצים על Create migration job.
ייפתח דף אשף ההגדרות של משימת ההעברה. האשף הזה מכיל כמה חלוניות שמנחות אתכם בכל שלב בהגדרה.
אפשר להשהות את היצירה של משימת ההעברה בכל שלב, בלחיצה על SAVE & EXIT. כל הנתונים שהזנתם עד לאותו שלב נשמרים בטיוטה של משימת העברה. אתם יכולים לסיים את משימת ההעברה ששמרתם כטיוטה במועד מאוחר יותר. אפשר לקרוא מידע נוסף במאמר עדכון של טיוטת משימת העברה.
- בדף Get started, מזינים את הפרטים הבאים:
- שם משימת ההעברה
זהו שם קריא לאנשים של משימת ההעברה. הערך הזה מוצג במסוף Google Cloud .
- מזהה משימת ההעברה
זהו מזהה בפורמט קריא למכונה של משימת ההעברה. הערך הזה משמש לעבודה עם משימות העברה באמצעות פקודות Google Cloud CLI או API של Database Migration Service.
- ברשימה המנוע של מסד הנתונים של המקור, בוחרים באפשרות SQL Server או Amazon RDS for SQL Server.
השדות המנוע של מסד הנתונים של היעד ו-סוג עבודת המיגרציה מתמלאים באופן אוטומטי ואי אפשר לשנות אותם.
- שם משימת ההעברה
- לוחצים על שמירה והמשך.
- בדף Define your source, מבצעים את הפעולות הבאות:
- בתפריט הנפתח, בוחרים את פרופיל החיבור של המקור.
אם עדיין אין לכם פרופיל חיבור למקור, אתם יכולים ללחוץ על Create connection profile ישירות בתפריט הנפתח. מידע נוסף על יצירת פרופילי חיבור זמין במאמר יצירת פרופיל חיבור למקור.
- אם רוצים להשתמש בקובץ גיבוי דיפרנציאלי בהעברה, בקטע Customize source configurations מסמנים את התיבה Use differential backups.
גיבויים דיפרנציאליים שימושיים אם אתם צריכים לשכפל הרבה נתונים שהופיעו במסד הנתונים מאז הגיבוי המלא, ואתם רוצים לטפל בהם בכמות גדולה במקום להעלות כמה קובצי יומן של טרנזקציות. למידע נוסף על סוגי הגיבויים הנתמכים, ראו סוגי קובצי גיבוי נתמכים.
אם אתם משתמשים בגיבויים דיפרנציאליים, ודאו שיצרתם את התיקייה
diffבקטגוריה של Cloud Storage. אחסון קובצי גיבוי בקטגוריה של Cloud Storage - לוחצים על שמירה והמשך.
- בתפריט הנפתח, בוחרים את פרופיל החיבור של המקור.
- בדף Define a destination, בוחרים את פרופיל החיבור של היעד מהתפריט הנפתח.
אם עדיין אין לכם פרופיל חיבור ליעד, אתם יכולים ללחוץ על Create connection profile ישירות בתפריט הנפתח. מידע נוסף על יצירת פרופילי חיבור זמין במאמר יצירת פרופיל חיבור ליעד.
- לוחצים על שמירה והמשך.
- בדף Configure migration databases, מבצעים את הפעולות הבאות:
- בקטע Select databases to migrate, מסמנים את התיבות של מסדי הנתונים שרוצים לכלול במשימת ההעברה. הרשימה הזו מאוכלסת על סמך התיקיות שיצרתם בקטגוריה של Cloud Storage בשביל קובצי הגיבוי.
אפשר להוסיף מסדי נתונים למשימת ההעברה ולהסיר אותם ממנה מאוחר יותר. איך מוסיפים מסדי נתונים למשימת העברה או מסירים אותם ממנה
- (אופציונלי) אם אתם משתמשים בגיבויים מוצפנים, צריך לספק את מפתחות ההצפנה של הגיבויים. מידע נוסף על השימוש בגיבויים מוצפנים זמין במאמר
שימוש בגיבויים מוצפנים.
מבצעים את הפעולות הבאות:
- לוחצים על Edit details לצד מסד הנתונים שבחרתם להעביר.
החלונית הצדדית הצפנה נפתחת.
- בתפריטים הנפתחים של Encryption key, בוחרים את המפתחות.
- בשדה Password, מזינים את הסיסמה של מפתח ההצפנה.
- לוחצים על שמירה ויציאה.
- לוחצים על Edit details לצד מסד הנתונים שבחרתם להעביר.
- בקטע Select databases to migrate, מסמנים את התיבות של מסדי הנתונים שרוצים לכלול במשימת ההעברה. הרשימה הזו מאוכלסת על סמך התיקיות שיצרתם בקטגוריה של Cloud Storage בשביל קובצי הגיבוי.
- לוחצים על שמירה והמשך.
- בדף Test and create migration job, מבצעים את הפעולות הבאות:
- (אופציונלי) לוחצים על Test job כדי לוודא ש-Database Migration Service יכול לזהות את כל קובצי הגיבוי וליצור את החיבורים הנדרשים לרשת.
אם הבדיקה נכשלת, אפשר להיעזר בהודעות השגיאה כדי לטפל בבעיה ולהריץ את הבדיקה שוב. מידע נוסף על שגיאות אפשריות מופיע במאמר אבחון בעיות.
- כדי להתחיל את ההעברה, לוחצים על יצירה והתחלה של משימה.
אם רוצים לבצע את משימת ההעברה במועד אחר, לוחצים על שמירה וחוזרים מאוחר יותר כדי להריץ את המשימה. איך מתחילים משימת העברה?
- (אופציונלי) לוחצים על Test job כדי לוודא ש-Database Migration Service יכול לזהות את כל קובצי הגיבוי וליצור את החיבורים הנדרשים לרשת.
gcloud
בדוגמה הזו נעשה שימוש בדגל האופציונלי --no-async כדי שכל הפעולות יתבצעו באופן סינכרוני. זה אומר שיכול להיות שייקח קצת זמן עד שחלק מהפקודות יסתיימו. אפשר לדלג על הדגל --no-async כדי להריץ פקודות באופן אסינכרוני.
אם כן, צריך להשתמש בפקודה
gcloud database-migration operations describe כדי לוודא שהפעולה הצליחה.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- MIGRATION_JOB_ID עם מזהה בפורמט קריא למכונה של משימת המיגרציה. הערך הזה משמש לעבודה עם משימות העברה באמצעות פקודות Google Cloud CLI או API של Database Migration Service.
- REGION במזהה האזור שבו רוצים לשמור את משימת ההעברה.
- MIGRATION_JOB_NAME בשם קריא לאנשים של משימת ההעברה. הערך הזה מוצג ב-Database Migration Service במסוף Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID עם מזהה בפורמט קריא למכונה של פרופיל החיבור של המקור.
- DESTINATION_CONNECTION_PROFILE_ID במזהה בפורמט קריא למכונה של פרופיל החיבור של היעד.
- COMMA_SEPARATED_DATABASE_ID_LIST ברשימה מופרדת בפסיקים של מזהי מסדי הנתונים של SQL Server שרוצים להעביר מקובצי הגיבוי. המזהים האלה צריכים להיות זהים ל
שמות של תיקיות מסד הנתונים ב-Cloud Storage.
לדוגמה:
--sqlserver-databases=my-business-database,my-other-database - הגדרת גיבוי דיפרנציאלי: אם אתם משתמשים בקובצי גיבוי דיפרנציאליים להעברה, הוסיפו את הדגל
--sqlserver-diff-backupלפקודה. כברירת מחדל, משימות ההעברה לא משתמשות בקובצי גיבוי דיפרנציאלי ומתעלמות מהתיקייהdiffבקטגוריה של Cloud Storage.מידע נוסף על קובצי גיבוי נתמכים זמין במאמר סוגי קובצי גיבוי נתמכים.
- (אופציונלי) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS
עם הנתיב בדיסק המקומי לקובץ תצורה שממפה נתיבים למפתחות הצפנה ב-Cloud Storage
עם המזהים הרלוונטיים שלהם במסד הנתונים. מידע נוסף על יצירת קובץ המיפוי הזה זמין במאמר שימוש בגיבויים מוצפנים.
לדוגמה:
--sqlserver-encrypted-databases=~/encryption-keys-mapping-file.json
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \ --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS \ --type=CONTINUOUS
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ` --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ` --type=CONTINUOUS
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^ --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ^ --type=CONTINUOUS
אמורים לקבל תגובה שדומה לזו:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
משימת ההעברה נוצרה. אתם יכולים להמשיך בתהליך ההעברה:
- (אופציונלי) מבצעים בדיקה של משימת ההעברה כדי לוודא ש-Database Migration Service יכול להגיע לכל הישויות הנדרשות במקור וביעד.
- מפעילים את משימת ההעברה כדי להתחיל להעביר את הנתונים למכונה ביעד.