בדף הזה מוסבר איך ליצור משימת העברה למקורות של 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 (
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
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הגדרת מאפיינים ויצירת משימת העברה
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 יכול להגיע לכל ישויות המקור והיעד הנדרשות.
- מפעילים את משימת ההעברה כדי להתחיל להעביר את הנתונים למכונה המיועדת.