Restaurer une base de données dans l’instance principale du cluster Big Data SQL Server

S’applique à : SQL Server 2019 (15.x)

Cet article explique comment restaurer une base de données existante dans l’instance principale d’un Clusters de Big Data SQL Server 2019. La méthode recommandée consiste à utiliser une approche de sauvegarde, de copie et de restauration.

Important

Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. Pour plus d’informations, consultez le billet de blog d’annonce et les Options Big Data sur la plateforme Microsoft SQL Server.

Sauvegarder votre base de données existante

Sauvegardez d’abord votre base de données SQL Server existante à partir de SQL Server sur Windows ou Linux. Utilisez des techniques de sauvegarde standard avec Transact-SQL ou un outil comme SQL Server Management Studio (SSMS).

Cet article explique comment restaurer la base de données AdventureWorks, mais vous pouvez utiliser n’importe quelle sauvegarde de base de données.

Conseil

Téléchargez la sauvegarde d’AdventureWorks.

Copier le fichier de sauvegarde

Copiez le fichier de sauvegarde vers le conteneur SQL Server dans le pod de l’instance principale du cluster Kubernetes.

kubectl cp <path to .bak file> master-0:/var/tmp/<.bak filename> -c mssql-server -n <name of your big data cluster>

Exemple :

kubectl cp ~/Downloads/AdventureWorks2022.bak master-0:/var/tmp/AdventureWorks2022.bak -c mssql-server -n clustertest

Ensuite, vérifiez que le fichier de sauvegarde a été copié dans le conteneur du pod.

kubectl exec -it master-0 -n <name of your big data cluster> -c mssql-server -- bin/bash
cd /var/
ls /tmp
exit

Exemple :

kubectl exec -it master-0 -n clustertest -c mssql-server -- bin/bash
cd /var/
ls /tmp
exit

Restaurer le fichier de sauvegarde

Ensuite, restaurez la sauvegarde de la base de données sur l’instance principale SQL Server. Si vous restaurez une sauvegarde de base de données qui a été créée sur Windows, vous devrez obtenir les noms des fichiers. Dans Azure Data Studio, connectez-vous à l’instance principale et exécutez ce script SQL :

RESTORE FILELISTONLY FROM DISK='/tmp/<db file name>.bak'

Exemple :

RESTORE FILELISTONLY FROM DISK='/tmp/AdventureWorks2022.bak'

Liste des fichiers de la sauvegarde

Maintenant, restaurez la base de données. Le script suivant en est un exemple. Remplacez les noms/chemins selon les besoins en fonction de la sauvegarde de votre base de données.

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'

Configurer l’accès aux pools de données et à HDFS

À présent, pour que l’instance principale SQL Server accède aux pools de données et à HDFS, exécutez les procédures stockées du pool de données et du pool de stockage. Exécutez les scripts Transact-SQL suivants sur votre base de données nouvellement restaurée :

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

Notes

Vous devez exécuter ces scripts de configuration seulement pour les bases de données restaurées à partir de versions antérieures de SQL Server. Si vous créez une base de données dans l’instance principale SQL Server, les procédures stockées du pool de données et du pool de stockage sont déjà configurées pour vous.

Étapes suivantes

Pour plus d’informations sur les Clusters Big Data SQL Server, consultez la vue d’ensemble suivante :