Importar coleções grandes

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Para bancos de dados que a ferramenta de migração de dados avisa serem muito grandes, uma abordagem de empacotamento de dados diferente é necessária para migrar para Azure DevOps Services. Se você não tiver certeza se sua coleção excede o limite de tamanho, execute uma validação da ferramenta de migração de dados na coleção. A validação permite que você saiba se precisa usar o método de VM SQL Azure para importação.

Determinar se você pode reduzir o tamanho da coleção

Antes de continuar, recomendamos verificar se os dados antigos podem ser limpos. Ao longo do tempo, as coleções podem compilar grandes volumes de dados. Esse crescimento é uma parte natural do processo de DevOps, mas talvez você descubra que não precisa reter todos os dados. Alguns exemplos comuns de dados não mais relevantes são workspaces mais antigos e resultados de build.

Limpar artefatos mais antigos e não mais relevantes pode remover muito mais espaço do que você poderia esperar e pode determinar se você usa o método de importação DACPAC ou uma VM SQL Azure.

Importante

Depois de excluir dados mais antigos, eles não poderão ser recuperados, a menos que você restaure um backup mais antigo da coleção.

Se você estiver abaixo do limite do DACPAC, siga as instruções para gerar um DACPAC para importação. Se você ainda não conseguir obter o banco de dados sob o limite do DACPAC, precisará configurar uma VM SQL Azure para importar para Azure DevOps Services.

Configurar uma VM SQL Azure para importar para Azure DevOps Services

Vamos explicar como fazer isso. Em um alto nível, você vai:

  • Configurar uma VM SQL Azure.
  • (Opcional) Restringir o acesso somente a IPs Azure DevOps Services.
  • Configurar exceções de firewall de IP.
  • Restaure o banco de dados na VM.
  • Configure sua coleção para importação.
  • Configurar o arquivo de especificação de importação para direcionar a VM

Configurar uma VM SQL Azure

Você pode configurar uma VM SQL Azure do portal do Azure com apenas alguns cliques. Para saber como, confira Usar o portal do Azure para provisionar uma máquina virtual do Windows com SQL Server.

Observação

Ao configurar sua VM SQL Azure, tenha em mente que o desempenho da VM e dos discos de dados anexados terá um impacto significativo no desempenho da importação. Por esse motivo, é altamente recomendável:

  • Selecionando um tamanho de VM no nível de D8s_v5_* ou superior
  • Usar discos gerenciados
  • Consultando desempenho de máquina virtual e disco. Verifique se a infraestrutura está configurada para que nem a IOPS da VM nem a IOPS de armazenamento se tornem um gargalo no desempenho da importação. Por exemplo, garantir que o número de discos de dados anexados à VM seja suficiente para dar suporte ao IOPS da VM.

Azure DevOps Services está disponível em várias regiões do Azure em todo o mundo. Eles podem ser vistos na tabela abaixo.

Importante

Para garantir que a importação seja iniciada com êxito, é essencial colocar seus dados na região correta. Se você configurar sua VM SQL Azure em um local diferente das regiões listadas na tabela a seguir, a importação não será iniciada.

Se você estiver usando esse método de importação, determine onde criar sua VM SQL Azure referindo-se à tabela a seguir. Não há suporte para a criação de sua VM em uma região diferente daquelas nesta lista para executar uma importação.

Região de importação desejada SQL Azure região da VM
Central Estados Unidos Centro dos EUA
Europa Ocidental Europa Ocidental
Leste da Austrália Leste da Austrália
Sul do Brasil Brazil South
Sul da Índia Sul da Índia
Centro do Canadá Canadá Central
Pacífico Asiático Sudeste da Ásia (Singapura)
Sul do Reino Unido Sul do Reino Unido

Embora Azure DevOps Services esteja disponível em várias regiões nos EUA, apenas a região central Estados Unidos aceita novas organizações. No momento, as empresas não podem importar seus dados para outras regiões do Azure dos EUA.

Observação

Os clientes da DACPAC devem consultar a tabela de região na seção "Etapa 3: Carregar o arquivo DACPAC". As diretrizes anteriores são apenas para VMs SQL Azure.

Aqui estão mais algumas SQL Azure configurações de VM que recomendamos:

  • Configure o banco de dados temporário do SQL para usar uma unidade diferente da unidade C. Idealmente, a unidade deve ter amplo espaço livre; pelo menos equivalente à maior tabela do banco de dados.
  • Se o banco de dados de origem ainda tiver mais de 1 TB (terabyte) depois de reduzir seu tamanho, você precisará anexar discos adicionais de 1 TB e combiná-los em uma única partição para restaurar o banco de dados na VM.
  • Se os bancos de dados de coleção tiverem mais de 1 TB, considere usar um SSD para o banco de dados temporário e o banco de dados de coleção. Além disso, considere usar VMs maiores com 16 CPUs virtuais (vCPUs) e 128 GB de RAM.
  • Você precisa ter um endereço IP voltado para o público para que o serviço alcance esse computador.

Restringir o acesso somente a IPs Azure DevOps Services

Consulte a página Restringir acesso somente a IPs dos Serviços de DevOps do Azure para obter mais detalhes.

Restaurar seu banco de dados na VM

Depois de configurar e configurar uma VM do Azure, você precisará levar o backup desanexado da instância do Azure DevOps Server para a VM do Azure. O Azure tem vários métodos documentados para realizar essa tarefa. O banco de dados de coleção precisa ser restaurado em sua instância sql e não exige que Azure DevOps Server sejam instalados na VM.

Configurar sua coleção para importação

Depois que o banco de dados de coleção for restaurado em sua VM do Azure, configure um logon do SQL para permitir que Azure DevOps Services se conectem ao banco de dados para importar os dados. Esse logon permite apenas o acesso de leitura a um banco de dados individual.

Para iniciar, abra SQL Server Management Studio na VM e abra uma nova janela de consulta no banco de dados a ser importado.

Defina a recuperação do banco de dados como simples:

ALTER DATABASE [<Database name>] SET RECOVERY SIMPLE;

Crie um logon SQL para o banco de dados e atribua esse logon ao 'TFSEXECROLE':

USE [<database name>]
CREATE LOGIN <pick a username> WITH PASSWORD = '<pick a password>'
CREATE USER <username> FOR LOGIN <username> WITH DEFAULT_SCHEMA=[dbo]
EXEC sp_addrolemember @rolename='TFSEXECROLE', @membername='<username>'

Seguindo nosso exemplo da Fabrikam, os dois comandos SQL seriam:

ALTER DATABASE [Foo] SET RECOVERY SIMPLE;

USE [Foo]
CREATE LOGIN fabrikam WITH PASSWORD = 'fabrikamimport1!'
CREATE USER fabrikam FOR LOGIN fabrikam WITH DEFAULT_SCHEMA=[dbo]
EXEC sp_addrolemember @rolename='TFSEXECROLE', @membername='fabrikam'

Observação

Certifique-se de habilitar SQL Server e autenticação do Windows modo em SQL Server Management Studio na VM. Se você não habilitar o modo de autenticação, a importação falhará.

Configurar o arquivo de especificação de importação para direcionar a VM

Atualize o arquivo de especificação de importação para incluir informações sobre como se conectar à instância SQL Server. Abra o arquivo de especificação de importação e faça as seguintes atualizações:

  1. Remova o parâmetro DACPAC do objeto de arquivos de origem.

    A especificação de importação antes da alteração é mostrada no seguinte código:

    Captura de tela da especificação de importação antes da alteração.

    A especificação de importação após a alteração é mostrada no seguinte código:

    Captura de tela da especificação de importação após a alteração.

  2. Preencha os parâmetros necessários e adicione o objeto de propriedades a seguir dentro do objeto de origem no arquivo de especificação.

    "Properties":
    {
        "ConnectionString": "Data Source={SQL Azure VM Public IP};Initial Catalog={Database Name};Integrated Security=False;User ID={SQL Login Username};Password={SQL Login Password};Encrypt=True;TrustServerCertificate=True" 
    }
    

Seguindo o exemplo da Fabrikam, depois de aplicar as alterações, a especificação de importação será semelhante à seguinte:

Captura de tela da especificação de importação que faz referência a uma VM SQL Azure.

Sua especificação de importação agora está configurada para usar uma VM SQL Azure para importação. Prossiga com o restante das etapas de preparação para importar para Azure DevOps Services. Após a conclusão da importação, exclua o logon do SQL ou gire a senha. A Microsoft não retém as informações de logon após a conclusão da importação.