יצירת משימת העברה למקור Cloud SQL ל-SQL Server

בדף הזה מוסבר איך ליצור משימת העברה למקורות של Cloud SQL ל-SQL Server באמצעות Google Cloud CLI. מידע נוסף על העברה בין מכונות Cloud SQL ל-SQL Server באמצעות Database Migration Service זמין במאמר מדריך להעברה של מקורות Cloud SQL ל-SQL Server.

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

  1. חשוב לוודא שאתם עומדים בדרישות הבאות:
    • יש לכם קטגוריה של Cloud Storage לקובצי גיבוי של SQL Server.
    • יש לכם פרופיל חיבור למקור עבור מופע המקור.
    • יצרתם והגדרתם את מכונת היעד של 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

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

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

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 עם מזהה קריא על ידי מכונה של פרופיל חיבור היעד.
  • DESTINATION_PROJECT_ID עם מזהה הפרויקט Google Cloud שבו נמצא מופע היעד של Cloud SQL ל-SQL Server. זה חייב להיות אותו פרויקט שבו מופעל Database Migration Service API ושבו אתם יוצרים את משימת ההעברה.
  • COMMA_SEPARATED_DATABASE_ID_LIST עם רשימה מופרדת בפסיקים של מזהי מסד הנתונים של SQL Server שרוצים להעביר מקובצי הגיבוי.

מריצים את הפקודה הבאה:

‫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 \
  --project=DESTINATION_PROJECT_ID \
  --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 `
  --project=DESTINATION_PROJECT_ID `
  --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 ^
  --project=DESTINATION_PROJECT_ID ^
  --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]
תוצאה

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

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