搭配Azure DevOps Server使用 Azure SQL 資料庫

Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019

使用本文中的步驟,使用 Azure SQL Database 來設定Azure DevOps Server。 相較于使用內部部署 SQL Server,此拓撲有一些額外的步驟。

規格需求

  • Azure SQL Database 只能與 Azure DevOps Server 2019 和更新版本搭配使用。
  • 您必須在 Azure VM 上安裝Azure DevOps Server。
  • VM 必須啟用系統管理的識別,以用來向Azure SQL資料庫進行驗證。
  • VM 必須加入網域,但不能加入工作組。
  • Azure SQL資料庫必須是單一資料庫。 自 2020 年Azure DevOps Server起,不支援受控實例和彈性集區。

支援所有常規用途和進階 SKU。 也支援標準 SKU S3 和更新版本。 不支援基本 SKU 和標準 SKU S2 和以下版本。 使用 Azure SQL Database 的Azure DevOps Server組態不支援具有SQL Server Analysis Services報告功能的較舊SQL Server Reporting Services。 相反地,您可以使用 Azure DevOps Analytics

當您使用 Azure SQL Database 時,僅支援從 Team Foundation Server 2015 和更新版本升級至 Azure DevOps Server。 Azure SQL Database 不支援加密預存程式。

設定 Azure SQL 資料庫

  1. 在虛擬機器上設定受控識別。 我們目前僅支援系統管理的身分識別。

    您可以使用所有標準機制來執行組態,包括:

  2. 若要設定新的Azure DevOps Server實例,請建立兩個Azure SQL資料庫:

    • AzureDevOps_Configuration

    • AzureDevOps_DefaultCollection

      注意

      如果您使用現有的資料庫來略過此步驟::

      • 升級新版本的 Azure DevOps Server。
      • 將 Azure DevOps Server 的最新實例移轉至 Azure SQL 資料庫。
  3. 為您的Azure SQL資料庫伺服器設定Azure Active Directory 驗證。 將自己設定為伺服器上的 Active Directory 系統管理員。 您需要資料庫的系統管理員許可權,才能完成其餘的設定步驟。 您稍後可以變更此許可權。

  4. 如果您使用多部伺服器,請啟用受控識別或身分識別,以登入您的Azure SQL資料庫,並授與適當的許可權。 使用SQL Server Management Studio連接到資料庫伺服器。 使用 Azure Active Directory 使用者搭配 Active Directory 驗證進行連線。 如果您在 SQL 驗證下登入 Azure SQL Database,則無法操作 Azure Active Directory 使用者。

    a. 在資料庫上 master 執行下列 T-SQL 命令:

    CREATE USER [VMName] FROM EXTERNAL PROVIDER
    ALTER ROLE [dbmanager] ADD MEMBER [VMName]
    

    VMName 取代為您新增至資料庫之受控識別的虛擬機器名稱。

    b. 在組態和所有集合資料庫上執行下列 T-SQL 命令:

    CREATE USER [VMName] FROM EXTERNAL PROVIDER  
    ALTER ROLE [db_owner] ADD MEMBER [VMName]  
    ALTER USER [VMName] WITH DEFAULT_SCHEMA=dbo  
    

設定Azure DevOps Server

返回Azure DevOps Server設定精靈。 如果您設定新的實例,請選取[這是新的Azure DevOps Server部署]。 如果您升級或移轉,並在資料庫中有現有的資料,請選取[我有現有的資料庫要用於此Azure DevOps Server部署

當您進入組態精靈中的 [資料庫]頁面時,請指定Azure SQL資料庫伺服器實例。 一般而言,伺服器實例的格式為 SQLInstanceName.database.windows.net

您現在有在 Azure SQL Database 上執行的Azure DevOps Server實例。