Używanie Azure SQL Database z Azure DevOps Server

Azure DevOps Server 2020 | Azure DevOps Server 2019 r.

Kroki opisane w tym artykule, aby skonfigurować Azure DevOps Server użyciu Azure SQL Database. Ta topologia ma kilka dodatkowych kroków w porównaniu z użyciem lokalnego SQL serwera.

Wymagania

  • Azure SQL Database można używać tylko z Azure DevOps Server 2019 i nowszymi wersjami.

  • Azure SQL Database można używać z usługą Azure DevOps Server tylko w przypadku korzystania z usługi Azure Virtual Machines, które są przyłączone do domeny.

    Uwaga

    Głównym powodem tego ograniczenia jest to, że łączność między Azure DevOps Server i Azure SQL Database jest osiągana przy użyciu tożsamości usługi zarządzanej. Korzystanie z tożsamości usługi zarządzanej pozwala uniknąć konieczności SQL uwierzytelniania oraz przechowywania nazw użytkowników i haseł, co stanowi zagrożenie bezpieczeństwa.

  • Bazy SQL Azure muszą być pojedynczymi bazami danych. Wystąpienia zarządzane i elastyczne pule nie są obsługiwane.

Obsługiwane są Ogólnego przeznaczenia i Premium SKU. Obsługiwane są również standardowe jednostki SKU S3 i wyższe. Podstawowe jednostki SKU i Standardowe jednostki SKU S2 i poniższe nie są obsługiwane. Azure DevOps Server, które używają Azure SQL Database, nie obsługują starszych wersji SQL Server Reporting Services z SQL Server Analysis Services raportowania. Zamiast tego można użyć usługi Azure DevOps Analytics.

Uaktualnienie do Azure DevOps Server jest obsługiwane tylko w Team Foundation Server 2015 i nowszej wersji w przypadku korzystania z Azure SQL Database. Azure SQL Database nie obsługuje zaszyfrowanych procedur składowanych.

Konfigurowanie Azure SQL Database

  1. Skonfiguruj tożsamość zarządzaną na maszynach wirtualnych. Obecnie obsługujemy tylko tożsamości zarządzane przez system.

    Konfigurację można uruchomić przy użyciu wszystkich standardowych mechanizmów, w tym:

  2. Aby skonfigurować nowe wystąpienie Azure DevOps Server, utwórz dwie bazy danych usługi Azure SQL bazy danych:

    • AzureDevOps_Configuration

    • AzureDevOps_DefaultCollection

      Uwaga

      Możesz pominąć ten krok, jeśli używasz istniejących baz danych do jednej z tych czynności:

      • Uaktualnij nową wersję Azure DevOps Server.
      • Migrowanie aktualnego wystąpienia Azure DevOps Server do Azure SQL Database.
  3. Skonfiguruj Azure Active Directory uwierzytelniania dla Azure SQL Database serwera. Zrób sobie administratora usługi Active Directory na serwerze. Do wykonania pozostałych kroków konfiguracji potrzebne są uprawnienia administratora bazy danych. To uprawnienie można później zmienić.

  4. Włącz tożsamość zarządzaną lub tożsamości, jeśli używasz wielu serwerów, aby zalogować się do bazy danych usługi Azure SQL i nadać jej odpowiednie uprawnienia. Połączenie z serwerem bazy danych przy użyciu programu SQL Server Management Studio. Połączenie przy użyciu konta Azure Active Directory z uwierzytelnianiem usługi Active Directory. Nie można manipulować danymi Azure Active Directory, jeśli zalogujesz się do Azure SQL Database w SQL uwierzytelniania.

    a. Uruchom następujące polecenie T-SQL w bazie master danych:

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

    Zastąp wartość VMName nazwą maszyny wirtualnej, której tożsamość zarządzaną dodasz do bazy danych.

    b. Uruchom następujące polecenie T-SQL konfiguracji i wszystkich bazach danych kolekcji:

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

Konfigurowanie Azure DevOps Server

Wróć do kreatora Azure DevOps Server konfiguracji aplikacji. Jeśli skonfigurujesz nowe wystąpienie, wybierz pozycję To jest nowe Azure DevOps Server wdrożenia. Jeśli uaktualniasz lub migrujesz i masz istniejące dane w bazach danych, wybierz pozycję Mam istniejące bazy danych do użycia na Azure DevOps Server wdrożenia.

Po dojech na stronę Baza danych w kreatorze konfiguracji określ Azure SQL Database serwera. Zazwyczaj wystąpienie serwera ma postać SQLInstanceName.database.windows.net.

Masz teraz wystąpienie Azure DevOps Server uruchamiane na Azure SQL Database.