Share via


Importar coleções grandes

Serviços de DevOps do Azure | 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 os Serviços de DevOps do Azure. Se 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 saber se você precisa usar o método de VM do SQL Azure para importação.

Determinar se é possível reduzir o tamanho da coleção

Antes de prosseguir, recomendamos verificar se seus dados antigos podem ser limpos. Com o tempo, as coleções podem acumular grandes volumes de dados. Esse crescimento é uma parte natural do processo de DevOps, mas você pode achar que não precisa reter todos os dados. Alguns exemplos comuns de dados que não são mais relevantes são espaços de trabalho mais antigos e resultados de compilação.

A limpeza de 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 do 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 de DACPAC, siga as instruções para gerar um DACPAC para importação. Se você ainda não conseguir obter o banco de dados abaixo do limite de DACPAC, precisará configurar uma VM do SQL Azure para importar para os Serviços de DevOps do Azure.

Configurar uma VM do SQL Azure para importar para os Serviços de DevOps do Azure

Vamos ver como conseguir isso. Em um alto nível, você:

  • Configure uma VM do SQL Azure.
  • (Opcional) Restrinja o acesso apenas aos IPs dos Serviços de DevOps do Azure.
  • Configure exceções de firewall 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 do SQL Azure

Você pode configurar uma VM do SQL Azure no 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 o SQL Server.

Nota

Ao configurar sua VM do SQL Azure, lembre-se de que o desempenho da VM e dos discos de dados anexados terá um impacto significativo no desempenho da importação. Por esta razão, recomendamos vivamente :

  • Selecionando um tamanho de VM no nível de D8s_v5_* ou superior
  • Usando discos gerenciados
  • Consultoria de desempenho de máquina virtual e disco. Certifique-se de que sua infraestrutura esteja configurada para que nem as IOPS da VM nem as IOPS de armazenamento se tornem um gargalo no desempenho da importação. Por exemplo, garantir o número de discos de dados conectados à sua VM é suficiente para suportar as IOPS da VM.

Os Serviços de DevOps do Azure estão disponíveis em várias regiões do Azure em todo o mundo. Estes podem ser vistos na tabela abaixo.

Importante

Para garantir que a importação seja iniciada com êxito, é fundamental colocar os dados na região correta. Se você configurar sua VM do 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 do SQL Azure consultando a tabela a seguir. A criação de sua VM em uma região diferente das desta lista não é suportada para executar uma importação.

Região de importação desejada Região de VM do SQL Azure
Central dos Estados Unidos E.U.A. Central
Europa ocidental Europa Ocidental
Leste da Austrália Leste da Austrália
Sul do Brasil Sul do Brasil
Sul da Índia Sul da Índia
Canadá Central Canadá Central
Ásia-Pacífico Sudeste Asiático (Singapura)
Sul do Reino Unido Sul do Reino Unido

Embora os Serviços de DevOps do Azure estejam disponíveis em várias regiões nos EUA, apenas a região Central dos Estados Unidos aceita novas organizações. No momento, as empresas não podem importar seus dados para outras regiões do Azure dos EUA.

Nota

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

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

  • Configure o banco de dados temporário SQL para usar uma unidade diferente da unidade C. O ideal é que a unidade tenha espaço livre amplo, 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, será necessário 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 o uso de 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 esta máquina.

Restringir o acesso apenas aos IPs dos Serviços de DevOps do Azure

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

Restaurar seu banco de dados na VM

Depois de instalar e configurar uma VM do Azure, você precisa levar o backup desanexado da instância do Servidor de DevOps do Azure 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 o Servidor de DevOps do Azure seja instalado na VM.

Configurar sua coleção para importação

Depois que seu banco de dados de coleção tiver sido restaurado em sua VM do Azure, configure um logon SQL para permitir que os Serviços de DevOps do Azure se conectem ao banco de dados para importar os dados. Este login permite apenas acesso de leitura a uma única base de dados.

Para começar, abra o 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 login SQL para o banco de dados e atribua a esse login o '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'

Nota

Certifique-se de habilitar o modo de autenticação do SQL Server e do Windows no 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 do 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 código a seguir:

    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 seguinte objeto de propriedades dentro do seu 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 teria a seguinte aparência:

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

Sua especificação de importação agora está configurada para usar uma VM do SQL Azure para importação. Prossiga com o restante das etapas de preparação para importar para os Serviços de DevOps do Azure. Após a conclusão da importação, certifique-se de excluir o logon SQL ou girar a senha. A Microsoft não retém as informações de início de sessão após a conclusão da importação.