SQL Server

您可以透過 SQL Server 連接器,在 SQL Server 資料庫上執行插入、刪除、更新和讀取作業。

支援的版本

SQL Server 版本:2008、2012、2014、2016、2017、2019 和 2022

事前準備

使用 SQL Server 連接器前,請先完成下列工作:

  • 在 Google Cloud 專案中:
    • 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
    • roles/connectors.admin IAM 角色授予設定連接器的使用者。
    • 將下列 IAM 角色授予要用於連接器的服務帳戶:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      服務帳戶是特殊的 Google 帳戶類型,主要用於代表需要驗證且必須取得授權才能存取 Google API 資料的非人類使用者。如果您沒有服務帳戶,請務必建立服務帳戶。詳情請參閱「建立服務帳戶」。

    • 啟用下列服務:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (連接器 API)

      如要瞭解如何啟用服務,請參閱「啟用服務」。

    如果先前未為專案啟用這些服務或權限,系統會在設定連接器時提示您啟用。

設定連接器

連線是特定資料來源的連線,也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:

  1. Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。

    前往「連線」頁面

  2. 按一下「+ 建立新連線」,開啟「建立連線」頁面。
  3. 在「位置」部分,選擇連線的位置。
    1. 區域:從下拉式清單中選取位置。

      如需所有支援地區的清單,請參閱「位置」一節。

    2. 點選「下一步」
  4. 在「連線詳細資料」部分中,完成下列操作:
    1. 連接器:從可用連接器的下拉式清單中選取「SQL Server」
    2. 連接器版本:從可用版本的下拉式清單中選取連接器版本。
    3. 在「Connection Name」欄位中,輸入連線例項的名稱。

      連線名稱必須符合下列條件:

      • 連線名稱可以使用英文字母、數字或連字號。
      • 字母必須為小寫。
      • 連線名稱的開頭必須為英文字母,結尾則須為英文字母或數字。
      • 連結名稱不得超過 49 個半形字元。
    4. 視需要輸入連線例項的「Description」(說明)
    5. 您可以選擇啟用 Cloud Logging,然後選取記錄層級。根據預設,記錄層級會設為 Error
    6. 服務帳戶:選取具備必要角色的服務帳戶。
    7. 視需要設定連線節點設定

      • 節點數量下限:輸入連線節點數量下限。
      • 節點數量上限:輸入連線節點數量上限。

      節點是用來處理交易的連線單位 (或備用資源)。處理的交易量越多,就需要越多節點;反之,處理的交易量越少,就需要越少節點。如要瞭解節點對連接器定價的影響,請參閱「 連線節點的定價」。如果您未輸入任何值,系統預設會將最小節點設為 2 (以提高可用性),並將最大節點設為 50。

    8. (選用) 在「進階設定」部分,選取「使用 Proxy」核取方塊,為連線設定 Proxy 伺服器,並設定下列值:
      • Proxy Auth Scheme:選取要用於 Proxy 伺服器驗證的驗證類型。支援下列驗證類型:
        • Basic:基本 HTTP 驗證。
        • Digest:Digest HTTP 驗證。
      • Proxy User:用於與 Proxy 伺服器進行驗證的使用者名稱。
      • Proxy Password:使用者密碼的 Secret Manager 密鑰。
      • Proxy SSL Type:連線至 Proxy 伺服器時要使用的 SSL 類型。支援下列驗證類型:
        • 自動:預設設定。如果網址是 HTTPS 網址,則會使用「隧道」選項。如果網址是 HTTP 網址,則會使用「從不」選項。
        • 一律:連線一律啟用 SSL。
        • Never:未啟用 SSL 連線。
        • 通道:透過通道 Proxy 建立連線。Proxy 伺服器會開啟與遠端主機的連線,並透過 Proxy 來回傳送流量。
      • 在「Proxy 伺服器」部分中,輸入 Proxy 伺服器的詳細資料。
        1. 按一下「+ 新增目的地」
        2. 選取目的地類型
          • 主機位址:指定目的地的主機名稱或 IP 位址。

            如要建立與後端系統的私人連線,請按照下列步驟操作:

    9. ApplicationIntent:應用程式意圖連線字串屬性表示用戶端應用程式要求將其導向可用性群組資料庫的讀寫或唯讀版本。如要使用唯讀轉送,用戶端必須在連線至可用性群組事件監聽器時,在連線字串中使用唯讀的應用程式意圖。如果沒有唯讀應用程式意圖,可用性群組事件監聽器的連線會導向主要複本上的資料庫。
    10. ApplicationName:應用程式名稱連線字串屬性會表示用戶端應用程式的名稱。
    11. 資料庫:SQL Server 資料庫的名稱。
    12. 加密:這個欄位可設定是否啟用 SSL。
    13. 您可以按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
    14. 如要使用 SSL,請選取「Enable SSL」。系統會顯示 SSL 設定詳細資料。
      1. 選取信任存放區類型。可以是「公開」、「私人」或「不安全的連線」
      2. 根據所選信任存放區,選取畫面上顯示的憑證。
      3. 如果您使用 mTLS,請在「Key Store」部分選取金鑰庫憑證。
    15. 點選「下一步」
  5. 在「目的地」部分,輸入要連線的遠端主機 (後端系統) 詳細資料。
    1. 目的地類型:選取目的地類型
      • 從清單中選取「主機位址」,指定目的地的主機名稱或 IP 位址。
      • 如果您想建立與後端系統的私人連線,請從清單中選取「Endpoint attachment」,然後從「Endpoint Attachment」清單中選取所需的端點附件。

      如果您想建立與後端系統的公開連線,並提供額外安全性,建議您為連線設定靜態外連 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址進入白名單。

      如要輸入其他目的地,請按一下「+ 新增目的地」

    2. 點選「下一步」
  6. 在「Authentication」部分中,輸入驗證詳細資料。
    1. 選取「驗證類型」並輸入相關詳細資料。

      SQL Server 連線支援下列驗證類型:

      • 使用者名稱和密碼
    2. 如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。

    3. 點選「下一步」
  7. 查看:查看連線和驗證詳細資料。
  8. 按一下 [建立]。

設定驗證機制

根據要使用的驗證方法輸入詳細資料。

  • 使用者名稱和密碼
    • 使用者名稱:連接器的使用者名稱
    • 密碼:Secret Manager 密鑰,內含與連接器相關聯的密碼。
    • 驗證配置:用於驗證的配置

實體、作業和動作

所有整合連接器都為已連結應用程式的物件提供一層抽象層。您只能透過這個抽象層存取應用程式的物件。抽象概念會以實體、作業和動作的形式提供給您。

  • 實體: 實體可視為已連結應用程式或服務中的物件或屬性集合。實體的定義與連接器至連接器的定義不同。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。

    不過,連接器可能不支援或沒有任何實體,在這種情況下,Entities 清單會是空白。

  • 作業: 作業是指您可對實體執行的活動。您可以對實體執行下列任一操作:

    從可用清單中選取實體後,系統會產生可用於該實體的作業清單。如需作業的詳細說明,請參閱連接器工作中的實體作業。不過,如果連接器不支援任何實體作業,則 Operations 清單中不會列出這些不支援的作業。

  • 動作: 動作是透過連接器介面提供給整合項目的一流函式。動作可讓您變更實體或多個實體,而變更方式因連接器而異。通常,動作會包含一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,在這種情況下,Actions 清單會是空白。

系統限制

SQL Server 連接器每個節點每秒最多可處理 90 筆交易,並限制超過此上限的任何交易。根據預設,Integration Connectors 會為連線分配 2 個節點 (以提高可用性)。

如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一節。

支援的資料類型

以下為此連接器支援的資料類型:

  • BIGINT
  • BINARY
  • BIT
  • BOOLEAN
  • CHAR
  • DATE
  • DECIMAL
  • DOUBLE
  • FLOAT
  • INTEGER
  • LONGN VARCHAR
  • LONG VARCHAR
  • NCHAR
  • NUMERIC
  • NVARCHAR
  • REAL
  • SMALL INT
  • 時間
  • TIMESTAMP
  • TINY INT
  • VARBINARY
  • VARCHAR

動作

這個連接器支援執行下列動作:

  • 使用者定義的預存程序和函式。如果後端有任何儲存程序和函式,這些項目會列在 Configure connector task 對話方塊的 Actions 欄中。
  • 自訂 SQL 查詢。為了執行自訂 SQL 查詢,連接器會提供「執行自訂查詢」動作。

    如要建立自訂查詢,請按照下列步驟操作:

    1. 按照詳細操作說明 新增連接器工作
    2. 設定連接器工作時,請在要執行的動作類型中選取「動作」
    3. 在「Action」清單中,選取「Execute custom query」,然後按一下「Done」

      顯示「execute-custom-query-action」的圖片 顯示「execute-custom-query-action」的圖片

    4. 展開「Task input」部分,然後執行下列操作:
      1. 在「Timeout after」欄位中,輸入要等待多久時間才執行查詢。

        預設值:180 秒。

      2. 在「資料列數量上限」欄位中,輸入要從資料庫傳回的資料列數量上限。

        預設值:25

      3. 如要更新自訂查詢,請按一下「編輯自訂指令碼」。系統會開啟「Script editor」對話方塊。

        顯示自訂 SQL 查詢的圖片 顯示自訂 SQL 查詢的圖片

      4. 在「Script editor」對話方塊中輸入 SQL 查詢,然後按一下「Save」

        您可以在 SQL 陳述式中使用問號 (?) 代表單一參數,該參數必須在查詢參數清單中指定。舉例來說,下列 SQL 查詢會選取 Employees 資料表中與 LastName 資料欄指定值相符的所有資料列:

        SELECT * FROM Employees where LastName=?

      5. 如果您在 SQL 查詢中使用了問號,請按一下每個問號旁的「+ 新增參數名稱」,新增參數。執行整合作業時,這些參數會依序取代 SQL 查詢中的問號 (?)。舉例來說,如果您新增了三個問號 (?),就必須依序新增三個參數。

        顯示 add-query-param 的圖片 顯示 add-query-param 的圖片

        如要新增查詢參數,請按照下列步驟操作:

        1. 在「類型」清單中,選取參數的資料類型。
        2. 在「Value」欄位中輸入參數的值。
        3. 如要新增多個參數,請按一下「+ 新增查詢參數」

使用 Terraform 建立連線

您可以使用 Terraform 資源建立新的連線。

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

如要查看建立連線的範例 Terraform 範本,請參閱範例範本

使用 Terraform 建立這項連線時,您必須在 Terraform 設定檔中設定下列變數:

參數名稱 資料類型 必填 說明
application_intent STRING 應用程式意圖連結字串屬性表示用戶端應用程式要求將其導向可用性群組資料庫的讀寫或唯讀版本。如要使用唯讀轉送,用戶端必須在連線至可用性群組事件監聽器時,在連線字串中使用唯讀的應用程式意圖。如果沒有唯讀應用程式意圖,可用性群組事件監聽器的連線會導向主要複本上的資料庫。
application_name STRING 應用程式名稱連線字串屬性會表示用戶端應用程式的名稱。
資料庫 STRING SQL Server 資料庫的名稱。
加密 BOOLEAN 這個欄位會設定是否啟用 SSL。
enable_logging ENUM 選取 1 (最簡短) 到 5 (最詳細) 之間的層級,即可在連線期間啟用詳細記錄。這項功能可協助您排除錯誤訊息或其他非預期行為。不過,請注意,這個選項會記錄連接器與後端之間的所有通訊詳細資料,包括要求、回應和 SSL 憑證。因此,不建議在實際工作環境中使用這項功能。支援的值為:1、2、3、4、5
proxy_enabled BOOLEAN 選取這個核取方塊,即可為連線設定 Proxy 伺服器。
proxy_auth_scheme ENUM 用於向 ProxyServer Proxy 驗證的驗證類型。支援的值如下:BASIC、DIGEST、NONE
proxy_user STRING 用於向 ProxyServer Proxy 驗證的使用者名稱。
proxy_password SECRET 用於驗證 ProxyServer Proxy 的密碼。
proxy_ssltype ENUM 連線至 ProxyServer Proxy 時要使用的 SSL 類型。支援的值為:AUTO、ALWAYS、NEVER、TUNNEL

在整合中使用 SQL Server 連線

建立連線後,Apigee Integration 和 Application Integration 都會提供這項連線。您可以透過「連接器」工作,在整合中使用連線。

  • 如要瞭解如何在 Apigee Integration 中建立及使用連接器工作,請參閱「連接器工作」。
  • 如要瞭解如何在 Application Integration 中建立及使用連接器工作,請參閱「連接器工作」。

此外,請參閱「在 MySQL 資料庫上執行 CRUD 作業」教學課程,瞭解如何建立 MySQL 連線,並在整合中使用連線執行讀取和寫入作業。

向 Google Cloud 社群尋求協助

如有任何問題,歡迎在 Cloud 論壇中發問並討論這個連接器。

後續步驟