Restaurar um banco de dados na instância mestre de cluster de Big Data do SQL Server
Aplica-se a: SQL Server 2019 (15.x)
Este artigo descreve como restaurar um banco de dados existente na instância mestre de um Clusters de Big Data do SQL Server 2019. O método recomendado é usar uma abordagem de backup, cópia e restauração.
Importante
O complemento Clusters de Big Data do Microsoft SQL Server 2019 será desativado. O suporte para Clusters de Big Data do SQL Server 2019 será encerrado em 28 de fevereiro de 2025. Todos os usuários existentes do SQL Server 2019 com Software Assurance terão suporte total na plataforma e o software continuará a ser mantido por meio de atualizações cumulativas do SQL Server até esse momento. Para obter mais informações, confira a postagem no blog de anúncio e as opções de Big Data na plataforma do Microsoft SQL Server.
Backup do banco de dados existente
Primeiro, faça backup do banco de dados do SQL Server existente do SQL Server no Windows ou no Linux. Use técnicas de backup padrão com o Transact-SQL ou com uma ferramenta como o SSMS (SQL Server Management Studio).
Este artigo mostra como restaurar o banco de dados AdventureWorks, mas você pode usar qualquer backup de banco de dados.
Dica
Baixar o backup do AdventureWorks.
Copiar o arquivo de backup
Copie o arquivo de backup para o contêiner do SQL Server no pod da instância mestre do cluster do Kubernetes.
kubectl cp <path to .bak file> master-0:/var/tmp/<.bak filename> -c mssql-server -n <name of your big data cluster>
Exemplo:
kubectl cp ~/Downloads/AdventureWorks2022.bak master-0:/var/tmp/AdventureWorks2022.bak -c mssql-server -n clustertest
Em seguida, verifique se o arquivo de backup foi copiado para o contêiner de pod.
kubectl exec -it master-0 -n <name of your big data cluster> -c mssql-server -- bin/bash
cd /var/
ls /tmp
exit
Exemplo:
kubectl exec -it master-0 -n clustertest -c mssql-server -- bin/bash
cd /var/
ls /tmp
exit
Restaurar o arquivo de backup
Em seguida, restaure o backup do banco de dados para o SQL Server da instância mestre. Se você estiver restaurando um backup de banco de dados criado no Windows, será necessário obter os nomes dos arquivos. No Azure Data Studio, conecte-se à instância mestre e execute este script SQL:
RESTORE FILELISTONLY FROM DISK='/tmp/<db file name>.bak'
Exemplo:
RESTORE FILELISTONLY FROM DISK='/tmp/AdventureWorks2022.bak'
Agora, restaure o banco de dados. O seguinte script é um exemplo. Substitua os nomes/caminhos conforme necessário, dependendo do backup do banco de dados.
RESTORE DATABASE AdventureWorks2022
FROM DISK='/tmp/AdventureWorks2022.bak'
WITH MOVE 'AdventureWorks2022_Data' TO '/var/opt/mssql/data/AdventureWorks2022_Data.mdf',
MOVE 'AdventureWorks2022_Log' TO '/var/opt/mssql/data/AdventureWorks2022_Log.ldf',
MOVE 'AdventureWorks2022_mod' TO '/var/opt/mssql/data/AdventureWorks2022_mod'
Configurar o pool de dados e o acesso ao HDFS
Agora, para que a instância mestre do SQL Server acesse pools de dados e o HDFS, execute o pool de dados e os procedimentos armazenados do pool de armazenamento. Execute os seguintes scripts Transact-SQL em seu banco de dados restaurado recentemente:
USE AdventureWorks2022;
GO
-- Create the SqlDataPool data source:
IF NOT EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlDataPool')
CREATE EXTERNAL DATA SOURCE SqlDataPool
WITH (LOCATION = 'sqldatapool://controller-svc/default');
-- Create the SqlStoragePool data source:
IF NOT EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlStoragePool')
CREATE EXTERNAL DATA SOURCE SqlStoragePool
WITH (LOCATION = 'sqlhdfs://controller-svc/default');
GO
Observação
Você precisará executar esses scripts de instalação somente para bancos de dados restaurados de versões mais antigas do SQL Server. Se você criar um novo banco de dados na instância mestre do SQL Server, os procedimentos de pool de dados e pool de armazenamento já estarão configurados para você.
Próximas etapas
Para saber mais sobre o Clusters de Big Data do SQL Server, confira a visão geral a seguir: