Usar o Banco de Dados SQL do Azure com o Servidor de DevOps do Azure
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Use as etapas neste artigo para configurar o Servidor de DevOps do Azure com Banco de Dados SQL do Azure. Essa topologia tem algumas etapas adicionais em comparação com o uso de um servidor SQL local.
Requerimentos
- O Banco de Dados SQL do Azure só pode ser usado com o Azure DevOps Server 2019 e versões posteriores.
- Você deve instalar o Servidor de DevOps do Azure 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 associada a um domínio, mas não a um grupo de trabalho.
- Os bancos de dados SQL do Azure devem ser bancos de dados únicos. Instâncias gerenciadas e pools elásticos têm suporte no Azure DevOps Server 2022 e versões mais recentes.
Todos os SKUs de uso geral e Premium são suportados. As SKUs padrão S3 e superiores também são suportadas. SKUs básicos e SKUs padrão S2 e inferiores não são suportados. As configurações do Azure DevOps Server que utilizam o Azure SQL Database não são compatíveis com funcionalidades antigas de relatório do SQL Server Reporting Services e dos SQL Server Analysis Services. Em vez disso, você pode usar o Azure DevOps Analytics.
A atualização para o Azure DevOps Server é suportada apenas a partir do Team Foundation Server 2015 e mais recente quando utiliza a Base de Dados SQL do Azure. O Banco de Dados SQL do Azure não oferece suporte a procedimentos armazenados criptografados.
Configurar o Banco de Dados SQL do Azure
Configure uma identidade gerenciada em suas máquinas virtuais. Neste momento, apenas suportamos identidades geridas pelo sistema.
Você pode executar a configuração usando todos os mecanismos padrão, incluindo:
- Portal do Azure
- da CLI do Azure
- modelos do Azure Resource Manager
Para configurar uma nova instância do 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 up-todo Azure DevOps Server para o Banco de Dados SQL do Azure.
Configurar autenticação do Azure Active Directory para o seu servidor do Banco de Dados SQL do Azure. Torne-se o administrador do Ative 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 em seu banco de dados SQL do Azure e dar-lhe as permissões apropriadas. Conecte-se ao servidor de banco de dados usando SQL Server Management Studio. Conecte-se utilizando um utilizador do Azure Active Directory com autenticação Active Directory. Não é possível manipular os utilizadores do Azure Ative Directory se iniciar sessão na Base de Dados SQL do Azure sob autenticação SQL.
um. Execute o seguinte comando T-SQL no banco de dados
main
: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 o Servidor de DevOps do Azure
Retorne ao assistente de configuração do Servidor de DevOps do Azure. Se você configurar uma nova instância, selecione Esta é uma nova implantação do Azure DevOps Server. Se atualizares ou migrares e tiveres dados existentes nos teus bancos de dados, seleciona tenho bancos de dados existentes para usar nesta implantação do Servidor do Azure DevOps.
Quando chegar à página Base de Dados no assistente de configuração, especifique a instância do servidor da Base 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 do Servidor de DevOps do Azure que é executada no Banco de Dados SQL do Azure.
Conectar-se a um banco de dados SQL do Azure a partir do SSMS local
Siga as seguintes etapas para se conectar a uma base de dados SQL do Azure a partir do seu SSMS local:
Exporte via SQL Server Management Studio usando o SSMS da VM em execução na mesma VNET como um ponto de extremidade privado do SQL para o compartilhamento de arquivos/armazenamento de blobs.
Você pode usar o assistente de aplicativo da camada de dados de exportação 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 blob do Azure ou no compartilhamento de arquivos.
Selecione com o botão direito do mouse o Banco de Dados SQL no SQL Server lógico assistente de Tarefas>do SSMS>Exportar de aplicativo da camada de dados.
Selecione Avançar.
Selecione o local para armazenar o arquivo BACPAC.
Selecione Fechar.
Os pacotes de 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 a partir do Azure DevOps Server 2022
Conectar o Banco de Dados SQL do Azure ao Azure DevOps Server 2022 (local) envolve configurar o acesso, garantir a conectividade e usar as credenciais apropriadas. Siga as etapas a seguir para conectar o Banco de Dados SQL do Azure a partir do Azure DevOps Server 2022.
Pré-requisitos
Categoria | Requerimentos |
---|---|
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 onde o Azure DevOps Server está hospedado. Para fazer isso, vá para: portal do Azure>Banco de Dados SQL do Azure>Configurações>Firewalls e redes virtuais> e adicione uma nova regra para permitir o acesso do endereço IP público ou da sub-rede do Azure DevOps Server. |
Ferramentas | - Banco de Dados SQL do Azure provisionado e acessível a partir 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 na mesma máquina em que o Azure DevOps Server está instalado. |
Conectar-se ao Banco de Dados SQL do Azure
Obter detalhes de 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 do Microsoft Entra ID.
- Nome do servidor:
Conectar usando o SQL Server Management Studio (SSMS): a. Abra o SQL Server Management Studio na máquina onde 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:
- Digite o nome do servidor:
<your-server-name>.database.windows.net
- Escolha Autenticação: Autenticação do SQL Server.
- Introduza o seu Nome de Utilizador e Palavra-passe.
- Selecione Conectar. Uma vez conectado, o Banco de Dados SQL do Azure é listado no Pesquisador de Objetos no SSMS.
- Digite o nome do servidor:
Testar conectividade: Execute 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 conexão no Servidor de DevOps do Azure: Depois de verificar a conectividade do SSMS, você pode usar essa conexão no Servidor de DevOps do Azure para várias tarefas, como:
- Implantações automatizadas: configure pipelines de liberação no Servidor de DevOps do Azure para implantar alterações no banco de dados.
- Migração de dados: use scripts SQL ou ferramentas de dados integradas ao Azure DevOps Server.
- Integração contínua: integre alterações de banco de dados em seus pipelines de CI/CD.
Dica
- Seja seguro: Considere usar o Microsoft Entra ID para um acesso mais seguro.
- Gerenciar credenciais: armazene credenciais com segurança e evite codificá-las em scripts ou configurações.
- Monitor: Monitore as conexões e o uso do banco de dados para garantir a segurança e o desempenho.
Conecte o Banco de Dados SQL do Azure a partir do Azure DevOps Server 2022 em execução local, permitindo o gerenciamento simplificado do banco de dados e a integração com seus processos de desenvolvimento e implantação. Ajuste as configurações e medidas de segurança com base nas políticas e requisitos da sua organização.
Usar sua conexão do Banco de Dados SQL do Azure no Azure DevOps Server 2022
Preparar o Servidor de DevOps do Azure:
a. Certifique-se de ter o Azure DevOps Server 2022 instalado e configurado em seu ambiente local.</
b. Acesso ao Servidor de DevOps do Azure com permissões apropriadas para criar e gerenciar pipelines.Configurar o projeto e o repositório do Azure DevOps (se ainda não tiver sido concluído):
a. Crie um novo projeto do Azure DevOps ou use um existente.
b. Configure um repositório Git ou TFVC para armazenar suas definições de pipeline e scripts.Criar um pipeline:
a. Vá para seu projeto do Azure DevOps.
b. Selecione Pipelines>Pipelines>Nova tubulação.
c. Selecione o modelo de pipeline apropriado com base em suas necessidades. 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, Pipeline do Azure).
d. Edite o arquivo YAML do pipeline ou use o editor clássico para definir os estágios e as tarefas do pipeline.Adicionar tarefas a serem implantadas 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 trecho de 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 trecho de 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: Use as variáveis do Azure DevOps ou a integração do Azure Key Vault para gerenciar informações confidenciais, como credenciais do SQL Server (
sqlUsername
esqlPassword
).Acionar e executar uma linha de processamento:
- Salve e confirme as alterações do pipeline.
- Acione o pipeline manualmente ou configure gatilhos (por exemplo, na confirmação de código, agendamento) de acordo com sua estratégia de implantação.
Monitorizar a execução do pipeline:
- O pipeline de monitoramento é executado no Azure DevOps para garantir que as implantações no Banco de Dados SQL do Azure sejam bem-sucedidas.
- Revise logs e saídas para solucionar problemas durante a implantação.
Dica
- Integração com pipelines de versão: Integre seu pipeline de compilação com pipelines de liberação para cenários de implantação e aprovações mais complexos.
- Fazer alterações incrementais no banco de dados: Use ferramentas como SSDT (SQL Server Data Tools) ou migrações para gerenciar alterações incrementais no esquema do banco de dados.
- Use o controle de versão: Mantenha 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 específicas de implantação 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 de DevOps do Azure 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 | Requerimentos |
---|---|
Acesso | Administrador acesso ao servidor onde 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
Inicie o Console de Administração do Servidor de DevOps do Azure no servidor onde o Servidor de DevOps do Azure está instalado e selecione Camada de Aplicativo>Backups Agendados>Criar Backups Agendados.
Introduza o caminho de backup da rede e, em seguida, selecione Seguinte.
Selecione os alertas de e-mail desejados e, em seguida, selecione Avançar.
Escolha um agendamento de backup com base em suas necessidades e, em seguida, selecione Avançar.
Confirme as definições de configuração e selecione Verificar.
O assistente de backups verifica se o caminho de backup existe e é um caminho de rede.
Solucionar erros
Em caso de falha na verificação de prontidã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.
Este 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 de DevOps do Azure, vá para a tela da 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 execute novamente as verificações de prontidão.
Configuração de backup bem-sucedida:
Logs de backup agendados:
backups agendados do Console de Administração:
Erro: Arquivo de log
Exemplo de localização do ficheiro de registo:C:\ProgramData\Microsoft\Azure DevOps\Server Configuration\Logs\TFS_Scheduled Backups_0627_192409.log
Exemplo de mensagem de erro do ficheiro de registo:[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 quaisquer problemas com grupos de arquivos específicos.