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.
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.
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.
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:
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:
A especificação de importação após a alteração é mostrada no seguinte código:
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:
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.