Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Server | Azure DevOps Server |Azure DevOps Server 2022 | Azure DevOps Server 2020
Выполните действия, описанные в этой статье, чтобы настроить Azure DevOps Server с База данных SQL Azure. Эта топология имеет несколько дополнительных шагов по сравнению с использованием локального СЕРВЕРА SQL Server.
Необходимые условия
| Категория | Требования |
|---|---|
| Версия Azure DevOps Server | База данных SQL Azure можно использовать только с Azure DevOps Server 2019 и более поздними версиями. |
| Среда установки | Azure DevOps Server, установленный на виртуальной машине Azure. |
| Аутентификация | Виртуальная машина имеет управляемое системой удостоверение, которое используется для проверки подлинности в базе данных SQL Azure. |
| Членство в домене | Виртуальная машина присоединена к домену, но не рабочей группе. |
| Тип базы данных | Базы данных SQL Azure — это отдельные базы данных. Управляемые экземпляры и эластичные пулы поддерживаются в Azure DevOps Server 2022 и более поздней версии. |
| правила брандмауэра | Правила брандмауэра базы данных SQL Azure разрешают входящий трафик из IP-адреса или подсети, где размещен сервер Azure DevOps Server. Для этого перейдите на портал Azure >SQL Database Azure>Параметры>Брандмауэры и виртуальные сети>, добавьте новое правило, чтобы разрешить доступ с вашего общедоступного IP-адреса или подсети Azure DevOps Server. |
| Инструменты | — База данных SQL Azure подготовлена и доступна из Azure. Запись имени сервера, имени базы данных и метода проверки подлинности. — Azure DevOps Server 2022, работающий в локальной среде. — SSMS, установленный на том же компьютере, где установлен сервер Azure DevOps. |
Поддерживаются все SKU общего назначения и премиум-класса, а также стандартные SKU S3 и выше. Однако базовые SKU и SKU Standard S2 не поддерживаются.
Конфигурации Azure DevOps Server, использующие базу данных SQL Azure, не поддерживают устаревшие службы SQL Server Reporting Services с функциями отчетов SQL Server Analysis Services. Вместо этого можно использовать Azure DevOps Analytics для создания отчетов и аналитики.
База данных SQL Azure не поддерживает зашифрованные хранимые процедуры.
Настроить базу данных SQL Azure
Настройте управляемую идентификацию на виртуальных машинах. В настоящее время мы поддерживаем только удостоверения личности, управляемые системой.
Конфигурацию можно запустить с помощью всех стандартных механизмов, включая следующие:
Чтобы настроить новый экземпляр Azure DevOps Server, создайте две базы данных SQL Azure:
- AzureDevOps_Конфигурация
- AzureDevOps_DefaultCollection
Настройте проверку подлинности идентификатора Microsoft Entra для сервера базы данных SQL Azure. Сделайте себя администратором Microsoft Entra на сервере. Для выполнения оставшихся действий по настройке потребуется разрешение администратора базы данных. Вы можете изменить это разрешение позже.
a. Выполните следующую команду T-SQL в основной базе данных. Замените VMName именем виртуальной машины, управляемое удостоверение которой вы добавляете в базу данных:
CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [dbmanager] ADD MEMBER [VMName]б. Выполните следующую команду T-SQL в конфигурации и всех базах данных коллекции:
CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [db_owner] ADD MEMBER [VMName] ALTER USER [VMName] WITH DEFAULT_SCHEMA=dboТеперь ваша база данных позволяет вашей виртуальной машине взаимодействовать через управляемую идентификацию.
Примечание.
Если вы вносите изменения в виртуальную машину Azure, например восстанавливаете снимок или переименовываете виртуальную машину, чтобы восстановить подключение:
- Удалите пользователя [VMName] из основной базы данных и всех баз данных Azure DevOps. Если [VMName] владеет объектами базы данных, возможно, потребуется изменить владельца на другого пользователя, например DBO, а затем вернуться после следующего шага.
- Повторно выполните указанные ранее запросы SQL с текущим [VMName], даже если оно не изменилось.
- Перезапустите службы Azure DevOps Server.
Настройка Сервера Azure DevOps
Вернитесь к мастеру настройки Azure DevOps Server. Если вы настроили новый экземпляр, выберите Это новое развертывание Azure DevOps Server. Если вы обновляете или переносите, и у вас имеются данные в базах данных, выберите У меня есть существующие базы данных для использования в этом развертывании Azure DevOps Server.
Когда вы перейдете на страницу Базы данных в мастере настройки, укажите экземпляр сервера базы данных SQL Azure. Как правило, экземпляр сервера находится в виде SQLInstanceName.database.windows.net.
Теперь у вас есть экземпляр Azure DevOps Server, работающий на База данных SQL Azure.
Подключение к базе данных SQL Azure из локальной среды SSMS
Выполните следующие действия, чтобы подключиться к базе данных SQL Azure из локальной среды SSMS:
Экспорт через SQL Server Management Studio (SSMS) с виртуальной машины, работающей в той же виртуальной сети, что и частная конечная точка, из SQL в хранилище BLOB-объектов или общую папку.
Вы можете использовать мастер экспорта приложений уровня данных SQL Server Management Studio для экспорта базы данных SQL Azure в BACPAC-файл. Bacpac-файл можно хранить в хранилище BLOB-объектов Azure или общей папке.
Щелкните правой кнопкой мыши базу данных SQL на логическом сервере SQL Server в SSMS в >Задачи>мастера экспорта приложения уровня данных.
Выберите Далее.
Выберите расположение для хранения BACPAC-файла.
Выберите Закрыть.
Пакеты DAC находятся здесь: C:\Users\{sample-user-name}\OneDrive - Microsoft\Documents\SQL Server Management Studio\DAC Packages.
Подключение базы данных SQL Azure из Azure DevOps Server 2022
Подключение базы данных SQL Azure из Azure DevOps Server 2022 (локальная среда) включает настройку доступа, обеспечение подключения и использование соответствующих учетных данных. Выполните следующие действия, чтобы подключить базу данных SQL Azure из Azure DevOps Server 2022.
Подключение к базе данных SQL Azure
Получение сведений о подключении к базе данных SQL Azure:
- Имя сервера:
<your-server-name>.database.windows.net - Имя базы данных:
<your-database-name> - Метод проверки подлинности: проверка подлинности SQL Server (имя пользователя или пароль) или проверка подлинности Идентификатора Microsoft Entra.
- Имя сервера:
Подключиться с помощью средства SQL Server Management Studio (SSMS): a. Откройте SQL Server Management Studio на компьютере, на котором установлен Azure DevOps Server. б. Подключение к базе данных SQL Azure: c. Запустите SSMS. д. В окне "Подключение к серверу":
- Введите имя сервера:
<your-server-name>.database.windows.net - Выберите способ проверки подлинности: SQL Server Authentication.
- Введите имя пользователя и пароль.
- Выберите Connect. после подключения база данных SQL Azure отображается в обозревателе объектов в SSMS.
- Введите имя сервера:
Проверка подключения: Выполните запрос или команду в SSMS:
SELECT @@VERSION;Этот запрос возвращает версию SQL Server базы данных SQL Azure, убедив, что подключение выполнено успешно.
Использовать подключение в Azure DevOps Server: после проверки подключения из SSMS можно использовать это подключение в Azure DevOps Server для различных задач, таких как:
- Автоматизированные развертывания. Настройка конвейеров выпуска в Azure DevOps Server для развертывания изменений базы данных.
- Миграция данных. Использование скриптов SQL или средств данных, интегрированных с Azure DevOps Server.
- Непрерывная интеграция. Интеграция изменений базы данных в конвейеры CI/CD.
Совет
- Быть безопасным: рекомендуется использовать идентификатор Microsoft Entra для более безопасного доступа.
- Управление учетными данными: Безопасно хранить учетные данные и избегать их хардкодинга в сценариях или конфигурациях.
- Монитор: Необходимо отслеживать подключения к базе данных и их использование, чтобы обеспечить безопасность и производительность.
Подключите базу данных SQL Azure из Azure DevOps Server 2022 под управлением локальной среды, обеспечивая упрощенное управление базами данных и интеграцию с процессами разработки и развертывания. Настройте конфигурации и меры безопасности на основе политик и требований вашей организации.
Подключайтесь к базе данных Azure SQL в Azure DevOps Server 2022
подготовка сервера Azure DevOps:
a. Убедитесь, что в локальной среде установлен и настроен Azure DevOps Server 2022.</
b. Доступ к серверу Azure DevOps с соответствующими разрешениями для создания конвейеров и управления ими.настройка проекта и репозитория Azure DevOps (если это еще не сделано):
a. Создайте новый или используйте существующий проект Azure DevOps.
б. Настройте репозиторий Git или TFVC для хранения определений и скриптов конвейера.Создание конвейерной линии:
a. Перейдите в проект Azure DevOps.
б. Выберите Конвейеры>Конвейеры>Новый конвейер.
с. Выберите соответствующий шаблон конвейера в зависимости от ваших требований. Для базы данных SQL Azure можно начать с пустого задания или выбрать шаблон, соответствующий потребностям развертывания (например, Azure Pipeline).
д. Измените файл YAML конвейера или используйте классический редактор для определения этапов и задач конвейера.Добавление задач для развертывания в базе данных SQL Azure:
задача : развертывание базы данных SQL Server: использовать задачу
SqlAzureDacpacDeploymentдля развертывания изменений в базе данных SQL Azure. Пример фрагмента КОДА YAML:steps: - task: SqlAzureDacpacDeployment@1 inputs: azureSubscription: 'YourServiceConnectionName' # Use your Azure SQL Database service connection serverName: '<your-server-name>.database.windows.net' databaseName: '<your-database-name>' deployType: 'DacpacTask' authenticationType: 'server' sqlUsername: '$(sqlUsername)' sqlPassword: '$(sqlPassword)'Замените
<your-server-name>,<your-database-name>,$(sqlUsername)и$(sqlPassword)соответствующими значениями или переменными.задача : SQL-запрос Azure: использовать задачу
AzureSqlQueryдля выполнения запросов SQL в базе данных SQL Azure. Пример фрагмента КОДА YAML:steps: - task: AzureSqlQuery@1 inputs: azureSubscription: 'YourServiceConnectionName' # Use your Azure SQL Database service connection serverName: '<your-server-name>.database.windows.net' databaseName: '<your-database-name>' sqlUsername: '$(sqlUsername)' sqlPassword: '$(sqlPassword)' sqlQuery: 'SELECT * FROM TableName'
безопасное управление учетными данными: использовать переменные Azure DevOps или интеграцию Azure Key Vault для управления конфиденциальными данными, такими как учетные данные SQL Server (
sqlUsernameиsqlPassword).Запуск и выполнение конвейера :
- Сохраните и зафиксируйте изменения конвейера.
- Активируйте конвейер вручную или настройте триггеры (например, фиксация кода, расписание) в соответствии с стратегией развертывания.
Мониторинг выполнения конвейера:
- Мониторинг выполнения конвейерных процессов в Azure DevOps для успешного развертывания в базе данных Azure SQL.
- Просмотрите журналы и выходные данные для устранения неполадок во время развертывания.
Совет
- Интеграция с потоками выпуска: Интегрировать ваш конвейер сборки с потоками выпуска для более сложных сценариев развертывания и подтверждения.
- Внести добавочные изменения в базу данных: Использовать такие средства, как SQL Server Data Tools (SSDT) или миграцию для управления добавочными изменениями в схеме базы данных.
- Использовать управление версиями: сохранить скрипты SQL и изменения базы данных под управлением версиями для отслеживания изменений и обеспечения воспроизводимости.
Настройте конфигурации и задачи на основе конкретных потребностей развертывания и требований организации.
Создание резервной копии SQL Server
Создание резервного копирования SQL Server для Azure DevOps Server 2022 с помощью консоли администрирования сервера Azure DevOps server включает настройку параметров резервного копирования и планирование регулярных резервных копий. Выполните следующие действия, чтобы создать резервную копию SQL Server.
Предварительные требования для резервного копирования
| Категория | Требования |
|---|---|
| Доступ | администратор доступ к серверу, на котором установлен сервер Azure DevOps. |
| разрешения | Разрешение на настройку резервных копий и доступ к SQL Server Management Studio. |
Создание резервного копирования
Откройте консоль администрирования Azure DevOps Server на сервере с установленной Azure DevOps Server и выберите уровень приложений>запланированные резервные копии>создание запланированных резервных копий.
Введите путь к резервному копированию сети, затем выберите Далее.
Выберите желаемые оповещения электронной почты, а затем нажмите Далее.
Выберите расписание резервного копирования в соответствии с вашими требованиями, а затем выберите Далее.
Подтвердите параметры конфигурации и выберите Проверить.
Мастер резервного копирования проверяет, существует ли путь резервного копирования и является сетевым путем.
Устранение ошибок
Если произошел сбой проверки готовности, ознакомьтесь со следующими сведениями по устранению неполадок.
Ошибка: доступ к учетной записи службы
сообщение об ошибке:TF401009: The Azure DevOps service account NT AUTHORITY\LOCAL SERVICE cannot access network shares. Change to an account that can access the backup path. эта ошибка возникает, когда учетная запись службы — NT AUTHORITY\LOCAL SERVICE.
Решение :
Создайте локального пользователя с необходимыми разрешениями на доступ.
В консоли администрирования сервера Azure DevOps перейдите на экран уровня приложений и выберите изменить учетную запись.
Измените учетную запись службы на только что созданную локальную учетную запись пользователя.
Повторите процесс резервного копирования, чтобы успешно создать резервную копию и повторно запустить проверки готовности.
Успешная конфигурация резервного копирования:
Запланированные журналы резервного копирования:
Запланированные резервные копии консоли администрирования:
Ошибка: файл журнала
Пример расположения файла журнала:
C:\ProgramData\Microsoft\Azure DevOps\Server Configuration\Logs\Azure_DevOps_Server_Scheduled Backups_0627_192409.log
Пример сообщения об ошибке файла журнала:
[7/1/2024 7:28:37 AM] [Error]``Exception Message: The backup of the file or filegroup "LeadingKey" is not permitted because it is not online. Container state: "Offline" (7). Restore status: 0. BACKUP can be performed by using the FILEGROUP or FILE clauses to restrict the selection to include only online data.``BACKUP DATABASE is terminating abnormally. (type SqlException)
Решение :
Перед выполнением резервного копирования убедитесь, что все файловые группы находятся в сети.
пример LeadingKeyOffline:
Протестируйте процесс резервного копирования с помощью запросов SQL для выявления и устранения проблем с определенными файловыми группами.