העברה של מסד נתונים מסוג SQL מ-Windows ל-Linux

במדריך הזה מוסברות שתי גישות שונות להעברת מסד נתונים של SQL Server מ-Windows Server ל-Linux Server.

בדף הזה נסביר על השיטות הבאות:

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

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

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

לפני שמתחילים

חשוב לוודא שיש לכם את הפריטים הבאים:

  • Google Cloud פרויקט וענן וירטואלי פרטי (VPC) עם קישוריות לבקרי הדומיין של Active Directory.
  • רשת משנה לשימוש במכונות וירטואליות (VM) של Windows Server Failover Cluster‏ (WSFC).

כדי להשלים את ההדרכה, צריך גם פרויקט: Google Cloud

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

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

בקטעים הבאים נסביר איך להעביר מסד נתונים של SQL Server משרת מבוסס-Windows לשרת מבוסס-Linux.

ייבוא מסד נתונים מסוג SQL ל-Linux

בקטע הזה מוסבר איך לייצא מסד נתונים של SQL מ-SQL Server מבוסס-Windows, ולייבא אותו ל-SQL Server מבוסס-Linux באמצעות SQL Server Management Studio ‏ (SSMS).

דרישות מוקדמות

כדי לייבא מסד נתונים של SQL ל-Linux, צריך:

  • מחשב Windows עם הדברים הבאים:

    • ‫SQL Server מותקן.
    • SSMS מותקן.
    • מסד הנתונים של SQL שרוצים להעביר נמצא במכונה הזו. במדריך הזה נעשה שימוש במסד נתונים לדוגמה AdventureWorks2022.
  • מחשב Linux שמותקן בו SQL Server.

ייצוא מסד נתונים של SQL מ-SQL Server מבוסס-Windows

כדי לייצא מסד נתונים של SQL מ-SQL Server מבוסס-Windows, מבצעים את השלבים הבאים:

  1. במחשב Windows, יוצרים תיקייה חדשה בכונן C: ‎ ונותנים לה את השם export (c:\export).
  2. פותחים את SSMS.
  3. בחלון Connection (חיבור), מזינים localhost ולוחצים על Connect (חיבור).
  4. ב-Object Explorer, מרחיבים את Databases.
  5. לוחצים לחיצה ימנית על מסד הנתונים של היעד, בוחרים באפשרות משימות ואז לוחצים על ייצוא של אפליקציית שכבת נתונים.... אשף ייצוא הנתונים ייפתח.

    ייצוא נתונים.

  6. באשף Export Data (ייצוא נתונים), לוחצים על Next (הבא).

  7. בכרטיסייה Settings (הגדרות), מגדירים את האשף Export Data (ייצוא נתונים) לשמירת קובץ חבילת הגיבוי (BACPAC) ‏(.bacpac) בדיסק המקומי.

  8. מציינים את התיקייה ואת שם הקובץ, באופן הבא:

    c:\export\MigrationFile.bacpac
    
  9. לוחצים על הבא.

  10. בודקים את ההגדרות שצוינו ולוחצים על סיום כדי להתחיל בתהליך הייצוא. קובץ ה-‎ .bacpac נוצר בהצלחה במיקום שבחרתם. עכשיו אפשר לייבא אותו ל-SQL Server היעד.

ייבוא מסד נתונים ל-Linux

כדי לייבא מסד נתונים של SQL ל-SQL Server מבוסס-Linux, פועלים לפי השלבים הבאים:

  1. פותחים את SSMS.
  2. בחלון Connection (חיבור), מזינים את כתובת ה-IP של שרת היעד ולוחצים על Connect (חיבור).
  3. לוחצים לחיצה ימנית על התיקייה Databases (מסדי נתונים) ב-Object Explorer (סייר אובייקטים) ובוחרים באפשרות Import Data-tier Application... (ייבוא אפליקציה ברמת נתונים...).
  4. מציינים את קובץ ה-bacpac שנוצר בתהליך הייצוא.

    c:\export\MigrationFile.bacpac
    
  5. לוחצים על הבא.

  6. מציינים את AdventureWorks2022.

    AdventureWorks2022
    
  7. מוודאים שבנתונים ובנתיב היומן מוצגות הגדרות ברירת המחדל ממופע Linux.

  8. לוחצים על הבא.

  9. בודקים את הגדרות הייבוא ולוחצים על סיום כדי להתחיל את הייבוא.

    ייבוא הגדרות של קובץ bacpac.

  10. לוחצים על סגירה כדי לסגור את אשף הייבוא. מסד הנתונים מוכן לחיבורים.

העברה באמצעות גיבוי ושחזור של SQL

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

דרישות מוקדמות

כדי להעביר מסד נתונים באמצעות שיטת הגיבוי והשחזור, צריך את הדברים הבאים:

  • מחשב Windows עם הדברים הבאים:

  • מחשב Linux עם SQL Server מותקן.

גיבוי מסד הנתונים במחשב עם Windows

אפשר לגבות מסד נתונים לקובץ באמצעות Windows בעזרת SSMS, באופן הבא:

  1. פותחים את SSMS במחשב Windows.
  2. בחלון החיבור, מזינים localhost.
  3. ב-Object Explorer, מרחיבים את Databases.
  4. לוחצים לחיצה ימנית על מסד הנתונים של היעד, בוחרים באפשרות משימות ואז לוחצים על גיבוי....

    יצירת גיבוי.

  5. בחלון Backup Database (גיבוי מסד נתונים), מוודאים שBackup type (סוג הגיבוי) מוגדר ל-Full (מלא) וBack up to (גיבוי אל) מוגדר ל-Disk (דיסק). רושמים את השם והמיקום של קובץ הגיבוי. לדוגמה, גיבוי של מסד נתונים ב-SQL Server 2022 ממוקם כברירת מחדל ב-C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup.

    אפשרויות גיבוי של מסד נתונים מסוג SQL.

  6. כדי להתחיל בגיבוי, לוחצים על אישור.

העתקת קובץ הגיבוי למכונת Linux

אתם יכולים להשתמש בלקוח Secure Copy Protocol ‏ (SCP) כדי להעלות את קובץ הגיבוי למחשב Linux. ההליך הבא מתבסס על לקוח שורת פקודה של SCP. עם זאת, אפשר גם להשתמש ב-WinSCP או ב-Git Bash Shell כדי להעלות את הקובץ.

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

    cd 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup\'
    
  2. משתמשים בפקודה scp כדי להעתיק את הקובץ למכונת ה-Linux של היעד. בדוגמה הבאה נעשה שימוש בקובץ MigrationBackup.bak שנוצר קודם.

    scp MigrationBackup.bak sysadmin@LINUX_INTERNAL_IP:./
    

    מחליפים את LINUX_INTERNAL_IP בכתובת ה-IP של מכונת Linux.

    מעתיקים את קובץ הגיבוי למחשב היעד.

העברת קובץ גיבוי

כדי לשחזר את מסד הנתונים לשרת SQL במכונת Linux, צריך לוודא שקובץ הגיבוי נמצא במיקום ברירת המחדל שבבעלות המשתמש mssql, כלומר /var/opt/mssql.

כדי להעביר את קובץ הגיבוי לספרייה mssql, פועלים לפי השלבים הבאים:

  1. במכונת Windows, מתחברים למכונת Linux של היעד באמצעות SSH.

    ssh sysadmin@LINUX_INTERNAL_IP
    

    מחליפים את LINUX_INTERNAL_IP בכתובת ה-IP של מכונת Linux.

  2. יוצרים ספריית גיבוי חדשה.

    sudo mkdir -p /var/opt/mssql/backup
    
  3. מעבירים את קובץ הגיבוי לספרייה החדשה שנוצרה.

    sudo mv ~/MigrationBackup.bak /var/opt/mssql/backup
    

שחזור מסד הנתונים

אפשר לשחזר את מסד הנתונים במחשב Linux באמצעות SSMS באופן הבא:

  1. פותחים את SSMS במחשב Windows.
  2. בחלון Connection (חיבור), מזינים את כתובת ה-IP או את שם המארח של מכונת Linux.
  3. מציינים את פרטי ההתחברות ואת הסיסמה.
  4. לוחצים על Connect.

    בוחרים את קובץ הגיבוי לשחזור.

  5. ב-Object Explorer, לוחצים לחיצה ימנית על התיקייה Databases ובוחרים באפשרות Restore Database... (שחזור מסד נתונים).

  6. בחלון Restore Database (שחזור מסד נתונים), מגדירים את Source (מקור) ל-Device (מכשיר), לוחצים על ... כדי לפתוח את תיבת הדו-שיח לבחירת גיבוי.

  7. בתיבת הדו-שיח 'בחירת מכשיר לגיבוי', לוחצים על הוספה.

  8. בדפדפן הקבצים, לוחצים על הספרייה \var\opt\mssql\backup ובוחרים את קובץ הגיבוי שהועלה.

  9. לוחצים על אישור כדי לאשר את הבחירה ולסגור את תיבת הדו-שיח.

  10. בודקים את הגיבוי שנוצר ולוחצים על אישור.

    בוחרים את קובץ הגיבוי לשחזור.

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

  1. בתפריט הימני, לוחצים על קבצים.
  2. בוחרים באפשרות העברת כל הקבצים לתיקייה כדי להעביר את הקבצים המשוחזרים לספריית ברירת המחדל של נתוני SQL Server.
  3. לוחצים על אישור כדי להתחיל בתהליך השחזור.
  4. כדי לוודא שהשחזור בוצע, מציגים את רשימת כל מסדי הנתונים בשרת. מסד הנתונים המשוחזר אמור להופיע ברשימה.

    SELECT Name FROM sys.Databases
    GO
    
  5. להריץ שאילתות אחרות במסד הנתונים שהועבר.

    USE AdventureWorks2022
    SELECT top 100 * FROM [Person].[Person]
    GO
    

הסרת המשאבים

אחרי שמסיימים את המדריך, אפשר למחוק את המשאבים שנוצרו, כדי שהם יפסיקו להשתמש במכסה ולצבור חיובים. בסעיפים הבאים מוסבר איך למחוק או להשבית את המשאבים האלו.

מחיקת הפרויקט

הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך.

כדי למחוק את הפרויקט:

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

המאמרים הבאים