Cloud SQL ל-SQL Server

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

גרסאות נתמכות

גרסאות של SQL Server: ‏ 2008,‏ 2012,‏ 2014,‏ 2016,‏ 2017,‏ 2019 ו-2022

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

לפני שמשתמשים ב-Cloud SQL ל-SQL Server connector, צריך לבצע את המשימות הבאות:

  • בפרויקט שלכם ב-Google Cloud:
    • מוודאים שהגדרתם חיבור לרשת. מידע על תבניות רשת זמין במאמר קישוריות לרשת.
    • נותנים למשתמש שמגדיר את המחבר את תפקיד ה-IAM‏ roles/connectors.admin.
    • מקצים לחשבון השירות שרוצים להשתמש בו עבור המחבר את תפקידי ה-IAM הבאים:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor
      • roles/cloudsql.editor

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

    • מפעילים את השירותים הבאים:
      • ‫secretmanager.googleapis.com (Secret Manager API)
      • ‫connectors.googleapis.com (Connectors API)

      במאמר הפעלת שירותים מוסבר איך להפעיל שירותים.

    אם השירותים או ההרשאות האלה לא הופעלו בפרויקט שלכם בעבר, תתבקשו להפעיל אותם כשאתם מגדירים את המחבר.

  • מפעילים את השירות sqladmin.googleapis.com (Cloud SQL Admin API).

הגדרת המחבר

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

  1. במסוף Cloud, עוברים לדף Integration Connectors > Connections ובוחרים או יוצרים פרויקט בענן.

    כניסה לדף Connections

  2. לוחצים על + יצירת חיבור חדש כדי לפתוח את הדף יצירת חיבור.
  3. בקטע מיקום, בוחרים את המיקום של החיבור.
    1. אזור: בוחרים מיקום מהרשימה הנפתחת.

      רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.

    2. לוחצים על הבא.
  4. בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
    1. מחבר: בוחרים באפשרות Cloud SQL ל-SQL Server מהרשימה הנפתחת של המחברים הזמינים.
    2. גרסת כלי החיבור: בוחרים את גרסת כלי החיבור מהרשימה הנפתחת של הגרסאות הזמינות.
    3. בשדה Connection Name (שם החיבור), מזינים שם למופע החיבור.

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

      • שמות החיבורים יכולים לכלול אותיות, מספרים או מקפים.
      • האותיות צריכות להיות קטנות.
      • שמות החיבורים צריכים להתחיל באות ולהסתיים באות או במספר.
      • שמות החיבורים לא יכולים לכלול יותר מ-49 תווים.
    4. אופציונלי: מזינים תיאור למופע החיבור.
    5. אופציונלי: מפעילים את Cloud Logging ואז בוחרים רמת יומן. כברירת מחדל, רמת היומן מוגדרת כ-Error.
    6. חשבון שירות: בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
    7. אופציונלי: מגדירים את ההגדרות של צומת החיבור:

      • מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
      • מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.

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

    8. מזהה הפרויקט: המזהה של פרויקט בענן של Google שבו נמצא מופע CloudSQL.
    9. ‫Database Region (אזור מסד הנתונים): השם של האזור שבו נמצאת מכונת CloudSQL.
    10. מזהה המכונה: המזהה של מכונת CloudSQL שאליה רוצים להתחבר.
    11. שם מסד הנתונים: השם של מסד הנתונים של Sql Server שאליו רוצים להתחבר.
    12. אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
    13. לוחצים על הבא.
  5. בקטע יעדים, מזינים את הפרטים של המארח המרוחק (מערכת העורף) שאליו רוצים להתחבר.
    1. סוג היעד: בוחרים סוג יעד.
      • כדי לציין את שם המארח או את כתובת ה-IP של היעד, בוחרים באפשרות כתובת המארח ומזינים את הכתובת בשדה מארח 1.
      • כדי ליצור חיבור פרטי, בוחרים באפשרות Endpoint attachment (צירוף נקודת קצה). ברשימה Endpoint Attachment, בוחרים את קובץ ה-Endpoint Attachment שנוצר עבור מערכת ה-Backend.

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

      כדי להזין יעדים נוספים, לוחצים על +הוספת יעד.

    2. לוחצים על הבא.
  6. בקטע אימות, מזינים את פרטי האימות.
    1. בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.

      החיבור ל-Cloud SQL ל-SQL Server תומך בסוגי האימות הבאים:

      • שם משתמש וסיסמה
    2. כדי להבין איך להגדיר את סוגי האימות האלה, אפשר לעיין במאמר בנושא הגדרת אימות.

    3. לוחצים על הבא.
  7. בדיקה: בודקים את פרטי החיבור והאימות.
  8. לוחצים על יצירה.

הגדרת אימות

מזינים את הפרטים בהתאם לאימות שבו רוצים להשתמש.

  • שם משתמש וסיסמה
    • שם משתמש: שם המשתמש ב-SQL Server שבו ישתמשו לחיבור.
    • סיסמה: סוד ב-Secret Manager שמכיל את הסיסמה שמשויכת לשם המשתמש ב-SQL Server.

דוגמאות להגדרת חיבור

סוג החיבור לאימות בסיסי

שם השדה פרטים
מיקום us-central1
מחבר CloudSQL SQL Server
גרסת המחבר 1
שם החיבור cloudsql-server-private
הפעלת Cloud Logging כן
חשבון השירות SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
מזהה פרויקט connectors-prod-test
אזור מסד הנתונים us-central1
מזהה מופע google-cloud-bcone-sql-instance1
שם מסד הנתונים sqlcloudprivate_DB
מספר הצמתים המינימלי 2
מספר הצמתים המקסימלי 2
סוג היעד כתובת המארח
מארח מארח
יציאה PORT
שם משתמש שם משתמש
סיסמה PASSWORD
גרסה של סוד 1

מגבלות המערכת

מחבר Cloud SQL ל-SQL Server יכול לעבד עד 30 טרנזקציות בשנייה, לכל צומת, ומגביל את כל הטרנזקציות שחורגות מהמגבלה הזו. כברירת מחדל, Integration Connectors מקצה 2 צמתים (לזמינות טובה יותר) לחיבור.

מידע על המגבלות שחלות על Integration Connectors זמין במאמר מגבלות.

שימוש בחיבור Cloud SQL ל-SQL Server בשילוב

אחרי שיוצרים את החיבור, הוא זמין גם ב-Apigee Integration וגם ב-Application Integration. אפשר להשתמש בחיבור בשילוב באמצעות המשימה Connectors.

  • כדי להבין איך ליצור ולהשתמש במשימה Connectors ב-Apigee Integration, אפשר לעיין במאמר משימת Connectors.
  • מידע על יצירה ושימוש במשימת מחברים ב-Application Integration זמין במאמר משימת מחברים.

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

סוגי נתונים נתמכים

אלה סוגי הנתונים הנתמכים במחבר הזה:

  • BIGINT
  • BINARY
  • BIT
  • בוליאני
  • CHAR
  • תאריך
  • DECIMAL
  • DOUBLE
  • FLOAT
  • מספר שלם
  • LONGN VARCHAR
  • LONG VARCHAR
  • NCHAR
  • NUMERIC
  • NVARCHAR
  • REAL
  • SMALL INT
  • שעות
  • TIMESTAMP
  • TINY INT
  • VARBINARY
  • VARCHAR

פעולות

בקטע הזה מפורטות פעולות שזמינות במחבר הזה.

פעולה Employee_Procedure

הפעולה הזו מאחזרת נתונים של עובד.

פרמטרים של קלט של הפעולה Employee_Procedure

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

דוגמה להגדרת הפעולה Employee_Procedure מופיעה במאמר דוגמאות לפעולות.

דוגמאות לפעולות

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

דוגמה – שליפת נתונים של עובד

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה Employee_Procedure ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
      "ID": 3
    }
    
  4. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לערך הבא:

    [{
      "ID": 3,
      "Name": "Charlie",
      "City": "Paris",
      "SALARY": 6500.0,
      "Department": "IT"
    }]
    

דוגמאות לפעולות על ישויות

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

דוגמה – רשימה של כל האנשים

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Persons מהרשימה Entity.
  3. בוחרים את הפעולה List ולוחצים על סיום.
  4. בקטע Task Input (קלט משימה) במשימה Connectors (מחברים), אפשר להגדיר את filterClause (סעיף סינון) בהתאם לצרכים שלכם.
  5. חובה להשתמש במירכאות בודדות (') כדי להקיף את הערך של filterClause. אפשר להשתמש ב-filterClause כדי לסנן רשומות על סמך העמודות.

דוגמה – קבלת פרטים של אדם

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Persons מהרשימה Entity.
  3. בוחרים את הפעולה Get ולוחצים על סיום.
  4. בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על entityId ואז מזינים 1 בשדה Default Value (ערך ברירת מחדל). המזהה הזה מציין את הרשומה שיש לאחזר.

דוגמה – מחיקת משתמש

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Persons מהרשימה Entity.
  3. בוחרים את הפעולה Delete ולוחצים על סיום.
  4. בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על entityId ואז מזינים 9 בשדה Default Value (ערך ברירת מחדל). המזהה הזה מציין את הרשומה שרוצים למחוק.

דוגמה – יצירת קבוצת פנים

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Persons מהרשימה Entity.
  3. בוחרים את הפעולה Create ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
      "LastName": "Charlie",
      "FirstName": "Cruz",
      "Address": "123 Main Street",
      "City": "Paris"
    }
    

    אם השילוב מצליח, פרמטר התגובה connectorOutputPayload של משימת המחבר יקבל ערך שדומה לזה::

    {
      "PersonID": 100.0,
      "LastName": "Charlie",
      "FirstName": "Cruz",
      "Address": "123 Main Street",
      "City": "Paris"
    }
    

דוגמה – יצירת פרטי עובד

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות SQL_Performance_EmployeeDetails מהרשימה Entity.
  3. בוחרים את הפעולה Create ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
      "ID": 9.0,
      "FirstName": "Alex",
      "LastName": "Ariel",
      "MyDate": "2021-10-22",
      "MyTime": "13:54:19",
      "MySmallDateTime": "2021-10-22 13:54:00.0",
      "MyDateTime": "2021-10-22 13:54:19.057",
      "MyDateTime2": "2021-10-22 13:54:19.055",
      "MyDateTimeOffset": "2021-10-22 13:54:19.055",
      "MyDecimalColumn": 123.0,
      "MyNumericColumn": 12345.12,
      "salary": 4000.0,
      "Location": "Paris",
      "City": "Paris",
      "Designation": "Consultant",
      "Position": "Junior",
      "Experience": 5.0,
      "Emp_Father_Name": "Taylor",
      "Emp_Spouse": "Yuri",
      "Age": 29.0,
      "Celsius": 35.0,
      "Isregistered": "AA==",
      "Data": "{\"name\": \"Raj\",\"skills\": [\"SSIS\", \"SSRS\", \"JS\"],\"Age\": 30}",
      "Emp_Status": "Active",
      "Emp_Department": "IT",
      "Emp_Zip": 121212.0,
      "Sex": "Male",
      "Manager": "Dana",
      "ManagerId": 10.0,
      "Manager_Location": "Paris",
      "HR_Name": "Sasha",
      "Emp_Technology": "SQL",
      "Company_Name": "Altostrat",
      "Company_Location": "Paris",
      "Emp_Degree": "BE",
      "Emp_10TH": "Y",
      "Emp_12TH": "Y",
      "Emp_10Th_Marks": 70.0,
      "Emp_12TH_Marks": 80.0,
      "Emp_Degree_Marks": 90.0,
      "work": "WFH",
      "Emp_Language": "English",
      "Emp_System": "Laptop",
      "Daily_Hrs": 9.0,
      "Week_Days": 5.0,
      "Weekly_Off": 2.0,
      "Client_Name": "Google",
      "Client_Location": "Lisbon",
      "Team_Size": 15.0,
      "Reports_TO": "Manager"
    }
    

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

    {
      "ID": 9.0,
      "FirstName": "Alex",
      "LastName": "Ariel",
      "City": "Paris",
      "Salary": 4000.0
    }
    

דוגמה – יצירת עובד

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Employee מהרשימה Entity.
  3. בוחרים את הפעולה Create ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
      "NAME": "Dana",
      "AGE": 30,
      "City": "Lisbon",
      "SALARY": 10000.0
    }
    

    אם השילוב מצליח, פרמטר התגובה connectorOutputPayload של משימת ה-Connector יקבל ערך שדומה לזה:

    {
      "ID": 88.0,
      "NAME": "Dana",
      "AGE": 30,
      "City": "Lisbon",
      "SALARY": 10000.0
    }
    

דוגמה – עדכון פרטי משתמש

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Persons מהרשימה Entity.
  3. בוחרים את הפעולה Update ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
      "LastName": "Charlie",
      "FirstName": "Cruz",
      "Address": "8 Rue du Nom Fictif",
      "City": "Paris"
    }
    
  5. בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על entityId ואז מזינים 10 בשדה Default Value (ערך ברירת מחדל). המזהה הזה מציין את הרשומה לעדכון.

    במקום לציין את entityId, אפשר גם להגדיר את filterClause לערך '10'.

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

    {
      "LastName": "Charlie",
      "FirstName": "Cruz",
      "Address": "8 Rue du Nom Fictif",
      "City": "Paris"
    }
    

דוגמה – עדכון פרטי עובד

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות SQL_Performance_EmployeeDetails מהרשימה Entity.
  3. בוחרים את הפעולה Update ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
      "Age": 30
    }
    
  5. בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על entityId ואז מזינים 5 בשדה Default Value (ערך ברירת מחדל). המזהה הזה מציין את הרשומה לעדכון.

    במקום לציין את entityId, אפשר גם להגדיר את filterClause לערך '5'.

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

    {
      "Age": 30
    }
    

דוגמה – עדכון של עובד

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Employee מהרשימה Entity.
  3. בוחרים את הפעולה Update ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
      "AGE": 41,
      "City": "Paris",
      "SALARY": 10000.0
    }
    
  5. בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על entityId ואז מזינים 2 בשדה Default Value (ערך ברירת מחדל). המזהה הזה מציין את הרשומה לעדכון.

    במקום לציין את entityId, אפשר גם להגדיר את filterClause לערך '2'.

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

    {
      "AGE": 41,
      "City": "Paris",
      "SALARY": 10000.0
    }
    

יצירת חיבורים באמצעות Terraform

אפשר להשתמש במשאב של Terraform כדי ליצור חיבור חדש.

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

כדי לראות תבנית לדוגמה של Terraform ליצירת חיבור, אפשר לעיין בתבנית לדוגמה.

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

שם הפרמטר סוג נתונים חובה תיאור
project_id מחרוזת נכון מזהה הפרויקט שמכיל את מופע Cloud SQL. לדוגמה, myproject.
database_region מחרוזת נכון אזור הענן של המופע, למשל us-central1.
instance_id מחרוזת נכון מזהה מופע של מסד נתונים. השם לא כולל את מזהה הפרויקט, למשל myinstance.
database_name מחרוזת נכון השם של מסד הנתונים במופע. לדוגמה, mydatabase.

קבלת עזרה מקהילת Google Cloud

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

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