הכנת קובצי הגיבוי

בדף הזה מוסבר איך ליצור את קובצי הגיבוי שנדרשים להעברת מסדי נתונים של SQL Server בניהול עצמי או של Amazon RDS אל Cloud SQL ל-SQL Server. הדף כולל את הקטעים הבאים:

דרישות ומגבלות

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

  • כל קובצי הגיבוי צריכים להיות בעלי שמות שתואמים למוסכמות מתן השמות שלהם.

  • הגודל המקסימלי של קובצי הגיבוי הוא 5TB.

  • אם גודל מסד הנתונים שלכם גדול מ-5TB, אתם יכולים לפצל את קובצי הגיבוי המלא או הדיפרנציאלי לקבצים קטנים יותר. הגודל המקסימלי של כל פס הוא 5TB.

  • אתם יכולים להשתמש בגיבוי מוצפן ובקבצים של יומן העסקאות לצורך ההעברה. אם רוצים להשתמש בקובצי גיבוי מוצפנים, צריך להצפין כל קובץ גיבוי (מלא, דיפרנציאלי, יומן עסקאות) שמשמש למסד נתונים ספציפי שכלול בהעברה. שימוש בגיבויים מוצפנים

  • Database Migration Service לא מעביר את מסד הנתונים SQL Server master.

  • במופע המקור של SQL Server אי אפשר להשתמש במודל פשוט לשחזור. מידע נוסף על מודלים של שחזור זמין במאמר Recovery Models (SQL Server) במסמכי התיעוד של מיקרוסופט.

מוסכמות למתן שמות

בקטע הזה מפורטות הדרישות לגבי שמות הקבצים של הגיבויים המלאים, הדיפרנציאליים ושל יומני העסקאות.

מוסכמות למתן שמות לקובצי גיבוי של מכונות SQL Server מקומיות

שמות מלאים של קובצי גיבוי

מוסכמת מתן השמות לקובצי גיבוי מלאים תלויה בשאלה אם משתמשים בקובץ גיבוי יחיד או מחלקים אותו לכמה פסים. בשני התרחישים, השירות להעברת נתונים של מסדי נתונים דורש לכלול חותמת זמן של ראשית זמן יוניקס (Unix epoch) (שמבוטאת כחותמת זמן של יוניקס בשניות) שמייצגת את הזמן המשוער שבו בוצעה גיבוי מלא.

  • אם הגיבוי המלא שלכם הוא קובץ יחיד, שם הקובץ צריך להיות בפורמט db_name.epoch.bak, כאשר:

    • db_name הוא השם של מסד הנתונים
    • epoch היא חותמת זמן של מערכת Unix בשניות
    • .bak היא סיומת הקובץ

    דוגמאות למסמכים תקפים:

    • my-business-database.1712649600.bak
    • my-other-database.1712649600.bak
  • אם מחלקים את הגיבוי המלא לרצועות נפרדות, אפשר להשתמש בכל שם שרוצים לכל רצועה, אבל צריך להעלות אותן לתיקייה ב-Cloud Storage שהשם שלה הוא חותמת זמן של Unix בשניות:

    Cloud Storage bucket root/
    |- my-business-database/
    |  |- full/
    |  |  |- 1712649600/
    |  |  |  |- mystripe-full_backup_file.bak
    |  |  |  |- otherStripefull-bkp.bak
    |  |- diff/
    |  |  |- ...
    |  |- log/
    |  |  |- ...
    |- my-other-database/
    |  |- full/
    |  |  |- 1715250742/
    |  |  |  |- cool-stripe-file.bak
    |  |  |  |- secondStripeFile.bak
    |  |- diff/
    |  |  |- ...
    |  |- log/
    |  |  |- ...
    

שמות של קובצי גיבוי דיפרנציאלי

מוסכמת השמות של קובצי גיבוי דיפרנציאליים תלויה בשאלה אם משתמשים בקובץ גיבוי יחיד או מחלקים אותו לכמה רצועות. בשני התרחישים, Database Migration Service דורש לכלול חותמת זמן של ראשית זמן יוניקס (שמבוטאת כחותמת זמן של יוניקס בשניות) שמייצגת את הזמן המשוער שבו בוצעה הגיבוי הדיפרנציאלי.

  • אם הגיבוי הדיפרנציאלי הוא קובץ יחיד, שם הקובץ צריך להיות בפורמט db_name.epoch.ext, כאשר:

    • db_name הוא השם של מסד הנתונים
    • epoch היא חותמת זמן של מערכת Unix בשניות
    • .ext היא סיומת הקובץ. קובצי גיבוי דיפרנציאליים יכולים להשתמש בסיומות הבאות: .bak, ‏.dif, ‏.diff.

    דוגמאות למסמכים תקפים:

    • my-business-database.1731159833.bak
    • my-other-database.1731159833.dif
  • אם מחלקים את הגיבוי הדיפרנציאלי לרצועות נפרדות, אפשר להשתמש בכל שם שבוחרים לכל רצועה, אבל צריך להעלות אותן לתיקייה ב-Cloud Storage שהשם שלה הוא חותמת זמן של Unix בשניות:

    Cloud Storage bucket root/
    |- my-business-database/
    |  |- full/
    |  |  |- ...
    |  |- diff/
    |  |  |- 1731159833/
    |  |  |  |- mydiffstripe-diff_backup_file.dif
    |  |  |  |- mySeconddiffstripe-diff_backup_file.bak
    |  |- log/
    |  |  |- ...
    |- my-other-database/
    |  |- full/
    |  |  |- ...
    |  |- diff/
    |  |  |- 1731159833/
    |  |  |  |- firstDiffStripe.bak
    |  |  |  |- other_diff_stripe.diff
    |  |- log/
    |  |  |- ...
    

שמות של קובצי יומן עסקאות

שמות קובצי יומן העסקאות צריכים להיות בפורמט db_name.epoch.trn, כאשר:

  • db_name הוא השם של מסד הנתונים
  • epoch היא חותמת זמן של מערכת Unix בשניות
  • .bak היא סיומת הקובץ

דוגמאות למסמכים תקפים:

  • my-business-database.1712649600.trn
  • my-other-database.1712649600.trn

מוסכמות למתן שמות לקובצי גיבוי ב-Amazon RDS

שמות מלאים של קובצי גיבוי

מוסכמת מתן השמות לקובצי גיבוי מלאים תלויה בשאלה אם משתמשים בקובץ גיבוי יחיד או מחלקים אותו לכמה פסים. בשני התרחישים, Database Migration Service דורש לכלול חותמת זמן של ראשית זמן יוניקס (Unix epoch) (שמבוטאת כחותמת זמן של יוניקס בשניות) שמייצגת את הזמן המשוער שבו בוצעה גיבוי מלא.

  • אם הגיבוי המלא שלכם הוא קובץ יחיד, שם הקובץ צריך להיות בפורמט db_id.family_guid.rds_backup_seq_id.epoch.bak, כאשר:

    • db_id הוא מזהה פנימי של מסד נתונים ב-Amazon RDS
    • family_guid הוא המזהה הייחודי של מסד הנתונים המקורי ב-Amazon RDS בזמן היצירה
    • rds_backup_seq_id הוא המזהה שמשמש את Amazon RDS באופן פנימי כדי לשמור על מספר סידורי לכל קובץ גיבוי של יומן עסקאות
    • epoch היא חותמת זמן של מערכת Unix בשניות
    • .bak היא סיומת הקובץ

    דוגמאות למסמכים תקפים:

    • 3.CX11CB3D-G2E4-46D9-B462-CE40CDA97E89.22.1712649600.bak
    • 1.FD21CD3F-B5E4-27Z9-B462-CE40CDA97E89.21.1712649600.bak
  • אם מחלקים את הגיבוי המלא לרצועות נפרדות, אפשר להשתמש בכל שם שרוצים לכל רצועה, אבל צריך להעלות אותן לתיקייה ב-Cloud Storage שהשם שלה הוא חותמת זמן של Unix בשניות:

    Cloud Storage bucket root/
    |- my-business-database/
    |  |- full/
    |  |  |- 1712649600/
    |  |  |  |- mystripe-full_backup_file.bak
    |  |  |  |- otherStripefull-bkp.bak
    |  |- diff/
    |  |  |- ...
    |  |- log/
    |  |  |- ...
    |- my-other-database/
    |  |- full/
    |  |  |- 1715250742/
    |  |  |  |- cool-stripe-file.bak
    |  |  |  |- secondStripeFile.bak
    |  |- log/
    |  |  |- ...
    

שמות של קובצי גיבוי דיפרנציאלי

מוסכמת השמות של קובצי גיבוי דיפרנציאליים תלויה בשאלה אם משתמשים בקובץ גיבוי יחיד או מחלקים אותו לכמה רצועות. בשני התרחישים, שירות העברת מסדי נתונים דורש לכלול חותמת זמן של ראשית זמן יוניקס (שמבוטאת כחותמת זמן של יוניקס בשניות) שמייצגת את הזמן המשוער שבו בוצעה הגיבוי הדיפרנציאלי.

  • אם הגיבוי הדיפרנציאלי הוא קובץ יחיד, שם הקובץ צריך להיות בפורמט db_id.family_guid.rds_backup_seq_id.epoch.ext, כאשר:

    • db_id הוא מזהה פנימי של מסד נתונים ב-Amazon RDS
    • family_guid הוא המזהה הייחודי של מסד הנתונים המקורי ב-Amazon RDS בזמן היצירה
    • rds_backup_seq_id הוא המזהה שמשמש את Amazon RDS באופן פנימי כדי לשמור על מספר סידורי לכל קובץ גיבוי של יומן עסקאות
    • epoch היא חותמת זמן של מערכת Unix בשניות
    • .bak היא סיומת הקובץ. קבצי גיבוי דיפרנציאלי יכולים להשתמש בסיומות הבאות: .bak, ‏.dif, ‏.diff.

    דוגמאות למסמכים תקפים:

    • 3.CX11CB3D-G2E4-46D9-B462-CE40CDA97E89.22.1731159833.bak
    • 1.FD21CD3F-B5E4-27Z9-B462-CE40CDA97E89.21.1731159833.dif
  • אם מחלקים את הגיבוי המלא לרצועות נפרדות, אפשר לתת לכל רצועה שם לבחירתכם, אבל צריך להעלות אותן לתיקייה ב-Cloud Storage שהשם שלה הוא חותמת זמן של Unix בשניות:

    Cloud Storage bucket root/
    |- my-business-database/
    |  |- full/
    |  |  |- ...
    |  |- diff/
    |  |  |- 1731159833/
    |  |  |  |- mydiffstripe-diff_backup_file.dif
    |  |  |  |- mySeconddiffstripe-diff_backup_file.bak
    |  |- log/
    |  |  |- ...
    |- my-other-database/
    |  |- full/
    |  |  |- ...
    |  |- diff/
    |  |  |- 1731159833/
    |  |  |  |- firstDiffStripe.bak
    |  |  |  |- other_diff_stripe.diff
    |  |- log/
    |  |  |- ...
    

שמות של קובצי יומן עסקאות

ב-Amazon RDS, קבצים של גיבוי יומן טרנזקציות נוצרים באופן אוטומטי והם כוללים את כל מזהי מסד הנתונים הנדרשים. השמות האלה כוללים את חותמת הזמן של העידן (epoch) ויש להם תמיכה מלאה ב-Database Migration Service. אפשר להעלות את הקבצים האלה ישירות לתיקייה /log/.

ביצוע גיבוי מלא של מופע המקור

קובץ הגיבוי המלא של מסד הנתונים נדרש לשלב הטעינה הראשונית של משימת ההעברה. אם רוצים להצפין את הגיבויים, צריך לוודא ששומרים את מפתח ההצפנה כדי שיהיה אפשר להעלות אותו ל-Cloud Storage כשיוצרים את משימת ההעברה. שימוש בגיבויים מוצפנים

יצירת גיבוי מלא למכונות SQL Server מקומיות

אפשר לבצע גיבוי מלא של מופע SQL Server מקומי באמצעות T-SQL או SQL Server Management Studio‏ (SSMS). איך לעשות את זה?

  1. חשוב לוודא שאתם עומדים בדרישות הבאות:
  2. מבצעים גיבוי מלא של מופע המקור. אפשר לעיין במאמר Quickstart: Backup and restore a SQL Server database with SSMS (מדריך מהיר: גיבוי ושחזור של מסד נתונים של SQL Server באמצעות SSMS) בתיעוד של מיקרוסופט. אפשר גם לבדוק את הפקודות לדוגמה הבאות:

    דוגמה לפקודת T-SQL לקובץ גיבוי מלא יחיד

    פקודת הדוגמה הזו יוצרת גיבוי מלא של מסד הנתונים AdventureWorks2022. קובץ הגיבוי שנוצר יקבל שם לפי מוסכמת מתן השמות הנדרשת.

    declare @DATABASE varchar(1000);
    SELECT @DATABASE = 'AdventureWorks2022';
    
    declare @unixTimestamp varchar(1000);
    SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    
    DECLARE @BackupPath NVARCHAR(2000);
    SET @BackupPath = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '.bak';
    
    DECLARE @SQL NVARCHAR(MAX);
    SET @SQL = 'BACKUP DATABASE [' + @DATABASE + '] TO DISK = N''' + @BackupPath + '''';
    EXEC sp_executesql @SQL;
    GO

    דוגמה לפקודת T-SQL לקבצי גיבוי מלאים מפוספסים

    פקודת הדוגמה הזו יוצרת גיבוי מלא של מסד הנתונים AdventureWorks2022. קובץ הגיבוי שנוצר יקבל שם לפי מוסכמת מתן השמות הנדרשת.

    declare @DATABASE varchar(1000);
    SELECT @DATABASE = 'AdventureWorks2022';
    
    declare @unixTimestamp varchar(1000);
    SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    
    DECLARE @BackupPath1 NVARCHAR(2000);
    DECLARE @BackupPath2 NVARCHAR(2000);
    DECLARE @BackupPath3 NVARCHAR(2000);
    
    SET @BackupPath1 = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '\stripe1.bak';
    SET @BackupPath2 = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '\stripe2.bak';
    SET @BackupPath3 = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '\stripe3.bak';
    
    DECLARE @SQL NVARCHAR(MAX);
    SET @SQL = 'BACKUP DATABASE [' + @DATABASE + '] '
               + 'TO DISK = N''' + @BackupPath1 + ''', '
               + 'DISK = N''' + @BackupPath2 + ''', '
               + 'DISK = N''' + @BackupPath3 + ''' '
               + 'WITH FORMAT, '
               + 'MEDIANAME = N''AdventureWorksStripedSet0'', '
               + 'MEDIADESCRIPTION = N''Striped media set for ' + @DATABASE + ' database''';
    EXEC sp_executesql @SQL;
    GO
  3. מעלים את קובץ הגיבוי לקטגוריה של Cloud Storage. ראו יצירה והגדרה של קטגוריה ב-Cloud Storage.

ביצוע גיבוי מלא של Amazon RDS

כדי לבצע גיבוי מלא של מקור Amazon RDS, פועלים לפי השלבים הבאים:

  1. חשוב לוודא שאתם עומדים בדרישות הבאות:
  2. מגדירים את יכולת הגיבוי המובנית. מידע נוסף זמין במאמר בנושא הגדרה של גיבוי ושחזור מקוריים במסמכי Amazon RDS.
  3. מבצעים גיבוי מלא של מופע המקור. אם גודל מסד הנתונים גדול מ-5TB, צריך לחלק את הגיבוי המלא לרצועות נפרדות באמצעות הפרמטר @number_of_files. הגודל המקסימלי של כל פס הוא 5TB. מידע נוסף מופיע במאמר גיבוי מסד נתונים במסמכי התיעוד של Amazon RDS.

    אפשר גם לבדוק את פקודת הדוגמה הבאה:

    דוגמה לשאילתה לביצוע גיבוי מלא ב-Amazon RDS

    פקודת הדוגמה הזו יוצרת גיבוי מלא של מסד הנתונים AdventureWorks2022. קובץ הגיבוי שנוצר יקבל שם לפי מוסכמת מתן השמות הנדרשת.

    declare @DATABASE varchar(1000);
    declare @S3Bucket varchar(1000);
    declare @unixTimestamp varchar(30);
    declare @fileName varchar(1000);
    
    SELECT @S3Bucket = 'dms-sqlserver-exports';
    SELECT @DATABASE = 'AdventureWorks2022';
    
    SELECT @unixTimestamp=CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    SELECT @fileName = ('arn:aws:s3:::' + @S3Bucket + '/' + @DATABASE + '/full/' + @DATABASE + '.' + @unixTimestamp + '/' + CAST(database_id AS VARCHAR(10)) + '.' + CAST(family_guid AS VARCHAR(50)) + '.*.' + @unixTimestamp) FROM master.sys.database_recovery_status WHERE DB_NAME(database_id)=@DATABASE;
    
    exec msdb.dbo.rds_backup_database
      @source_db_name=@DATABASE,
      @s3_arn_to_backup_to=@fileName,
      @overwrite_s3_backup_file=1,
      @type='FULL',
      @number_of_files=1;
  4. מעלים את קובץ הגיבוי לקטגוריה של Cloud Storage. ראו יצירה והגדרה של קטגוריה ב-Cloud Storage.

ביצוע גיבוי דיפרנציאלי של מופע המקור

אתם יכולים להשתמש בקובץ גיבוי של מאגר נתונים דיפרנציאלי במהלך השלב של טעינה מצטברת של משימת ההעברה. אתם יכולים להשתמש בקובצי גיבוי דיפרנציאלי מוצפנים אם אתם מצפינים גם את קובץ הגיבוי המלא ואת קובצי יומן הטרנזקציות של אותו מסד נתונים. כל קובצי הגיבוי ויומני העסקאות צריכים להשתמש באותו מפתח הצפנה לכל מסד נתונים. שימוש בגיבויים מוצפנים

ביצוע גיבוי דיפרנציאלי למכונות SQL Server מקומיות

אפשר לבצע גיבוי דיפרנציאלי של מופע SQL Server מקומי באמצעות T-SQL או SQL Server Management Studio‏ (SSMS). איך לעשות את זה?

  1. חשוב לוודא שאתם עומדים בדרישות הבאות:
  2. מבצעים גיבוי דיפרנציאלי של מופע המקור. מידע נוסף זמין במאמר יצירת גיבוי דיפרנציאלי של מסד נתונים במסמכי Microsoft. אפשר גם לבדוק את הפקודות לדוגמה הבאות:

    דוגמה לפקודת T-SQL לקובץ גיבוי דיפרנציאלי יחיד

    פקודת הדוגמה הזו יוצרת גיבוי דיפרנציאלי של מסד הנתונים AdventureWorks2022. קובץ הגיבוי שנוצר יקבל שם לפי מוסכמת מתן השמות הנדרשת.

    declare @DATABASE varchar(1000);
    SELECT @DATABASE = 'AdventureWorks2022';
    
    declare @unixTimestamp varchar(1000);
    SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    
    DECLARE @BackupPath NVARCHAR(2000);
    SET @BackupPath = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '.bak';
    
    DECLARE @SQL NVARCHAR(MAX);
    SET @SQL = 'BACKUP DATABASE [' + @DATABASE + '] TO DISK = N''' + @BackupPath + ''' WITH DIFFERENTIAL';
    EXEC sp_executesql @SQL;
    GO

    דוגמה לפקודת T-SQL לקבצים של גיבוי דיפרנציאלי מפוספס

    פקודת הדוגמה הזו יוצרת גיבוי דיפרנציאלי של מסד הנתונים AdventureWorks2022. קובץ הגיבוי שנוצר יקבל שם לפי מוסכמת מתן השמות הנדרשת.

    declare @DATABASE varchar(1000);
    SELECT @DATABASE = 'AdventureWorks2022';
    
    declare @unixTimestamp varchar(1000);
    SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    
    DECLARE @BackupPath1 NVARCHAR(2000);
    DECLARE @BackupPath2 NVARCHAR(2000);
    DECLARE @BackupPath3 NVARCHAR(2000);
    
    SET @BackupPath1 = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '\stripe1.bak';
    SET @BackupPath2 = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '\stripe2.bak';
    SET @BackupPath3 = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '\stripe3.bak';
    
    DECLARE @SQL NVARCHAR(MAX);
    SET @SQL = 'BACKUP DATABASE [' + @DATABASE + '] '
               + 'TO DISK = N''' + @BackupPath1 + ''', '
               + 'DISK = N''' + @BackupPath2 + ''', '
               + 'DISK = N''' + @BackupPath3 + ''' '
               + 'WITH DIFFERENTIAL, FORMAT, '
               + 'MEDIANAME = N''AdventureWorksStripedSet0'', '
               + 'MEDIADESCRIPTION = N''Striped differential media set for ' + @DATABASE + ' database''';
    EXEC sp_executesql @SQL;
    GO
  3. מעלים את קובץ הגיבוי לקטגוריה של Cloud Storage. ראו יצירה והגדרה של קטגוריה ב-Cloud Storage.

ביצוע גיבוי דיפרנציאלי ל-Amazon RDS

כדי לבצע גיבוי דיפרנציאלי של מקור Amazon RDS, פועלים לפי השלבים הבאים:

  1. חשוב לוודא שאתם עומדים בדרישות הבאות:
  2. מגדירים את יכולת הגיבוי המובנית. מידע נוסף זמין במאמר בנושא הגדרה של גיבוי ושחזור מקוריים במסמכי Amazon RDS.
  3. מבצעים גיבוי דיפרנציאלי של מופע המקור. משתמשים בהליך המאוחסן rds_backup_database עם הפרמטר type שהערך שלו מוגדר ל-DIFFERENTIAL.

    אם גודל מסד הנתונים שלכם גדול מ-5TB, צריך לחלק את הגיבוי המלא לפסים נפרדים באמצעות הפרמטר @number_of_files. הגודל המקסימלי של כל פס הוא 5TB.

    מידע נוסף זמין במאמר גיבוי מסד נתונים במסמכי העזרה של Amazon RDS. אפשר גם לבדוק את הפקודה לדוגמה הבאה:

    דוגמה לשאילתה לביצוע גיבוי דיפרנציאלי ב-Amazon RDS

    פקודת הדוגמה הזו יוצרת גיבוי דיפרנציאלי של מסד הנתונים AdventureWorks2022. קובץ הגיבוי שנוצר יקבל שם לפי מוסכמת מתן השמות הנדרשת.

    declare @DATABASE varchar(1000);
    declare @S3Bucket varchar(1000);
    declare @unixTimestamp varchar(30);
    declare @fileName varchar(1000);
    
    SELECT @S3Bucket = 'dms-sqlserver-exports';
    SELECT @DATABASE = 'AdventureWorks2022';
    
    SELECT @unixTimestamp=CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    SELECT @fileName = ('arn:aws:s3:::' + @S3Bucket + '/' + @DATABASE + '/full/' + @DATABASE + '.' + @unixTimestamp + '/' + CAST(database_id AS VARCHAR(10)) + '.' + CAST(family_guid AS VARCHAR(50)) + '.*.' + @unixTimestamp) FROM master.sys.database_recovery_status WHERE DB_NAME(database_id)=@DATABASE;
    
    exec msdb.dbo.rds_backup_database
      @source_db_name=@DATABASE,
      @s3_arn_to_backup_to=@fileName,
      @overwrite_s3_backup_file=1,
      @type='DIFFERENTIAL',
      @number_of_files=1;
  4. מעלים את קובץ הגיבוי לקטגוריה של Cloud Storage. ראו יצירה והגדרה של קטגוריה ב-Cloud Storage.

יצירת גיבויים של יומן העסקאות

קובצי גיבוי של יומן העסקאות מכילים את השינויים שמתרחשים במסד הנתונים המקורי אחרי שמבצעים גיבוי מלא. גיבויים של יומן הטרנזקציות נדרשים לשלב הטעינה הרציפה של משימת ההעברה. אתם יכולים לתזמן ייצוא והעלאה של יומני טרנזקציות באופן קבוע, כדי להבטיח שעדכוני הנתונים ישוכפלו באופן רציף למכונת היעד שלכם ב-Cloud SQL ל-SQL Server. איך מתזמנים גיבויים של יומן הטרנזקציות

אם אתם משתמשים בקובצי גיבוי מוצפנים, אתם צריכים להצפין גם את קובצי יומן הטרנזקציות של אותו מסד נתונים. שימוש בגיבויים מוצפנים

יצירת גיבוי של יומן טרנזקציות למכונות מקומיות של SQL Server

כדי ליצור גיבוי של יומן העסקאות של מסדי הנתונים של SQL Server בשרת המקומי, פועלים לפי השלבים הבאים:

  1. חשוב לוודא שאתם עומדים בדרישות הבאות:
  2. מייצאים את קובצי יומן הטרנזקציות ממסדי הנתונים של מקור SQL Server. מידע נוסף זמין במאמר גיבוי יומן טרנזקציות במסמכי העזרה של Microsoft. אפשר גם לבדוק את פקודת הדוגמה הבאה:

    דוגמה לפקודת T-SQL לייצוא קבצים של יומן טרנזקציות לדיסק מקומי

    פקודת הדוגמה הזו יוצרת גיבוי של יומן העסקאות של מסד הנתונים AdventureWorks2022 ושומרת את הקובץ בדיסק המקומי. קובץ הגיבוי שנוצר יקבל שם לפי מוסכמת מתן השמות הנדרשת.

    declare @DATABASE varchar(1000);
    SELECT @DATABASE = 'AdventureWorks2022';
    declare @unixTimestamp varchar(1000);
    SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    
    DECLARE @BackupPath NVARCHAR(2000);
    SET @BackupPath = 'X:\SQLServerBackups\log\' + @DATABASE + '.' + @unixTimestamp + '.trn';
    
    DECLARE @SQL NVARCHAR(MAX);
    SET @SQL = 'BACKUP LOG [' + @DATABASE + '] TO DISK = N''' + @BackupPath + '''';
    EXEC sp_executesql @SQL;
    GO
  3. מעלים את קובצי הגיבוי של יומן העסקאות אל קטגוריה של Cloud Storage שיצרתם לצורך ההעברה.

יצירת גיבוי של יומן הטרנזקציות ב-Amazon RDS

גיבויים של יומני עסקאות נוצרים באופן אוטומטי אם הגיבויים האוטומטיים מופעלים במופע Amazon RDS. מידע נוסף על הפעלת גיבויים אוטומטיים זמין במסמכי התיעוד של Amazon RDS.

כדי להשתמש בקובצי גיבוי של יומן טרנזקציות להעברה, פועלים לפי השלבים הבאים:

  1. מפעילים גישה לקובצי יומן טרנזקציות במופע Amazon RDS. אפשר לעיין במאמר גישה לגיבויים של יומני טרנזקציות באמצעות RDS ל-SQL Server. אפשר גם לבדוק את פקודת הדוגמה הבאה:

    דוגמה לקריאה לפרוצדורה מאוחסנת כדי להפעיל גישה ליומן העסקאות ב-Amazon RDS

    declare @DATABASE varchar(1000);
    declare @S3Bucket varchar(1000);
    declare @targetS3Arn varchar(1000);

    SELECT @S3Bucket = 'dms-sqlserver-exports'; SELECT @DATABASE = 'AdventureWorks2022'; SELECT @targetS3Arn = ('arn:aws:s3:::' + @S3Bucket + '/' + @DATABASE + '/log/');

    USE @DATABASE; exec msdb.dbo.rds_tlog_copy_setup @target_s3_arn=@targetS3Arn;

  2. מעתיקים את קובצי הגיבוי של יומן העסקאות מהקטגוריה ב-S3 אל הקטגוריה של Cloud Storage שיצרתם לצורך ההעברה.