שיטות מומלצות לייבוא ולייצוא
ריכזנו כאן כמה שיטות מומלצות שכדאי להביא בחשבון כשמייבאים ומייצאים נתונים:
- לא להשתמש בקטגוריות של Cloud Storage שבהן מופעלת האפשרות 'מגיש הבקשה משלם'
- דחיסת נתונים כדי להפחית את העלות.
- הפחתת משך הזמן של תהליכי ייבוא וייצוא ארוכים
- שימוש בכלי bcp לייבוא וייצוא של נתונים
- שימוש בהוספה בכמות גדולה לייבוא נתונים
- שימוש ב-SqlPackage לייבוא וייצוא של נתונים
- שימוש בייבוא וייצוא עם פסים
- אימות מסד הנתונים המיובא
לא להשתמש בקטגוריות של Cloud Storage שמוגדרות בהן בקשות בתשלום
אי אפשר להשתמש בקטגוריה של Cloud Storage שבה מופעלת התכונה מגיש הבקשה משלם לצורך ייבוא וייצוא מ-Cloud SQL.
דחיסת נתונים כדי להפחית את העלות
Cloud SQL תומך בייבוא ובייצוא של קבצים דחוסים וגם של קבצים לא דחוסים. דחיסה יכולה לחסוך נפח אחסון משמעותי ב-Cloud Storage ולהוזיל את עלויות האחסון, במיוחד כשמייצאים אינסטנסים גדולים.
כשמייצאים קובץ BAK, משתמשים בסיומת הקובץ .gz כדי לדחוס את הנתונים. כשמייבאים קובץ עם הסיומת .gz, הוא נפרס באופן אוטומטי.
צמצום תהליכי ייבוא וייצוא ארוכים
ייבוא ל-Cloud SQL וייצוא מ-Cloud SQL יכולים להימשך זמן רב, בהתאם לגודל הנתונים שעוברים עיבוד. ההשפעות האפשריות:
- אי אפשר לעצור פעולה של מכונת Cloud SQL שפועלת במשך זמן רב.
- אפשר לבצע רק פעולת ייבוא או ייצוא אחת בכל פעם לכל מופע, וייבוא או ייצוא לזמן רב חוסמים פעולות אחרות, כמו גיבויים אוטומטיים יומיים.
כדי לקצר את משך הזמן שנדרש להשלמת כל פעולה, אפשר להשתמש בפונקציונליות של ייבוא או ייצוא ב-Cloud SQL עם קבוצות קטנות יותר של נתונים.
בדרך כלל, כשמעבירים מסד נתונים שלם, מומלץ להשתמש בקובצי BAK ולא בקובצי SQL לייבוא. בדרך כלל, ייבוא מקובץ SQL נמשך הרבה יותר זמן מייבוא מקובץ BAK.
שימוש ב-SqlPackage לייבוא וייצוא של נתונים
אפשר לייבא ולייצא נתונים ב-Cloud SQL באמצעות SqlPackage. הוא מאפשר לייצא מסד נתונים של SQL, כולל סכימת מסד הנתונים ונתוני המשתמשים, לקובץ BACPAC (.bacpac) ולייבא את הסכימה ואת נתוני הטבלה מקובץ BACPAC למסד נתונים חדש של משתמש.
הכלי SqlPackage משתמש בפרטי הכניסה שלכם כדי להתחבר ל-SQL Server ולבצע ייבוא וייצוא של מסדי נתונים. הוא מאפשר לכל משתמשי Cloud SQL לבצע העברות. כדי לבצע פעולות ייבוא וייצוא, אתם צריכים:
תחנת עבודה שמחוברת למופע, שבה אפשר להריץ את SqlPackage. מידע נוסף על אפשרויות קישוריות
התוכנה SqlPackage מותקנת במערכת. מידע נוסף על הורדה והתקנה של SqlPackage זמין במאמרי העזרה של מיקרוסופט.
פרטי הכניסה מוגדרים לגישה למופע. מידע נוסף על הגדרת פרטי כניסה זמין במאמר איך מאמתים ב-Cloud SQL.
דוגמאות
ייבוא
כדי לייבא נתונים למסד נתונים AdventureWorks2017, מריצים את הפקודה הבאה:
c:\Program Files\Microsoft SQL Server\160\DAC\bin>SqlPackage /Action:Import /tsn:myTargetServer /tdn:AdventureWorks2017 /tu:myUsername /sf:mySourceFile /TargetTrustServerCertificate:True /tp:myPassword
כאן,
-
mySourceFileהוא קובץ מקור שרוצים להשתמש בו כמקור לפעולה מתוך האחסון המקומי. אם משתמשים בפרמטר הזה, אי אפשר להשתמש בפרמטרים אחרים של מקור. -
myTargetServerהוא שם השרת שמארח את מסד הנתונים של היעד. -
myUsernameהוא שם המשתמש ב-SQL Server שבו רוצים להשתמש כדי לגשת למסד הנתונים של היעד. -
myPasswordהיא הסיסמה בפרטי הכניסה.
מידע נוסף זמין במאמרי העזרה של Microsoft.
ייצוא
כדי לייצא נתונים ממסד נתונים AdventureWorks2017, מריצים את הפקודה הבאה:
c:\Program Files\Microsoft SQL Server\160\DAC\bin>SqlPackage /Action:Export /TargetFile:"myTargetFile" /ssn:mySourceServer /su:myUsername /sdn:AdventureWorks2017 /SourceTrustServerCertificate:True /sp:myPassword
כאן,
-
myTargetFileהוא קובץ היעד (קובץ .dacpac) שרוצים להשתמש בו כיעד של הפעולה במקום מסד נתונים. אם משתמשים בפרמטר הזה, אי אפשר להשתמש בפרמטרים אחרים של יעד. הפרמטר הזה לא תקין לפעולות שתומכות רק ביעדי מסד נתונים. -
myUsernameהוא שם המשתמש ב-SQL Server שבו רוצים להשתמש כדי לגשת למסד הנתונים של המקור. -
mySourceServerהוא שם השרת שמארח את מסד הנתונים של המקור. -
myPasswordהיא הסיסמה בפרטי הכניסה.
מידע נוסף זמין במאמרי העזרה של Microsoft.
שימוש בכלי bcp לייבוא וייצוא של נתונים
אפשרות נוספת לייבוא וייצוא של נתונים ב-Cloud SQL היא באמצעות כלי השירות של תוכנית העתקה בכמות גדולה (bcp). באמצעות כלי השירות bcp, אפשר לייצא נתונים ממסד נתונים של SQL Server לקובץ נתונים ולייבא נתונים מקובץ נתונים למסד נתונים של SQL Server. כלי השירות bcp משתמש בפרטי הכניסה שלכם כדי להתחבר ל-SQL Server ולבצע ייבוא וייצוא של מסדי נתונים. היא מאפשרת לכל משתמשי Cloud SQL לבצע העברות. כדי לבצע פעולות ייבוא וייצוא, אתם צריכים:
תחנת עבודה שבה אפשר להריץ את כלי השירות bcp, ושמחוברת למכונה של Cloud SQL. מידע נוסף על אפשרויות קישוריות
כלי bcp שמותקן במערכת. מידע נוסף על הורדה והתקנה של bcp זמין במאמרי העזרה של מיקרוסופט.
פרטי הכניסה מוגדרים לגישה למופע. מידע נוסף על הגדרת פרטי כניסה זמין במאמר איך מאמתים ב-Cloud SQL.
דוגמאות
ייבוא
כדי לייבא נתונים מקובץ person.csv לטבלה Person במסד הנתונים AdventureWorks2017, מריצים את הפקודה הבאה:
bcp Person.Person in "person.csv" -d AdventureWorks2017 -U myLoginID -S myServer
כאן,
-
myLoginIDהוא מזהה הכניסה שמשמש לחיבור ל-SQL Server. -
myServerהיא המכונה של SQL Server שאליה רוצים להתחבר. אם לא מציינים שרת, כלי ה-bcp מתחבר למופע ברירת המחדל של SQL Server במחשב המקומי.
מידע נוסף זמין במאמרי העזרה של Microsoft.
ייצוא
כדי לייצא נתונים מהטבלה Person במסד הנתונים AdventureWorks2017 לקובץ person.dat, מריצים את הפקודה הבאה:
bcp Person.Person out "person.dat" -U myLoginID -S myServer -d AdventureWorks2017
כאן,
-
myLoginIDהוא מזהה הכניסה שמשמש לחיבור ל-SQL Server. -
myServerהיא המכונה של SQL Server שאליה רוצים להתחבר. אם לא מציינים שרת, כלי ה-bcp מתחבר למופע ברירת המחדל של SQL Server במחשב המקומי.
מידע נוסף זמין במאמרי העזרה של Microsoft.
שימוש בהוספה בכמות גדולה לייבוא נתונים
הוספה בכמות גדולה מאפשרת לייבא נתונים למסד הנתונים של Cloud SQL ל-SQL Server מקובץ שמאוחסן ב-Cloud Storage.
בקטע הזה מתוארים הנושאים הבאים:
- תפקידים והרשאות נדרשים
- שיקולים לשימוש בהוספה בכמות גדולה
- ביצוע הוספה בכמות גדולה
- צפייה בנתונים המיובאים
- השבתת הוספה בכמות גדולה
תפקידים והרשאות נדרשים
כדי להגדיר הוספה בכמות גדולה, צריך:
- הרשאת
CONTROLבמסד הנתונים שאליו רוצים לייבא את הנתונים. מפתח גישה מסוג HMAC וסוד שמופה לחשבון IAM עם ההרשאות הבאות:
storage.buckets.get-
storage.objects.createו-storage.multipartUploads.createכדי לכתוב יומני שגיאות ודוגמאות לנתונים לא טובים.
אפשר גם להשתמש בתפקידים הבאים:
Storage Object ViewerStorage Object Creatorלכתיבת יומני שגיאות ודוגמאות לנתונים בעייתיים.
כדי להשתמש בהוספה בכמות גדולה, צריך:
- ההרשאה
EXECUTEבתהליך המאוחסןmsdb.dbo.gcloudsql_bulk_insert. Cloud SQL יוצר את הפרוצדורה המאוחסנת אחרי שמפעילים את ההוספה בכמות גדולה במכונה. ב-Cloud SQL, ההרשאהEXECUTEמוענקת לחשבון האדמיןsqlserverכברירת מחדל. - ההרשאה
INSERTבאובייקט שאליו רוצים לייבא את הנתונים.
מידע נוסף על יצירת משתמשים להוספה בכמות גדולה זמין במאמר יצירה וניהול של משתמשים.
שיקולים לשימוש בהוספה בכמות גדולה
בקטע הזה יש המלצות לטיפול באבטחה, בביצועים ובאמינות של מופעים במהלך שימוש בהוספה בכמות גדולה.
אבטחה
Cloud SQL מצפין ומאחסן את מפתח הגישה ואת הסוד של HMAC במופע כפרטי כניסה בהיקף מסד הנתונים. אחרי ששומרים את הערכים, אי אפשר לגשת אליהם. אפשר למחוק את המפתח ואת הסוד ממופע על ידי הסרת פרטי הכניסה בהיקף מסד הנתונים באמצעות פקודת T-SQL. אם יוצרים גיבוי בזמן שהמפתח והקוד הסודי מאוחסנים במופע, הגיבוי יכלול את המפתח והקוד הסודי. אפשר גם להפוך את המפתח ללא תקף על ידי השבתה ומחיקה של מפתח ה-HMAC.
הפעולות הבאות עלולות להעביר את מפתח הגישה ואת הסוד בלי כוונה, ולהפוך אותם לזמינים:
- שכפול המכונה: המפתח והסוד זמינים במכונה המשוכפלת.
- יצירת עותק לקריאה: המפתח והסוד זמינים בעותק לקריאה שנוצר.
- שחזור מגיבוי: המפתח והסוד זמינים במופע ששוחזר מגיבוי.
מומלץ להסיר את המפתח ואת הסוד ממופע היעד אחרי שמבצעים את הפעולות האלה.
הוספה בכמות גדולה יכולה לכתוב נתונים שהיא לא יכולה לנתח לקובץ שמאוחסן בקטגוריה של Cloud Storage. אם רוצים להגן על נתונים שיש לטעינה בכמות גדולה גישה אליהם, צריך להגדיר VPC Service Controls.
ביצועים
כדי לצמצם את ההשפעה על הביצועים בזמן השימוש בהוספה בכמות גדולה, מומלץ לבצע את הפעולות הבאות:
- צריך לבדוק ולהגדיר ערך מתאים ל-
@batchsize, כי כברירת מחדל כל הנתונים מיובאים באצווה אחת. - אם מדובר בהזנות גדולות, כדאי להשבית את האינדקסים באופן זמני כדי להאיץ את הזנת הנתונים.
- אם אפשר, כדאי להשתמש באפשרות
@tablockכי היא יכולה לצמצם את המחלוקות ולשפר את ביצועי טעינת הנתונים. - משתמשים בפרמטר
@ordercolumnsjsonכדי לציין נתונים ממוינים לפי הסדר של האינדקס המקובץ. כך אפשר לשפר את הביצועים של המופע.
אמינות
כדי לצמצם את ההשפעה על מהימנות המופע בזמן שימוש בהוספה בכמות גדולה, מומלץ לבצע את הפעולות הבאות:
- אם מתרחש כשל והמערכת משתמשת ב-
@batchsize, יכול להיות שהנתונים ייטענו באופן חלקי. יכול להיות שתצטרכו לנקות את הנתונים האלה באופן ידני במופע שלכם. - אפשר להשתמש באפשרות
@errorfileכדי לשמור יומן של שגיאות ודוגמאות לנתונים לא תקינים שזוהו במהלך תהליך הטעינה. כך קל יותר לזהות שורות שלא נטענו.
ביצוע הוספה בכמות גדולה
אפשר לבצע את פעולת ההוספה בכמות גדולה באמצעות הפרוצדורה המאוחסנת הבאה:
msdb.dbo.gcloudsql_bulk_insert
מידע נוסף זמין במאמר בנושא פרוצדורה מאוחסנת לשימוש בהוספה בכמות גדולה.
דוגמה: ייבוא נתונים מקובץ ב-Cloud Storage וציון קובץ שגיאות
1. הפעלת הוספה בכמות גדולה
כדי להפעיל הוספה בכמות גדולה במכונה, מפעילים את הדגל cloud sql enable bulk insert.
gcloud sql instances patch INSTANCE_NAME --database-flags="cloud sql enable bulk insert"=on
מחליפים את INSTANCE_NAME בשם המכונה שרוצים להשתמש בה להוספה בכמות גדולה.
מידע נוסף זמין במאמר בנושא הגדרת דגלים של מסד נתונים.
אחרי שמפעילים את הדגל הזה במופע, Cloud SQL מתקין את הפרוצדורה המאוחסנת של הוספה בכמות גדולה במופע ומעניק הרשאות ביצוע לחשבון האדמין sqlserver.
2. יצירת מפתח HMAC
נדרש מפתח HMAC כדי לגשת לקטגוריה שלכם ב-Cloud Storage. מומלץ ליצור מפתח HMAC לחשבון שירות ולהעניק לחשבון השירות הרשאות לדליים שבהם רוצים להשתמש להוספה בכמות גדולה. מידע נוסף ושיקולי אבטחה זמינים במאמר שיקולים לשימוש בהוספה בכמות גדולה.
3. יצירת נתונים לדוגמה לייבוא
בעזרת כלי לעריכת טקסט, יוצרים קובץ עם קידוד ANSI או UTF-16 שמכיל את נתוני הדוגמה הבאים. שומרים את הקובץ בקטגוריה של Cloud Storage ונותנים לו שם, למשל
bulkinsert.bcp.1,Elijah,Johnson,1962-03-21 2,Anya,Smith,1982-01-15 3,Daniel,Jones,1990-05-21יוצרים קובץ פורמט באמצעות הנתונים לדוגמה הבאים. שומרים את הקובץ בקטגוריה של Cloud Storage ונותנים לו שם, למשל
bulkinsert.fmt. למידע נוסף על קבצים בפורמט XML ופורמטים אחרים ב-SQL Server, אפשר לעיין במאמר בנושא יצירת קובץ פורמט.13.0 4 1 SQLCHAR 0 7 "," 1 PersonID "" 2 SQLCHAR 0 25 "," 2 FirstName SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 30 "," 3 LastName SQL_Latin1_General_CP1_CI_AS 4 SQLCHAR 0 11 "\r\n" 4 BirthDate ""
4. הפעלת התהליך המאוחסן
מתחברים למכונה באמצעות המשתמש
sqlserverויוצרים מסד נתונים וטבלה לדוגמה להוספה בכמות גדולה.USE MASTER GO -- create test database DROP DATABASE IF EXISTS bulktest CREATE DATABASE bulktest GO -- create table to insert USE bulktest; GO CREATE TABLE dbo.myfirstimport( PersonID smallint, FirstName varchar(25), LastName varchar(30), BirthDate Date );יוצרים מפתח ראשי של מסד נתונים, אישורי גישה בהיקף מסד הנתונים ומקור נתונים חיצוני. מגדירים את הזהות כ-
S3 Access Key.-- create master key CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'YourStrongPassword1'; -- create database scoped credential CREATE DATABASE SCOPED CREDENTIAL GCSCredential WITH IDENTITY = 'S3 Access Key', SECRET = '<Access key>:<Secret>'; --create external data source CREATE EXTERNAL DATA SOURCE GCSStorage WITH ( TYPE = BLOB_STORAGE, LOCATION = 's3://storage.googleapis.com/bulk-insert-demo/' , CREDENTIAL = GCSCredential ); CREATE EXTERNAL DATA SOURCE GCSStorageError WITH ( TYPE = BLOB_STORAGE, LOCATION = 's3://storage.googleapis.com/bulk-insert-demo/' , CREDENTIAL = GCSCredential );מריצים את הפרוצדורה המאוחסנת להוספה בכמות גדולה כדי לייבא את הנתונים לדוגמה.
EXEC msdb.dbo.gcloudsql_bulk_insert @database = 'bulktest', @schema = 'dbo', @object = 'myfirstimport', @file = 's3://storage.googleapis.com/bulk-insert-demo/bulkinsert.bcp', @formatfile = 's3://storage.googleapis.com/bulk-insert-demo/bulkinsert.fmt', @fieldquote = '"', @formatfiledatasource = 'GCSStorage', @ROWTERMINATOR = '0x0A', @fieldterminator = ',', @datasource ='GCSStorage', @errorfiledatasource = 'GCSStorageError', @errorfile = 's3://storage.googleapis.com/oom-data/bulkinsert/bulkinsert_sampleimport.log', @ordercolumnsjson = '[{"name": "PersonID","order": " asc "},{"name": "BirthDate","order": "asc"}]'
צפייה בנתונים המיובאים
אפשר לראות את הנתונים המיובאים באחת מהשיטות הבאות:
מריצים את השאילתה הבאה:
SELECT * FROM dbo.myfirstimportCloud SQL מוסיף רשומה של התהליך הזה ליומן השגיאות של SQL. אפשר לראות את זה ב-Cloud Logging. אפשר גם לראות את זה בנתוני יומן השגיאות של SQL ב-SQL Server Management Studio (SSMS).
השבתת הוספה בכמות גדולה
כדי להשבית את ההוספה בכמות גדולה, מסירים את הדגל cloud sql enable bulk insert:
gcloud sql instances patch INSTANCE_NAME --database-flags="cloudsql enable bulk insert"=off
מחליפים את INSTANCE_NAME בשם המכונה שרוצים להסיר ממנה את ההוספה בכמות גדולה.
לחלופין, אפשר להריץ את הפקודה הבאה כדי לנקות את כל הדגלים של מסד הנתונים:
gcloud sql instances patch INSTANCE_NAME --clear-database-flags
מחליפים את INSTANCE_NAME בשם המכונה שרוצים להסיר ממנה את ההוספה בכמות גדולה.
שימוש בייבוא וייצוא מפוספסים
כשמבצעים ייבוא או ייצוא מפוספסים, מקצרים את הזמן שנדרש להשלמת הפעולה, ומאפשרים ייבוא וייצוא של מסדי נתונים גדולים מ-5TB. מידע נוסף מופיע במאמר בנושא ייצוא וייבוא באמצעות קובצי BAK.
אימות מסד הנתונים המיובא
אחרי שמסיימים פעולת ייבוא, מתחברים למסד הנתונים ומריצים את פקודות מסד הנתונים המתאימות כדי לוודא שהתוכן נכון. לדוגמה, connect ותציג את מסדי הנתונים, הטבלאות והערכים הספציפיים.
מגבלות ידועות
רשימה של מגבלות מוכרות מופיעה במאמר בעיות בייבוא ובייצוא של נתונים.
סיכוני אבטחה
ייבוא של קובץ גיבוי של SQL Server (.bak) ממקור לא מהימן עלול להוביל לסיכוני אבטחה חמורים.
אפשר בדרך כלל לסמוך על קובצי גיבוי שנשארים בגבולות מהימנים, אבל ייבוא של קובץ גיבוי זדוני עלול לסכן את האבטחה של כל הסביבה.
קובץ גיבוי זדוני (.bak) עלול לחשוף את האפליקציות שלכם לסיכוני האבטחה הבאים:
- קובץ הגיבוי המיובא יכול לתפוס חלק גדול ממופע SQL Server.
- קובץ הגיבוי המיובא יכול להסלים הרשאות ולספק גישה לא מורשית.
המתקפה הזו מתרחשת לפני שסקריפטים לאימות או בדיקות אבטחה יכולים לפעול, ולכן היא מסוכנת במיוחד.
ייבוא של קובץ גיבוי לא מהימן שווה להרצת אפליקציות לא מהימנות בשרת קריטי או במכונה וירטואלית, ולהחדרת ביצוע קוד שרירותי לסביבה שלכם.
שיטות מומלצות
כדי לצמצם את האיום של קובצי גיבוי זדוניים בסביבות Cloud SQL ל-SQL Server, מומלץ להשתמש בשיטות המומלצות הבאות לאבטחה:
- התייחסו לייבוא של קובץ גיבוי כאל פעולה 'בסיכון גבוה'.
- כדי לצמצם את אזור האיומים בשירות, כדאי להשתמש במופעים מבודדים.
- חשוב להשתמש רק בקובצי גיבוי מהימנים. אל תייבאו קובצי גיבוי ממקורות לא מוכרים או חיצוניים.
- מומלץ להשתמש רק בקובצי גיבוי שנשארו בגבולות מהימנים. חשוב לוודא שקובצי הגיבוי מגיעים מתוך הגבול המהימן שלכם.
- לעולם אל תעקפו אמצעי אבטחה כדי שיהיה לכם נוח יותר.
- הפעלת ביקורת ברמת השרת כדי לתעד אירועים של ייבוא ושל קובצי גיבוי, וכדי לעזור לצמצם את הסיכון להתחמקות מביקורת.
מידע נוסף זמין במאמר בנושא סיכון אבטחה בשיחזור גיבויים ממקורות לא מהימנים.
אוטומציה של פעולות ייצוא
למרות ש-Cloud SQL לא מספק דרך מובנית לייצוא אוטומטי של מסדי נתונים, אתם יכולים ליצור כלי אוטומציה משלכם באמצעות כמה רכיבים Google Cloud. מידע נוסף זמין במדריך הזה.
פתרון בעיות
בקטעים הבאים מוסבר איך לפתור בעיות שקשורות לפעולות ייבוא וייצוא.
פתרון בעיות בפעולות ייבוא
| שגיאה | פתרון בעיות |
|---|---|
HTTP Error 409: Operation failed because another operation was already in progress. |
כבר יש פעולה בהמתנה למכונה שלך. מותר לבצע רק פעולה אחת בכל פעם. כדאי לנסות לשלוח את הבקשה אחרי שהפעולה הנוכחית תסתיים. |
| פעולת הייבוא נמשכת יותר מדי זמן. | יותר מדי חיבורים פעילים עלולים להפריע לפעולות ייבוא.
סוגרים פעולות שלא בשימוש. כדאי לבדוק את המעבד (CPU) ואת השימוש בזיכרון במכונת Cloud SQL כדי לוודא שיש מספיק משאבים זמינים. הדרך הטובה ביותר לוודא שמשימת הייבוא מקבלת את מרב המשאבים היא להפעיל מחדש את המכונה לפני התחלת הפעולה. הפעלה מחדש:
|
| פעולת ייבוא יכולה להיכשל כשמשתמש אחד או יותר שמצוינים בקובץ ה-dump לא קיימים. | לפני שמייבאים קובץ dump, כל המשתמשים במסד הנתונים שיש בבעלותם אובייקטים או שקיבלו הרשאות לאובייקטים במסד הנתונים שהושלך חייבים להיות קיימים במסד הנתונים של היעד. אם לא, פעולת הייבוא תיכשל ולא תיצור מחדש את האובייקטים עם הבעלות או ההרשאות המקוריות.
לפני הייבוא, צריךליצור את המשתמשים במסד הנתונים. |
| חוסר התאמה בין מספרי LSN | הסדר של ייבוא הגיבויים של יומן העסקאות שגוי או ששרשרת יומן העסקאות שבורה. מייבאים את הגיבויים של יומן העסקאות באותו סדר שבו הם מופיעים בטבלת קבוצת הגיבוי. |
| ההפסקה מוקדמת מדי | השגיאה הזו מציינת שהכניסה הראשונה בקובץ יומן העסקאות היא אחרי חותמת הזמן StopAt. לדוגמה, אם הכניסה הראשונה בקובץ יומן הטרנזקציות היא בתאריך 2023-09-01T12:00:00 והשדה StopAt מכיל את הערך 2023-09-01T11:00:00, Cloud SQL מחזיר את השגיאה הזו.חשוב לוודא שמשתמשים בחותמת הזמן הנכונה StopAt ובקובץ הנכון של יומן העסקאות. |
פתרון בעיות בפעולות ייצוא
| שגיאה | פתרון בעיות |
|---|---|
HTTP Error 409: Operation failed because another operation was
already in progress. |
כבר יש פעולה בהמתנה למכונה שלך. מותר לבצע רק פעולה אחת בכל פעם. כדאי לנסות לשלוח את הבקשה אחרי שהפעולה הנוכחית תסתיים. |
HTTP Error 403: The service account does not have the required
permissions for the bucket. |
מוודאים שהקטגוריה קיימת ושלחשבון השירות של מכונת Cloud SQL (שמבצעת את הייצוא) הוקצה התפקיד Storage Object Creator (roles/storage.objectCreator) כדי לאפשר ייצוא לקטגוריה. תפקידי IAM ל-Cloud Storage |
| אתם רוצים שהייצוא יהיה אוטומטי. | ב-Cloud SQL אין אפשרות לייצא באופן אוטומטי.
אפשר ליצור מערכת ייצוא אוטומטית משלכם באמצעות Google Cloudמוצרים כמו Cloud Scheduler, Pub/Sub ופונקציות Cloud Run, בדומה למאמר הזה בנושא גיבוי אוטומטי. |
המאמרים הבאים
- איך מייבאים ומייצאים נתונים באמצעות קובצי BAK
- איך מייבאים נתונים באמצעות קובצי SQL dump
- איך מפעילים גיבוי אוטומטי
- איך משחזרים מגיבויים