Importar grandes coleções

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018

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 prosseguir, recomendamos verificar se os dados antigos podem ser limpos. Com o tempo, as coleções podem criar volumes muito grandes de dados. Essa é uma parte natural do processo de DevOps, mas você pode descobrir 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 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 da 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 examinar como fazer isso. Em um alto nível, você vai:

  • Configure uma VM SQL Azure.
  • (Opcional) Restrinja o acesso somente a IPs de Azure DevOps Services.
  • Configurar exceções de firewall de IP.
  • Restaure seu 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, consulte Usar o portal do Azure para provisionar uma máquina virtual do Windows com SQL Server.

Azure DevOps Services está disponível em várias regiões do Azure em todo o mundo.

Importante

Para garantir que a importação seja iniciada com êxito, é fundamental 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 nessa 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 de Estados Unidos Central aceita novas organizações. As empresas não podem importar seus dados para outras regiões do Azure dos EUA no momento.

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 configurações de VM SQL Azure que recomendamos:

  • Use VMs da Série D, pois elas são otimizadas para operações de banco de dados.
  • Verifique se as VMs da Série D têm pelo menos 28 gigabytes (GB) de RAM. Para importações, recomendamos tamanhos de VM do Azure D12 V2.
  • Configure o banco de dados temporário do SQL para usar uma unidade diferente da unidade C. O ideal é que a unidade tenha 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 terabyte (TB) 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 de tamanho, 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 chegue a esse computador.

(Opcional) Restringir o acesso somente a IPs Azure DevOps Services

É altamente recomendável restringir o acesso à sua VM a apenas IPs de Azure DevOps Services. Faça isso permitindo conexões somente do conjunto de IPs de Azure DevOps Services envolvidos no processo de importação do banco de dados de coleção. Os IPs que precisam ter acesso ao banco de dados de coleção dependem da região para a qual você está importando. As tabelas a seguir podem ajudá-lo a identificar os IPs corretos. A única porta que precisa ser aberta para conexões é a porta de conexão SQL padrão 1433.

Primeiro, independentemente de qual região Azure DevOps Services você importar, você deve conceder aos seguintes endereços IP acesso ao banco de dados de coleção.

Observação

Na tabela a seguir, os dois endereços IP listados com x.x.x.0/23 indicam um intervalo. Permitir todo o intervalo /23. Por exemplo, se você estiver importando para a região central Estados Unidos, permita o intervalo /23 para 20,37.158.0. Para endereços IP com x.x.x.0/24, permita o intervalo /24.

Serviço Endereço IP
Serviço de Identidade Azure DevOps Services 168.62.105.45, 40.81.42.115

Em seguida, conceda acesso ao Serviço de Identidade Regional. Você precisa conceder uma exceção para a instância da ferramenta de migração de dados somente na região para a qual você está importando.

Serviço Endereço IP
Serviço de Identidade Regional – Central Estados Unidos 13.89.236.72, 52.165.41.252, 52.173.25.16, 13.86.38.60, 20.45.1.175, 13.86.36.181, 52.154.53.1, 52.158.209.56, 20.37.138.122, 20.37.158.0/23, 20.37.139.247, 20.37.158.5
Serviço de Identidade Regional – Europa Ocidental 20.67.123.240, 52.166.54.85, 13.95.233.212, 52.236.145.119, 52.142.235.223, 52.236.147.103, 23.97.221.25, 52.233.181.148, 52.149.110.153, 51.144.61.32, 52.236.147.236, 40.74.28.0/23
Serviço regional de identidade - Leste da Austrália 13.75.145.145, 40.82.217.103, 20.188.213.113, 104.210.88.194, 40.81.62.114, 20.37.194.0/24
Serviço regional de identidade – Sul do Brasil 20.40.114.3, 191.235.90.183, 191.232.38.181, 191.233.25.175, 191.235.226.0/24
Serviço regional de identidade - Sul da Índia 104.211.227.29, 40.81.75.130, 52.172.54.122, 52.172.49.252, 20.41.194.0/24
Serviço de Identidade Regional – Canadá Central 52.237.19.6, 40.82.190.38, 52.228.82.0/243
Serviço Regional de Identidade - Pacífico Asiático (Cingapura) 20.195.68.0/24
Serviço Regional de Identidade – Sul do Reino Unido 40.81.159.67, 51.104.26.0/24

Em seguida, conceda acesso à ferramenta de migração de dados para o próprio Azure DevOps. Você precisa conceder uma exceção para a instância da ferramenta de migração de dados somente na região na qual você está importando.
Serviço Endereço IP
Ferramenta de migração de dados – Central Estados Unidos 52.173.74.9, 52.165.184.188, 20.45.1.234, 13.86.39.123
Ferramenta de migração de dados – Europa Ocidental 40.115.43.138, 13.95.15.128, 52.236.146.105, 40.67.219.89, 40.119.145.63, 52.142.236.228, 52.142.238.75
Ferramenta de migração de dados – Leste da Austrália 13.75.134.204, 40.82.219.41, 20.40.124.19
Ferramenta de migração de dados – Sul do Brasil 104.41.24.164, 20.40.115.123
Ferramenta de migração de dados – Sul da Índia 13.71.120.31, 40.81.76.137
Ferramenta de migração de dados – Canadá Central 52.237.18.100, 52.237.24.61, 40.82.191.163
Ferramenta de migração de dados – Ásia-Pacífico (Singapura) 20.195.68.0/24
Ferramenta de migração de dados – Sul do Reino Unido 40.81.153.223, 51.105.8.98, 51.104.26.2

Em seguida, conceda acesso Azure DevOps Services. Novamente, você precisa conceder uma exceção para a instância de Azure DevOps Services somente na região na qual você está importando.
Serviço Endereço IP
Azure DevOps Services - Central Estados Unidos 13.89.236.72, 52.165.41.252, 52.173.25.16, 13.86.38.60, 20.45.1.175, 13.86.36.181, 52.158.209.56
Azure DevOps Services - Europa Ocidental 52.166.54.85, 13.95.233.212, 52.236.145.119, 52.142.235.223, 52.236.147.103, 23.97.221.25, 52.233.181.148, 52.149.110.153, 51.144.61.32, 52.236.147.236
Azure DevOps Services - Leste da Austrália 13.75.145.145, 40.82.217.103, 20.188.213.113, 104.210.88.194, 40.81.62.114
Azure DevOps Services – Sul do Brasil 20.40.114.3, 191.235.90.183, 191.232.38.181, 191.233.25.175
Azure DevOps Services - Sul da Índia 104.211.227.29, 40.81.75.130, 52.172.54.122, 52.172.49.252
Azure DevOps Services - Canadá Central 52.237.19.6, 40.82.190.38
Azure DevOps Services - Ásia-Pacífico (Cingapura) 20.195.68.0/24
Azure DevOps Services - Sul do Reino Unido 40.81.159.67, 51.105.8.98, 51.104.26.2, 51.104.26.5

Em seguida, conceda acesso ao serviço do Azure Pipelines Releases. Você precisa conceder uma exceção para a instância Azure DevOps Services somente na região na qual você está importando.

IPs Release Management

Serviço Endereço IP
Serviço releases – Estados Unidos 23.102.153.83, 23.101.127.247, 23.100.85.250, 13.86.39.233, 40.80.217.53, 52.232.229.122
Serviço releases - Europa Ocidental 13.95.223.69, 104.45.64.13
Serviço releases - Leste da Austrália 13.73.204.151, 20.40.176.135
Serviço releases – Sul do Brasil 191.235.94.154, 20.40.116.69
Serviço releases – Sul da Índia 52.172.15.233, 40.81.79.60
Serviço releases – Canada Central 52.237.28.171, 40.82.189.127
Serviço releases - Ásia-Pacífico (Cingapura) 20.195.68.0/24
Serviço releases – Sul do Reino Unido 40.81.156.207

Em seguida, conceda acesso ao Azure Artifacts. Novamente, você precisa conceder uma exceção para a instância de Azure DevOps Services somente na região na qual você está importando.

Azure Artifacts IPs

Adicione exceções para os três serviços que compõem o Azure Artifacts.

Serviço Endereço IP
Artefatos do Azure – Estados Unidos 52.173.148.93, 104.43.253.181, 23.99.179.148, 40.80.222.154, 40.119.0.130, 40.119.0.139, 13.86.125.169, 20.41.44.47, 40.90.219.165
Artefatos do Azure – Europa Ocidental 104.46.45.12, 52.236.148.212
Artefatos do Azure – Leste da Austrália 13.73.100.166, 20.40.176.15, 40.81.59.69
Artefatos do Azure – Sul do Brasil 191.234.179.224, 20.40.115.214
Artefatos do Azure – Sul da Índia 52.172.11.191, 40.81.74.79
Artefatos do Azure – Canadá Central 52.237.24.224, 40.85.224.121, 13.71.189.199, 40.82.188.122
Artefatos do Azure - Ásia-Pacífico (Cingapura) 20.195.68.0/24
Artefatos do Azure – Sul do Reino Unido 51.145.120.132

Serviço Endereço IP
Feed de Artefatos do Azure – Estados Unidos 52.173.251.89, 20.45.1.3, 40.67.190.224, 20.41.58.125, 40.119.1.14, 20.45.1.249
Feed de Artefatos do Azure – Europa Ocidental 40.118.19.43, 52.236.146.118
Feed de Artefatos do Azure – Leste da Austrália 13.70.143.138, 20.40.176.80
Feed de Artefatos do Azure – Sul do Brasil 191.235.93.87, 20.40.116.17
Feed de Artefatos do Azure – Sul da Índia 52.172.8.41,40.81.79.49
Feed de Artefatos do Azure – Canadá Central 52.237.19.70, 40.82.188.254
Feed de Artefatos do Azure – Pacífico Asiático (Cingapura) 20.195.68.0/24
Feed de Artefatos do Azure – Sul do Reino Unido 51.145.120.49

Serviço Endereço IP
Blob de Artefatos do Azure – Estados Unidos 70.37.94.103, 40.78.129.25, 40.67.155.236, 52.230.216.163, 20.45.3.51
Blob de Artefatos do Azure – Europa Ocidental 23.97.221.25
Blob de Artefatos do Azure – Leste da Austrália 40.127.86.30, 20.188.213.113, 40.82.221.14
Blob de Artefatos do Azure – Sul do Brasil 191.235.90.183
Blob de Artefatos do Azure – Sul da Índia 52.172.54.122
Blob de Artefatos do Azure – Canadá Central 52.237.16.145, 52.237.16.145, 52.233.38.115, 40.82.187.186
Blob de Artefatos do Azure – Pacífico Asiático (Cingapura) 20.195.68.0/24
Blob de Artefatos do Azure – Sul do Reino Unido 51.143.174.59, 40.81.152.41

IPs de Test Plans

Adicione exceções para endereços IP Test Plans somente na região em que você está migrando.

Serviço Endereço IP
Test Plans - Estados Unidos 52.253.227.131, 40.91.89.233, 20.41.47.199, 40.91.117.40, 40.91.126.113, 20.37.141.154
Test Plans - Europa Ocidental 40.119.145.57
Test Plans - Leste da Austrália 20.40.177.101
Test Plans – Sul do Brasil 20.40.118.62
Test Plans - Sul da Índia 40.81.72.10
Test Plans - Canadá Central 40.82.184.28
Test Plans - Pacífico Asiático (Cingapura) 20.195.68.0/24
Test Plans - Sul do Reino Unido 40.81.159.9

IPs de análise (somente Azure DevOps Server 2019 ou posterior)

Se você incluiu recursos de visualização com sua importação, adicione uma exceção para os IPs de análise somente em sua região de importação de destino.

Serviço Endereço IP
Serviço de análise – Estados Unidos 20.41.43.22, 20.36.236.83, 20.41.40.50, 52.143.251.221, 52.242.212.199, 13.86.33.148, 13.86.39.80
Serviço de análise – Europa Ocidental 52.236.146.143, 52.236.146.9, 52.149.108.23
Serviço de análise – Leste da Austrália 20.40.179.159
Serviço de análise – Sul do Brasil 20.40.113.248
Serviço de análise – Sul da Índia 40.81.73.58
Serviço de análise – Canadá Central 40.82.185.214
Serviço de análise - Pacífico Asiático (Cingapura) 20.195.68.0/24
Serviço de análise – Sul do Reino Unido 40.81.159.247

Observação

Como alternativa, você também pode usar Marcas de Serviço no lugar de intervalos de IP explícitos. As Marcas de Serviço do Azure são uma maneira conveniente para os clientes gerenciarem sua configuração de rede para permitir o tráfego de serviços específicos do Azure. Os clientes podem facilmente permitir o acesso adicionando o nome da marca azuredevops aos seus grupos de segurança de rede ou firewalls por meio do portal ou programaticamente.

Configurar exceções de firewall de IP

A concessão de exceções para os IPs necessários é tratada na camada de rede do Azure para sua VM SQL Azure. Para começar, acesse sua VM SQL Azure no portal do Azure. Em Configurações, selecione Rede. Isso levará você à página de interface de rede da VM SQL Azure. A ferramenta de migração de dados requer que os IPs de Azure DevOps Services sejam configurados para conexões de entrada somente na porta 1433. Você pode conceder exceções para os IPs selecionando Adicionar regra de porta de entrada nas configurações de rede.

Captura de tela do botão

No painel Adicionar regra de segurança de entrada , selecione Avançado para configurar uma regra de porta de entrada para um IP específico.

Captura de tela do botão

Na lista suspensa De origem , selecione Endereços IP, insira um endereço IP que precisa ser concedido a uma exceção, defina o intervalo de portas de destino como 1433 e, na caixa Nome , insira um nome que melhor descreva a exceção que você está configurando.

Dependendo de outras regras de porta de entrada que foram configuradas, talvez seja necessário alterar a prioridade padrão para as exceções de Azure DevOps Services para que elas não sejam ignoradas. Por exemplo, se você tiver uma regra "negar todas as conexões de entrada com 1433" com uma prioridade maior do que as exceções de Azure DevOps Services, a ferramenta de migração de dados poderá não conseguir fazer uma conexão bem-sucedida com seu banco de dados.

Captura de tela de uma configuração de regra de porta de entrada concluída.

Repita a adição de regras de porta de entrada até que todos os IPs de Azure DevOps Services necessários tenham recebido uma exceção. A falta de um IP pode fazer com que a importação não seja iniciada.

Restaurar seu banco de dados na VM

Depois de configurar e configurar uma VM do Azure, você precisará fazer o backup desanexado de sua instância de Azure DevOps Server para sua VM do Azure. O Azure tem vários métodos documentados de como realizar essa tarefa. O banco de dados de coleção precisa ser restaurado na instância do 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 único banco de dados.

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 semelhantes aos seguintes:

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

Habilite 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 de 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.