Usar o Banco de Dados SQL do Azure com Azure DevOps Server
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Use as etapas neste artigo para configurar Azure DevOps Server com o Banco de Dados SQL do Azure. Essa topologia tem algumas etapas adicionais em comparação com o uso de um SQL Server local.
Requisitos
- O Banco de Dados SQL do Azure só pode ser usado com Azure DevOps Server 2019 e versões posteriores.
- Você deve instalar o Azure DevOps Server na VM do Azure.
- A VM deve ter a identidade gerenciada pelo sistema habilitada, que é usada para autenticar no banco de dados SQL do Azure.
- A VM deve ser adicionada a um domínio, mas não a um grupo de trabalho.
- Os bancos de dados SQL do Azure devem ser bancos de dados individuais. Há suporte para instâncias gerenciadas e pools elásticos em Azure DevOps Server 2022 e mais recente.
Todos os SKUs de uso geral e premium são suportados. Os SKUs padrão S3 e superiores também são suportados. Não há suporte para SKUs básicos e SKUs padrão S2 e inferiores. As configurações do Azure DevOps Server que usam o Banco de Dados SQL do Azure não dão suporte a versões mais antigas do SQL Server Reporting Services com funcionalidades de relatórios do SQL Server Analysis Services. Em vez disso, você pode usar o Azure DevOps Analytics.
A atualização para Azure DevOps Server tem suporte apenas do Team Foundation Server 2015 e mais recente quando você usa o Banco de Dados SQL do Azure. O Banco de Dados SQL do Azure não dá suporte a procedimentos armazenados criptografados.
Configurar o Banco de Dados SQL do Azure
Configure uma identidade gerenciada em suas máquinas virtuais. No momento, só oferecemos suporte a identidades gerenciadas pelo sistema.
Você pode executar a configuração usando todos os mecanismos padrão, incluindo:
Para configurar uma nova instância Azure DevOps Server, crie dois bancos de dados SQL do Azure:
AzureDevOps_Configuration
AzureDevOps_DefaultCollection
Observação
Você pode ignorar esta etapa se usar bancos de dados existentes para:
- Atualize uma nova versão do Azure DevOps Server.
- Migre uma instância atualizada de Azure DevOps Server para o Banco de Dados SQL do Azure.
Configure a autenticação do Azure Active Directory no servidor do Banco de Dados SQL do Azure. Torne-se o administrador do Active Directory no servidor. Você precisa de permissões de administrador no banco de dados para concluir as etapas de configuração restantes. Você pode alterar essa permissão mais tarde.
Habilite sua identidade gerenciada, ou identidades se você usar vários servidores, para entrar no banco de dados SQL do Azure e conceder a ele as permissões apropriadas. Conecte-se ao servidor de banco de dados usando o SQL Server Management Studio. Conecte-se usando um usuário do Azure Active Directory com autenticação do Active Directory . Você não poderá manipular usuários do Azure Active Directory se entrar no Banco de Dados SQL do Azure em Autenticação SQL.
a. Execute o seguinte comando T-SQL no
main
banco de dados:CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [dbmanager] ADD MEMBER [VMName]
Substitua VMName pelo nome da máquina virtual cuja identidade gerenciada você adiciona ao banco de dados.
b. Execute o seguinte comando T-SQL na configuração e em todos os bancos de dados de coleção:
CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [db_owner] ADD MEMBER [VMName] ALTER USER [VMName] WITH DEFAULT_SCHEMA=dbo
Configurar Azure DevOps Server
Retorne ao assistente de configuração Azure DevOps Server. Se você configurar uma nova instância, selecione Esta é uma nova implantação do Azure DevOps Server. Se você atualizar ou migrar e tiver dados existentes em seus bancos de dados, selecione Tenho bancos de dados existentes para usar para esta implantação Azure DevOps Server.
Quando você chegar à página Banco de Dados no assistente de configuração, especifique a instância do servidor do Banco de Dados SQL do Azure. Normalmente, a instância do servidor está na forma de SQLInstanceName.database.windows.net.
Agora você tem uma instância Azure DevOps Server que é executada no Banco de Dados SQL do Azure.
Conectar-se a um banco de dados SQL do Azure a partir do SQL Server Management Studio local
Execute as seguintes etapas para se conectar a um banco de dados SQL do Azure do seu SSMS local:
Exporte através do SQL Server Management Studio usando o SSMS da VM que está em execução na mesma VNET que um ponto de extremidade privado do SQL para armazenamento de blobs ou compartilhamento de arquivos.
Você pode usar o Assistente de Exportação de Aplicativo de Nível de Dados do SQL Server Management Studio para exportar o banco de dados SQL do Azure para um arquivo .bacpac. Você pode armazenar o arquivo .bacpac no armazenamento de blobs ou no compartilhamento de arquivos do Azure.
Selecione com o botão direito do mouse o Banco de Dados SQL no SQL Server lógico no SSMS>Tarefas>Assistente de exportação de aplicativo da camada de dados.
Selecione Próximo.
Selecione o local para armazenar o arquivo BACPAC.
Selecione Fechar.
Os pacotes da DAC estão localizados aqui: C:\Users\{sample-user-name}\OneDrive - Microsoft\Documents\SQL Server Management Studio\DAC Packages
.
Conectar o Banco de Dados SQL do Azure ao Azure DevOps Server 2022
Conectar o Banco de Dados SQL do Azure do Azure DevOps Server 2022 (local) envolve configurar o acesso, garantir a conectividade e usar as credenciais apropriadas. Execute as etapas a seguir para conectar ao Azure SQL Database a partir do Azure DevOps Server 2022.
Pré-requisitos
Categoria | Requisitos |
---|---|
Regras de firewall | As regras de firewall do Banco de Dados SQL do Azure permitem conexões de entrada do endereço IP ou da sub-rede em que o Servidor do Azure DevOps está hospedado. Para fazer isso, acesse: portal do Azure>Azure SQL Database>Configurações>Firewalls e redes virtuais> e adicione uma nova regra para permitir acesso a partir do endereço IP público ou sub-rede do Azure DevOps Server. |
Ferramentas | – Banco de Dados SQL do Azure provisionado e acessível do Azure. Registro do nome do servidor, nome do banco de dados e método de autenticação. – Azure DevOps Server 2022 em execução em seu ambiente local. – SSMS instalado no mesmo computador em que o Servidor de DevOps do Azure está instalado. |
Conectar-se ao Banco de Dados SQL do Azure
Obter detalhes da conexão do Banco de Dados SQL do Azure:
- Nome do servidor:
<your-server-name>.database.windows.net
- Nome do banco de dados:
<your-database-name>
- Método de autenticação: Autenticação do SQL Server (nome de usuário/senha) ou autenticação da ID do Microsoft Entra.
- Nome do servidor:
Conectar usando o SSMS (SQL Server Management Studio): um. Abra o SQL Server Management Studio no computador em que o Azure DevOps Server está instalado. b. Conectar-se ao Banco de Dados SQL do Azure: c. Inicie o SSMS. d. Na janela Conectar ao Servidor:
- Insira o nome do servidor:
<your-server-name>.database.windows.net
- Escolha Autenticação: Autenticação do SQL Server.
- Insira seu Nome de Usuário e Senha.
- Selecione Conectar. Uma vez conectado, o Banco de Dados SQL do Azure é listado no Pesquisador de Objetos no SSMS.
- Insira o nome do servidor:
Testar conectividade: executar uma consulta ou comando no SSMS para verificar a conectividade:
SELECT @@VERSION;
Essa consulta retorna a versão do SQL Server do Banco de Dados SQL do Azure, confirmando que a conexão foi bem-sucedida.
Usar a conexão no Servidor do Azure DevOps: Depois de verificar a conectividade do SSMS, você poderá usar essa conexão no Servidor do Azure DevOps para várias tarefas, como:
- Implantações automatizadas: configure pipelines de liberação no Azure DevOps Server para implantar alterações de banco de dados.
- Migração de dados: use scripts SQL ou ferramentas de dados integradas ao Azure DevOps Server.
- Integração contínua: integre as alterações de banco de dados nos seus pipelines de CI/CD.
Dica
- Ser seguro: Considere usar a ID do Microsoft Entra para obter acesso mais seguro.
- Gerenciar credenciais: Armazene as credenciais com segurança e evite codificá-las em scripts ou configurações.
- Monitor: Monitorar conexões de banco de dados e o uso, garantindo assim a segurança e o desempenho.
Conecte o Banco de Dados SQL do Azure do Azure DevOps Server 2022 em execução local, permitindo o gerenciamento simplificado de banco de dados e a integração com seus processos de desenvolvimento e implantação. Ajuste as configurações e as medidas de segurança com base nas políticas e requisitos da sua organização.
Usar sua conexão de Banco de Dados SQL do Azure no Azure DevOps Server 2022
Preparar o Servidor do Azure DevOps:
a. Verifique se você tem o Azure DevOps Server 2022 instalado e configurado em seu ambiente local.</
b. Acesso ao Servidor do Azure DevOps com permissões apropriadas para criar e gerenciar pipelines.Configurar o projeto e o repositório do Azure DevOps (se ainda não tiver concluído):
a. Crie um novo ou use um projeto existente do Azure DevOps.
b. Configure um repositório Git ou TFVC para armazenar suas definições e scripts de pipeline.Criar um pipeline:
a. Acesse seu projeto do Azure DevOps.
b. Selecione Pipelines>Pipelines>Nova pipeline.
c. Selecione o modelo de pipeline apropriado com base em seus requisitos. Para o Banco de Dados SQL do Azure, você pode começar com um trabalho vazio ou escolher um modelo que atenda às suas necessidades de implantação (por exemplo, Azure Pipeline).
d. Edite o arquivo YAML do pipeline ou use o editor clássico para definir seus estágios e tarefas de pipeline.Adicionar tarefas para implantar no Banco de Dados SQL do Azure:
Tarefa : Implantação do Banco de Dados do SQL Server: Use a tarefa
SqlAzureDacpacDeployment
para implantar alterações no Banco de Dados SQL do Azure. Exemplo de snippet de código 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)'
Substitua
<your-server-name>
,<your-database-name>
,$(sqlUsername)
e$(sqlPassword)
por valores ou variáveis apropriados.Tarefa : Consulta SQL do Azure: Use a tarefa
AzureSqlQuery
para executar consultas SQL em seu Banco de Dados SQL do Azure. Exemplo de snippet de código 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'
gerenciar credenciais com segurança: usar variáveis do Azure DevOps ou integração do Azure Key Vault para gerenciar informações confidenciais, como credenciais do SQL Server (
sqlUsername
esqlPassword
).Acionar e executar pipeline:
- Salve e aplique as alterações no pipeline.
- Acione o pipeline manualmente ou configure gatilhos (por exemplo, em commit de código, agendamento) de acordo com sua estratégia de implantação.
Monitorar a execução do pipeline:
- Monitore as execuções de pipeline no Azure DevOps para garantir que as implantações no Banco de Dados SQL do Azure sejam bem-sucedidas.
- Examine os logs e saídas para solucionar problemas durante a implantação.
Dica
- Integrar com o Release Pipelines: Integre seu pipeline de build com pipelines de lançamento para cenários e aprovações de implantação mais complexos.
- fazer alterações incrementais no banco de dados: usar ferramentas como o SSDT (SQL Server Data Tools) ou migrações para gerenciar alterações incrementais no esquema de banco de dados.
- Usar controle de versão: Manter seus scripts SQL e alterações de banco de dados sob controle de versão para controlar as alterações e garantir a reprodutibilidade.
Ajuste configurações e tarefas com base em suas necessidades de implantação específicas e requisitos organizacionais.
Criar um backup do SQL Server
A criação de um backup do SQL Server para o Azure DevOps Server 2022 usando o Console de Administração do Servidor do Azure DevOps envolve a definição de configurações de backup e o agendamento de backups regulares. Execute as etapas a seguir para criar um backup do SQL Server.
Pré-requisitos para backup
Categoria | Requisitos |
---|---|
Acesso | Administrador acesso ao servidor em que o Servidor de DevOps do Azure está instalado. |
Permissões | Permissão para configurar backups e acessar o SQL Server Management Studio. |
Criar cópia de segurança
Abra o Console de Administração do Azure DevOps Server no servidor onde o Azure DevOps Server está instalado e selecione Camada de Aplicativo>Backups Agendados>Criar Backups Agendados.
Insira o caminho de backup de rede e selecione Próximo.
Selecione os alertas de email desejados e selecione Próximo.
Escolha um agendamento de backup com base em seus requisitos e selecione Próximo.
Confirme as configurações e selecione Verificar.
O assistente de backups verifica se o caminho de backup existe e é um caminho de rede.
Solucionar erros
No caso de uma falha de verificação de preparação, consulte as informações a seguir para obter ajuda com a solução de problemas.
Erro: Acesso à Conta de Serviço
Mensagem de erro:TF401009: The Azure DevOps service account NT AUTHORITY\LOCAL SERVICE cannot access network shares. Change to an account that can access the backup path.
Esse erro ocorre quando a conta de serviço é NT AUTHORITY\LOCAL SERVICE.
Solução :
- Crie um usuário local com as permissões de acesso necessárias.
- No Console de Administração do Servidor do Azure DevOps, acesse a tela Camada de Aplicativo e selecione Alterar Conta.
- Altere a conta de serviço para a conta de usuário local recém-criada.
- Refaça o processo de backup para criar o backup com êxito e reexecutar as verificações de prontidão.
Configuração de backup bem-sucedida:
Logs de backup agendados:
Console de Administração: Backups Agendados
Erro: Arquivo de log
Exemplo de local do arquivo de log:C:\ProgramData\Microsoft\Azure DevOps\Server Configuration\Logs\TFS_Scheduled Backups_0627_192409.log
Exemplo de mensagem de erro de arquivo de 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)
Solução :
Verifique se todos os grupos de arquivos estão online antes de executar o backup.
Exemplo de LeadingKeyOffline:
Teste o processo de backup usando consultas SQL para identificar e resolver problemas com grupos de arquivos específicos.