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