Restaurer une base de données SQL Server dans un conteneur Linux

S’applique à : SQL Server - Linux

Ce tutoriel montre comment déplacer et restaurer un fichier de sauvegarde SQL Server dans une image conteneur SQL Server 2017 (14.x) Linux exécutée sur Docker.

Ce tutoriel montre comment déplacer et restaurer un fichier de sauvegarde SQL Server dans une image conteneur SQL Server 2019 (15.x) Linux exécutée sur Docker.

Ce tutoriel montre comment déplacer et restaurer un fichier de sauvegarde SQL Server dans une image conteneur SQL Server 2022 (16.x) Linux exécutée sur Docker.

  • Extrayez et exécutez l’image conteneur Linux SQL Server la plus récente.
  • Copiez le fichier de base de données Wide World Importers dans le conteneur.
  • Restaurez la base de données dans le conteneur.
  • Exécutez les instructions Transact-SQL pour afficher et modifier la base de données.
  • Sauvegardez la base de données modifiée.

Prérequis

Options de déploiement

Cette section fournit des options de déploiement pour votre environnement.

sqlcmd ne prend actuellement pas en charge le paramètre MSSQL_PID lors de la création de conteneurs. Si vous utilisez les instructions sqlcmd de ce tutoriel, vous créez un conteneur avec l’édition Développeur de SQL Server. Utilisez les instructions de l’interface de ligne de commande (CLI) pour créer un conteneur à l’aide de la licence de votre choix. Pour plus d’informations, consultez Déployer et se connecter à des conteneurs Linux SQL Server.

Extraction et exécution de l’image conteneur

  1. Ouvrez un terminal bash sur Linux.

  2. Extrayez l’image conteneur Linux de SQL Server 2017 (14.x) à partir de Microsoft Azure Container Registry.

    sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
    
  3. Pour exécuter l’image conteneur avec Docker, vous pouvez utiliser la commande suivante :

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql1' -p 1401:1433 \
       -v sql1data:/var/opt/mssql \
       -d mcr.microsoft.com/mssql/server:2017-latest
    

    Cette commande crée un conteneur SQL Server 2017 (14.x) avec l’édition Développeur (par défaut). Le port SQL Server 1433 est exposé sur l’hôte en tant que port 1401. Le paramètre -v sql1data:/var/opt/mssql facultatif crée un conteneur de volumes de données nommé sql1data. Il est utilisé pour rendre persistantes les données créées par SQL Server.

    Important

    Cet exemple utilise un conteneur de volume de données dans Docker. Pour plus d’informations, consultez Configurer des images de conteneur SQL Server sur Docker.

  4. Pour afficher vos conteneurs, utilisez la commande docker ps.

    sudo docker ps -a
    
  5. Si la colonne STATUS affiche Up, SQL Server est en cours d’exécution dans le conteneur et écoute sur le port spécifié dans la colonne PORTS. Si la colonne STATUS de votre conteneur SQL Server indique Exited, consultez Résolution des problèmes liés aux conteneurs Docker SQL Server.

$ sudo docker ps -a

CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
941e1bdf8e1d        mcr.microsoft.com/mssql/server/mssql-server-linux   "/bin/sh -c /opt/m..."   About an hour ago   Up About an hour    0.0.0.0:1401->1433/tcp   sql1
  1. Ouvrez un terminal bash sur Linux.

  2. Extrayez l’image conteneur Linux de SQL Server 2019 (15.x) à partir de Microsoft Azure Container Registry.

    sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
    
  3. Pour exécuter l’image conteneur avec Docker, vous pouvez utiliser la commande suivante :

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql1' -p 1401:1433 \
       -v sql1data:/var/opt/mssql \
       -d mcr.microsoft.com/mssql/server:2019-latest
    

    Cette commande crée un conteneur SQL Server 2019 (15.x) avec l’édition Développeur (par défaut). Le port SQL Server 1433 est exposé sur l’hôte en tant que port 1401. Le paramètre -v sql1data:/var/opt/mssql facultatif crée un conteneur de volumes de données nommé sql1data. Il est utilisé pour rendre persistantes les données créées par SQL Server.

    Important

    Cet exemple utilise un conteneur de volume de données dans Docker. Pour plus d’informations, consultez Configurer des images de conteneur SQL Server sur Docker.

  4. Pour afficher vos conteneurs, utilisez la commande docker ps.

    sudo docker ps -a
    
  5. Si la colonne STATUS affiche Up, SQL Server est en cours d’exécution dans le conteneur et écoute sur le port spécifié dans la colonne PORTS. Si la colonne STATUS de votre conteneur SQL Server indique Exited, consultez Résolution des problèmes liés aux conteneurs Docker SQL Server.

    $ sudo docker ps -a
    
    CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
    941e1bdf8e1d        mcr.microsoft.com/mssql/server/mssql-server-linux   "/bin/sh -c /opt/m..."   About an hour ago   Up About an hour    0.0.0.0:1401->1433/tcp   sql1
    
  1. Ouvrez un terminal bash sur Linux.

  2. Tirez (pull) l’image conteneur Linux de SQL Server 2022 (16.x) à partir de Microsoft Azure Container Registry.

    sudo docker pull mcr.microsoft.com/mssql/server:2022-latest
    
  3. Pour exécuter l’image conteneur avec Docker, vous pouvez utiliser la commande suivante :

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql1' -p 1401:1433 \
       -v sql1data:/var/opt/mssql \
       -d mcr.microsoft.com/mssql/server:2022-latest
    

    Cette commande crée un conteneur SQL Server 2022 (16.x) avec l’édition Développeur (par défaut). Le port SQL Server 1433 est exposé sur l’hôte en tant que port 1401. Le paramètre -v sql1data:/var/opt/mssql facultatif crée un conteneur de volumes de données nommé sql1data. Il est utilisé pour rendre persistantes les données créées par SQL Server.

    Important

    Cet exemple utilise un conteneur de volume de données dans Docker. Pour plus d’informations, consultez Configurer des images de conteneur SQL Server sur Docker.

  4. Pour afficher vos conteneurs, utilisez la commande docker ps.

    sudo docker ps -a
    
  5. Si la colonne STATUS affiche Up, SQL Server est en cours d’exécution dans le conteneur et écoute sur le port spécifié dans la colonne PORTS. Si la colonne STATUS de votre conteneur SQL Server indique Exited, consultez Résolution des problèmes liés aux conteneurs Docker SQL Server.

    $ sudo docker ps -a
    
    CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
    941e1bdf8e1d        mcr.microsoft.com/mssql/server/mssql-server-linux   "/bin/sh -c /opt/m..."   About an hour ago   Up About an hour    0.0.0.0:1401->1433/tcp   sql1
    

Changer le mot de passe AS

Le compte SA est un administrateur système sur l’instance SQL Server qui est créée lors de l’installation. Une fois le conteneur SQL Server créé, la variable d’environnement MSSQL_SA_PASSWORD que vous avez spécifiée peut être découverte en exécutant echo $MSSQL_SA_PASSWORD dans le conteneur. Pour des raisons de sécurité, changez le mot de passe pour SA :

  1. Choisissez un mot de passe fort à utiliser pour l’utilisateur SA.

  2. Utilisez docker exec pour exécuter l’utilitaire sqlcmd afin de modifier le mot de passe à l’aide d’une instruction Transact-SQL. Remplacez <YourStrong!Passw0rd> et <YourNewStrong!Passw0rd> par les valeurs de vos propres mots de passe :

    Important

    La variable d’environnement SA_PASSWORD est dépréciée. Utilisez MSSQL_SA_PASSWORD à la place.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourStrong!Passw0rd>' \
       -Q 'ALTER LOGIN SA WITH PASSWORD="<YourNewStrong!Passw0rd>"'
    
    docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd `
       -S localhost -U SA -P "<YourStrong!Passw0rd>" `
       -Q "ALTER LOGIN SA WITH PASSWORD='<YourNewStrong!Passw0rd>'"
    

Copier un fichier de sauvegarde dans le conteneur

Ce tutoriel utilise l’exemple de bases de données World Wide Importers pour Microsoft SQL. Procédez comme suit pour télécharger et copier le fichier de sauvegarde de la base de données Wide World Importers dans votre conteneur SQL Server.

  1. Tout d’abord, utilisez docker exec pour créer un dossier de sauvegarde. La commande suivante crée un répertoire /var/opt/mssql/backup dans le conteneur SQL Server.

    sudo docker exec -it sql1 mkdir /var/opt/mssql/backup
    
  2. Ensuite, téléchargez le fichier WideWorldImporters-Full.bak sur votre ordinateur hôte. Les commandes suivantes permettent d’accéder au répertoire d’accueil/d’utilisateur et de télécharger le fichier de sauvegarde sous le nom wwi.bak.

    cd ~
    curl -L -o wwi.bak 'https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak'
    
  3. Utilisez docker cp pour copier le fichier de sauvegarde dans le conteneur du répertoire /var/opt/mssql/backup.

    sudo docker cp wwi.bak sql1:/var/opt/mssql/backup
    

Restaurer la base de données

Le fichier de sauvegarde se trouve maintenant dans le conteneur. Avant de restaurer la sauvegarde, il est important de connaître les noms de fichiers logiques et les types de fichiers à l’intérieur de la sauvegarde. Les commandes Transact-SQL suivantes inspectent la sauvegarde et effectuent la restauration à l’aide de sqlcmd dans le conteneur.

Conseil

Ce tutoriel utilise sqlcmd à l’intérieur du conteneur, car ce dernier est fourni avec cet outil préinstallé. Toutefois, vous pouvez également exécuter des instructions Transact-SQL avec d’autres outils clients en dehors du conteneur, par exemple Extension SQL Server pour Visual Studio Code ou Utiliser SQL Server Management Studio sous Windows pour gérer SQL Server sous Linux. Pour vous connecter, utilisez le port hôte qui a été mappé au port 1433 dans le conteneur. Dans cet exemple, il s’agit de localhost,1401 sur l’ordinateur hôte et de Host_IP_Address,1401 à distance.

  1. Exécutez sqlcmd à l’intérieur du conteneur pour répertorier les noms de fichiers logiques et les chemins d’accès à l’intérieur de la sauvegarde. Cette opération s’effectue à l’aide de l’instruction Transact-SQL RESTORE FILELISTONLY.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd -S localhost \
       -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'RESTORE FILELISTONLY FROM DISK = "/var/opt/mssql/backup/wwi.bak"' \
       | tr -s ' ' | cut -d ' ' -f 1-2
    

    Le résultat doit ressembler à ce qui suit :

    LogicalName   PhysicalName
    ------------------------------------------
    WWI_Primary   D:\Data\WideWorldImporters.mdf
    WWI_UserData   D:\Data\WideWorldImporters_UserData.ndf
    WWI_Log   E:\Log\WideWorldImporters.ldf
    WWI_InMemory_Data_1   D:\Data\WideWorldImporters_InMemory_Data_1
    
  2. Appelez la commande RESTORE DATABASE pour restaurer la base de données à l’intérieur du conteneur. Spécifiez de nouveaux chemins d’accès pour chacun des fichiers de l’étape précédente.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'RESTORE DATABASE WideWorldImporters FROM DISK = "/var/opt/mssql/backup/wwi.bak" WITH MOVE "WWI_Primary" TO "/var/opt/mssql/data/WideWorldImporters.mdf", MOVE "WWI_UserData" TO "/var/opt/mssql/data/WideWorldImporters_userdata.ndf", MOVE "WWI_Log" TO "/var/opt/mssql/data/WideWorldImporters.ldf", MOVE "WWI_InMemory_Data_1" TO "/var/opt/mssql/data/WideWorldImporters_InMemory_Data_1"'
    

    Le résultat doit ressembler à ce qui suit :

    Processed 1464 pages for database 'WideWorldImporters', file 'WWI_Primary' on file 1.
    Processed 53096 pages for database 'WideWorldImporters', file 'WWI_UserData' on file 1.
    Processed 33 pages for database 'WideWorldImporters', file 'WWI_Log' on file 1.
    Processed 3862 pages for database 'WideWorldImporters', file 'WWI_InMemory_Data_1' on file 1.
    Converting database 'WideWorldImporters' from version 852 to the current version 869.
    Database 'WideWorldImporters' running the upgrade step from version 852 to version 853.
    Database 'WideWorldImporters' running the upgrade step from version 853 to version 854.
    Database 'WideWorldImporters' running the upgrade step from version 854 to version 855.
    Database 'WideWorldImporters' running the upgrade step from version 855 to version 856.
    Database 'WideWorldImporters' running the upgrade step from version 856 to version 857.
    Database 'WideWorldImporters' running the upgrade step from version 857 to version 858.
    Database 'WideWorldImporters' running the upgrade step from version 858 to version 859.
    Database 'WideWorldImporters' running the upgrade step from version 859 to version 860.
    Database 'WideWorldImporters' running the upgrade step from version 860 to version 861.
    Database 'WideWorldImporters' running the upgrade step from version 861 to version 862.
    Database 'WideWorldImporters' running the upgrade step from version 862 to version 863.
    Database 'WideWorldImporters' running the upgrade step from version 863 to version 864.
    Database 'WideWorldImporters' running the upgrade step from version 864 to version 865.
    Database 'WideWorldImporters' running the upgrade step from version 865 to version 866.
    Database 'WideWorldImporters' running the upgrade step from version 866 to version 867.
    Database 'WideWorldImporters' running the upgrade step from version 867 to version 868.
    Database 'WideWorldImporters' running the upgrade step from version 868 to version 869.
    RESTORE DATABASE successfully processed 58455 pages in 18.069 seconds (25.273 MB/sec).
    

Vérifier la base de données restaurée

Exécutez la requête suivante pour afficher une liste de noms de base de données dans votre conteneur :

sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
   -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
   -Q 'SELECT Name FROM sys.Databases'

Vous devez voir WideWorldImporters dans la liste des bases de données.

Apporter une modification

Procédez comme suit pour apporter une modification à la base de données.

  1. Exécutez une requête pour afficher les 10 premiers éléments de la table Warehouse.StockItems.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'SELECT TOP 10 StockItemID, StockItemName FROM WideWorldImporters.Warehouse.StockItems ORDER BY StockItemID'
    

    Vous devez voir une liste de noms et d’identificateurs d’élément :

    StockItemID StockItemName
    ----------- -----------------
              1 USB missile launcher (Green)
              2 USB rocket launcher (Gray)
              3 Office cube periscope (Black)
              4 USB food flash drive - sushi roll
              5 USB food flash drive - hamburger
              6 USB food flash drive - hot dog
              7 USB food flash drive - pizza slice
              8 USB food flash drive - dim sum 10 drive variety pack
              9 USB food flash drive - banana
             10 USB food flash drive - chocolate bar
    
  2. Mettez à jour la description du premier élément à l’aide de l’instruction UPDATE suivante :

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'UPDATE WideWorldImporters.Warehouse.StockItems SET StockItemName="USB missile launcher (Dark Green)" WHERE StockItemID=1; SELECT StockItemID, StockItemName FROM WideWorldImporters.Warehouse.StockItems WHERE StockItemID=1'
    

    Le résultat doit ressembler au texte qui suit :

    (1 rows affected)
    StockItemID StockItemName
    ----------- ------------------------------------
              1 USB missile launcher (Dark Green)
    

Créer une nouvelle sauvegarde

Une fois que vous avez restauré votre base de données dans un conteneur, vous pouvez également créer régulièrement des sauvegardes de base de données dans le conteneur exécuté. Les étapes suivent un modèle similaire aux étapes précédentes, mais en sens inverse.

  1. Utilisez la commande BACKUP DATABASE Transact-SQL pour créer une sauvegarde de base de données dans le conteneur. Ce tutoriel crée un fichier de sauvegarde wwi_2.bak dans le répertoire /var/opt/mssql/backup créé précédemment.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q "BACKUP DATABASE [WideWorldImporters] TO DISK = N'/var/opt/mssql/backup/wwi_2.bak' WITH NOFORMAT, NOINIT, NAME = 'WideWorldImporters-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
    

    Vous devez voir une sortie de ce type :

    10 percent processed.
    20 percent processed.
    30 percent processed.
    40 percent processed.
    50 percent processed.
    60 percent processed.
    70 percent processed.
    Processed 1200 pages for database 'WideWorldImporters', file 'WWI_Primary' on file 1.
    Processed 53096 pages for database 'WideWorldImporters', file 'WWI_UserData' on file 1.
    80 percent processed.
    Processed 3865 pages for database 'WideWorldImporters', file 'WWI_InMemory_Data_1' on file 1.
    Processed 938 pages for database 'WideWorldImporters', file 'WWI_Log' on file 1.
    100 percent processed.
    BACKUP DATABASE successfully processed 59099 pages in 25.056 seconds (18.427 MB/sec).
    
  2. Ensuite, copiez le fichier de sauvegarde à partir du conteneur et sur votre ordinateur hôte.

    cd ~
    sudo docker cp sql1:/var/opt/mssql/backup/wwi_2.bak wwi_2.bak
    ls -l wwi*
    

Utiliser les données persistantes

Outre la réalisation de sauvegardes de base de données pour protéger vos données, vous pouvez également utiliser des conteneurs de volume de données. Le début de ce tutoriel a créé le conteneur sql1 avec le paramètre -v sql1data:/var/opt/mssql. Le conteneur de volume de données sql1data persiste les données /var/opt/mssql, même après la suppression du conteneur. Les étapes suivantes suppriment complètement le conteneur sql1 puis créent un nouveau conteneur sql2 avec les données persistantes.

  1. Arrêtez le conteneur sql1.

    sudo docker stop sql1
    
  2. Supprimez le conteneur. Cela ne supprime pas le conteneur de volume de données sql1data précédemment créé ni les données persistantes qu’il contient.

    sudo docker rm sql1
    
  3. Créez un conteneur sql2 et réutilisez le conteneur de volume de données sql1data.

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql2' -e 'MSSQL_PID=Developer' -p 1401:1433 \
       -v sql1data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
    
  4. La base de données Wide World Importers se trouve à présent dans le nouveau conteneur. Exécutez une requête pour vérifier la modification que vous avez apportée précédemment.

    sudo docker exec -it sql2 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'SELECT StockItemID, StockItemName FROM WideWorldImporters.Warehouse.StockItems WHERE StockItemID=1'
    

    Remarque

    Le mot de passe AS n’est pas le mot de passe que vous avez spécifié pour le conteneur sql2, MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>. Toutes les données SQL Server ont été restaurées à partir de sql1, notamment le mot de passe modifié précédemment dans le tutoriel. En effet, certaines options comme celle-ci sont ignorées en raison de la restauration des données dans /var/opt/mssql. C’est la raison pour laquelle le mot de passe <YourNewStrong!Passw0rd> est affiché ici.

  1. Arrêtez le conteneur sql1.

    sudo docker stop sql1
    
  2. Supprimez le conteneur. Cela ne supprime pas le conteneur de volume de données sql1data précédemment créé ni les données persistantes qu’il contient.

    sudo docker rm sql1
    
  3. Créez un conteneur sql2 et réutilisez le conteneur de volume de données sql1data.

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql2' -e 'MSSQL_PID=Developer' -p 1401:1433 \
       -v sql1data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
    
  4. La base de données Wide World Importers se trouve à présent dans le nouveau conteneur. Exécutez une requête pour vérifier la modification que vous avez apportée précédemment.

    sudo docker exec -it sql2 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'SELECT StockItemID, StockItemName FROM WideWorldImporters.Warehouse.StockItems WHERE StockItemID=1'
    

    Remarque

    Le mot de passe AS n’est pas le mot de passe que vous avez spécifié pour le conteneur sql2, MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>. Toutes les données SQL Server ont été restaurées à partir de sql1, notamment le mot de passe modifié précédemment dans le tutoriel. En effet, certaines options comme celle-ci sont ignorées en raison de la restauration des données dans /var/opt/mssql. C’est la raison pour laquelle le mot de passe <YourNewStrong!Passw0rd> est affiché ici.

  1. Arrêtez le conteneur sql1.

    sudo docker stop sql1
    
  2. Supprimez le conteneur. Cela ne supprime pas le conteneur de volume de données sql1data précédemment créé ni les données persistantes qu’il contient.

    sudo docker rm sql1
    
  3. Créez un conteneur sql2 et réutilisez le conteneur de volume de données sql1data.

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql2' -e 'MSSQL_PID=Developer' -p 1401:1433 \
       -v sql1data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latest
    
  4. La base de données Wide World Importers se trouve à présent dans le nouveau conteneur. Exécutez une requête pour vérifier la modification que vous avez apportée précédemment.

    sudo docker exec -it sql2 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'SELECT StockItemID, StockItemName FROM WideWorldImporters.Warehouse.StockItems WHERE StockItemID=1'
    

    Remarque

    Le mot de passe AS n’est pas le mot de passe que vous avez spécifié pour le conteneur sql2, MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>. Toutes les données SQL Server ont été restaurées à partir de sql1, notamment le mot de passe modifié précédemment dans le tutoriel. En effet, certaines options comme celle-ci sont ignorées en raison de la restauration des données dans /var/opt/mssql. C’est la raison pour laquelle le mot de passe <YourNewStrong!Passw0rd> est affiché ici.

Étape suivante

Dans ce tutoriel, vous avez appris à sauvegarder une base de données sur Windows et à la déplacer vers un serveur Linux exécutant SQL Server 2017 (14.x) dans un conteneur. Vous avez appris à :

Dans ce tutoriel, vous avez appris à sauvegarder une base de données sur Windows et à la déplacer vers un serveur Linux exécutant SQL Server 2019 (15.x) dans un conteneur. Vous avez appris à :

Dans ce tutoriel, vous avez appris à sauvegarder une base de données sur Windows et à la déplacer vers un serveur Linux exécutant SQL Server 2022 (16.x) dans un conteneur. Vous avez appris à :

  • Créer des images conteneurs SQL Server Linux.
  • Copier les sauvegardes de base de données SQL Server dans un conteneur.
  • Exécuter les instructions Transact-SQL avec sqlcmd.
  • Créer et extraire des fichiers de sauvegarde à partir d’un conteneur.
  • Utiliser des conteneurs de volume de données pour rendre persistantes les données de production SQL Server.

Ensuite, consultez les autres scénarios de configuration et de résolution des problèmes de conteneur :

Contribuer à la documentation SQL

Saviez-vous que vous pouvez modifier le contenu SQL vous-même ? Dans ce cas, non seulement vous nous aidez à améliorer notre documentation, mais vous êtes également cité en tant que contributeur à la page.

Pour plus d’informations, consultez Guide pratique pour contribuer à la documentation SQL Server