יצירת משימת העברה

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

יצירת משימת העברה כוללת את המשימות הבאות:

  • בחירה של פרופילים לחיבור מקור ויעד.

  • בחירת מסדי הנתונים שזוהו במופע המקור שרוצים להעביר.

  • ביצוע בדיקה של עבודת העברה כדי לוודא ש-Database Migration Service יכול להתחבר למקור הנתונים ולמקור היעד.

  • מתחילים את פעולת ההעברה ועוקבים אחרי ההתקדמות.

  • קידום של עבודת ההעברה כשרוצים להעביר את האפליקציה למופע החדש.

לפני שמתחילים

  1. חשוב לוודא שאתם עומדים בדרישות הבאות:
    • יש לכם קטגוריה של Cloud Storage לקובצי גיבוי של SQL Server.
    • הגיבוי המלא וקובצי יומן העסקאות מועלים לקטגוריה של Cloud Storage.
    • יש לכם פרופיל של חיבור למקור בשביל הקטגוריה של Cloud Storage.
    • יצרתם והגדרתם את מכונת היעד של Cloud SQL ל-SQL Server, ויש לכם פרופיל חיבור ליעד עבור המכונה.
  2. בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו.

    כניסה לדף לבחירת הפרויקט

  3. מפעילים את ממשקי ה-API של Database Migration Service,‏ Compute Engine,‏ Cloud Storage ו-Cloud SQL Admin.

    הפעלת ממשקי ה-API

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות ליצירת משימות העברה ב-Database Migration Service, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

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

התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לביצוע העברות הומוגניות של SQL Server באמצעות Database Migration Service. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי לבצע העברות הומוגניות של SQL Server באמצעות Database Migration Service, נדרשות ההרשאות הבאות:

  • datamigration.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.databases.get
  • cloudsql.databases.delete
  • cloudsql.operations.get
  • compute.machineTypes.list
  • compute.machineTypes.get
  • compute.projects.get
  • storage.buckets.create
  • storage.buckets.list
  • storage.objects.list

יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

הגדרת ההגדרות ויצירת משימת העברה

כדי ליצור משימת העברה, מבצעים את השלבים הבאים:

המסוף

  1. נכנסים לדף Migration jobs במסוף Google Cloud .

    למעבר אל משימות ההעברה

  2. לוחצים על יצירת משימת העברה.

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

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

  3. בדף תחילת העבודה, מזינים את הפרטים הבאים:
    • שם משימת ההעברה

      זהו שם קריא לבני אדם של עבודת ההעברה. הערך הזה מוצג במסוף Google Cloud .

    • מזהה משימת ההעברה

      זהו מזהה שניתן לקריאה על ידי מכונה של משימת ההעברה. משתמשים בערך הזה כדי לעבוד עם משימות העברה באמצעות פקודות או API של Google Cloud CLI של Database Migration Service.

    • ברשימה Source database engine (מנוע מסד הנתונים של המקור), בוחרים באפשרות SQL Server או Amazon RDS for SQL Server.

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

  4. לוחצים על שמירה והמשך.
  5. בדף Define your source, מבצעים את הפעולות הבאות:
    1. משתמשים בתפריט הנפתח כדי לבחור את פרופיל חיבור המקור.

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

    2. אם רוצים להשתמש בקובץ גיבוי דיפרנציאלי בהעברה, מסמנים את התיבה Use differential backups (שימוש בגיבויים דיפרנציאליים) בקטע Customize source configurations (התאמה אישית של הגדרות המקור).

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

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

    3. לוחצים על שמירה והמשך.
  6. בדף הגדרת יעד, משתמשים בתפריט הנפתח כדי לבחור את פרופיל החיבור של היעד.

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

  7. לוחצים על שמירה והמשך.
  8. בדף Configure migration databases, מבצעים את הפעולות הבאות:
    1. בקטע Select databases to migrate, משתמשים בתיבות הסימון כדי לבחור את מסדי הנתונים שרוצים לכלול במשימת ההעברה הזו. הרשימה הזו מתמלאת על סמך התיקיות שיצרתם בקטגוריה של Cloud Storage עבור קובצי הגיבוי.

      אפשר להוסיף מסדי נתונים לעבודת ההעברה או להסיר אותם ממנה בהמשך. מידע נוסף זמין במאמר בנושא הוספה או הסרה של מסדי נתונים מעבודת העברה.

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

      מבצעים את הפעולות הבאות:

      • לוחצים על עריכת הפרטים לצד מסד הנתונים שבחרתם להעברה.

        תיפתח החלונית הצדדית הצפנה.

      • משתמשים בתפריטים הנפתחים מפתח הצפנה כדי לבחור את המפתחות.
      • בשדה סיסמה, מזינים את הסיסמה של מפתח ההצפנה.
      • לוחצים על שמירה ויציאה.
  9. לוחצים על שמירה והמשך.
  10. בדף Test and create migration job, מבצעים את הפעולות הבאות:
    1. (אופציונלי) לוחצים על Test job (בדיקת העבודה) כדי לוודא ש-Database Migration Service (שירות העברת נתונים ממסדי נתונים) יכול לזהות את כל קובצי הגיבוי וליצור את חיבורי הרשת הנדרשים.

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

    2. לוחצים על יצירה והפעלה של עבודת ההעברה כדי להתחיל בהעברה.

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

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]
תוצאה

משימת ההעברה נוצרה. אפשר להמשיך בתהליך ההעברה:

המאמרים הבאים