Использование базы данных Azure SQL с Azure DevOps Server

Azure DevOps Server 2022 г. | Azure DevOps Server 2020 г. | Azure DevOps Server 2019 г.

Выполните действия, описанные в этой статье, чтобы настроить Azure DevOps Server с помощью базы данных Azure SQL. Эта топология содержит несколько дополнительных шагов по сравнению с использованием локального сервера SQL Server.

Требования

  • Azure SQL базу данных можно использовать только в Azure DevOps Server 2019 и более поздних версиях.
  • Необходимо установить Azure DevOps Server на виртуальной машине Azure.
  • На виртуальной машине должно быть включено управляемое системой удостоверение, которое используется для проверки подлинности в базе данных Azure SQL.
  • Виртуальная машина должна быть присоединена к домену, но не к рабочей группе.
  • Azure SQL базы данных должны быть отдельными базами данных. Управляемые экземпляры и эластичные пулы поддерживаются в Azure DevOps Server 2022 и более новых версиях.

Поддерживаются все номера SKU общего назначения и premium. Также поддерживаются номера SKU уровня "Стандартный" S3 и более поздних версий. Номера SKU "Базовый" и "Стандартный" S2 и ниже не поддерживаются. Azure DevOps Server конфигурации, использующие базу данных Azure SQL, не поддерживают старые SQL Server Reporting Services с функциями SQL Server Analysis Services отчетов. Вместо этого можно использовать Azure DevOps Analytics.

Обновление до Azure DevOps Server поддерживается только с Team Foundation Server 2015 и более поздней версии при использовании базы данных Azure SQL. Azure SQL база данных не поддерживает зашифрованные хранимые процедуры.

Настройка базы данных Azure SQL

  1. Настройте управляемое удостоверение на виртуальных машинах. В настоящее время поддерживаются только удостоверения, управляемые системой.

    Конфигурацию можно запустить с помощью всех стандартных механизмов, включая:

  2. Чтобы настроить новый экземпляр Azure DevOps Server, создайте две базы данных Azure SQL:

    • AzureDevOps_Configuration

    • AzureDevOps_DefaultCollection

      Примечание

      Этот шаг можно пропустить, если вы используете существующие базы данных для выполнения следующих действий:

      • Обновите новую версию Azure DevOps Server.
      • Перенос актуального экземпляра Azure DevOps Server в базу данных Azure SQL.
  3. Настройте проверку подлинности Azure Active Directory для сервера базы данных Azure SQL. Сделайте себя администратором Active Directory на сервере. Для выполнения оставшихся действий по настройке требуются разрешения администратора базы данных. Это разрешение можно изменить позже.

  4. Включите управляемое удостоверение или удостоверения, если вы используете несколько серверов, для входа в базу данных Azure SQL и предоставления ей соответствующих разрешений. Подключитесь к серверу базы данных с помощью SQL Server Management Studio. Подключение с помощью пользователя Azure Active Directory с проверкой подлинности Active Directory . Вы не сможете управлять пользователями Azure Active Directory при входе в базу данных Azure SQL с проверкой подлинности SQL.

    а. Выполните следующую команду T-SQL в master базе данных:

    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. Если вы обновляете или переносите существующие данные в базах данных, выберите I have existing databases to use for this Azure DevOps Server deployment (У меня есть существующие базы данных для этого развертывания Azure DevOps Server).

Когда вы перейдете на страницу База данных в мастере настройки, укажите Azure SQL экземпляр сервера базы данных. Как правило, экземпляр сервера имеет вид SQLInstanceName.database.windows.net.

Теперь у вас есть экземпляр Azure DevOps Server, который выполняется в базе данных Azure SQL.