בדף הזה מוסבר איך ליצור משימת העברה למקורות של Cloud SQL ל-SQL Server באמצעות Google Cloud CLI. מידע נוסף על העברה בין מכונות Cloud SQL ל-SQL Server באמצעות Database Migration Service זמין במאמר מדריך להעברה של מקורות Cloud SQL ל-SQL Server.
לפני שמתחילים
- חשוב לוודא שאתם עומדים בדרישות הבאות:
- יש לכם קטגוריה של Cloud Storage לקובצי גיבוי של SQL Server.
- יש לכם פרופיל חיבור למקור עבור מופע המקור.
- יצרתם והגדרתם את מכונת היעד של Cloud SQL ל-SQL Server, ויש לכם פרופיל חיבור ליעד עבור המכונה.
- בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו.
- מפעילים את ממשקי ה-API של Database Migration Service, Compute Engine, Cloud Storage ו-Cloud SQL Admin.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת משימות העברה ב-Database Migration Service, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
אדמין של Database Migration (
roles/datamigration.admin) -
אדמין באחסון (
roles/storage.admin) -
Cloud SQL Editor (
roles/cloudsql.editor)
מידע נוסף על מתן תפקידים מופיע במאמר ניהול גישה.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לביצוע העברות הומוגניות של SQL Server באמצעות Database Migration Service. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לבצע העברות הומוגניות של 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
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הגדרת ההגדרות ויצירת משימת העברה
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]
משימת ההעברה נוצרה. אפשר להמשיך בתהליך ההעברה:
- (אופציונלי) מבצעים בדיקה של עבודת ההעברה כדי לבדוק אם Database Migration Service יכול להגיע לכל ישויות המקור והיעד הנדרשות.
- מתחילים את עבודת המיגרציה כדי להתחיל להעביר את הנתונים למופע היעד.