Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment restaurer une base de données SQL Server sur un Mac à l'aide de SQL Operations Studio

MISE À JOUR :SQL Operations Studio (SQLOPS) a depuis été renommé Azure Data Studio. Les étapes de cet article restent cependant les mêmes. Dans tous les cas, j'ai également réécrit ces étapes (et inclus les captures d'écran équivalentes) spécifiquement pour Azure Data Studio. Consultez Comment restaurer une base de données SQL Server sur un Mac à l'aide d'Azure Data Studio.

La restauration d'une base de données est un jeu d'enfant avec SQL Operations Studio. C'est un processus similaire à celui de le faire avec SQL Server Management Studio. Cliquez simplement sur Restaurer et suivez les instructions.

Ce processus de restauration vous permet de naviguer dans le système de fichiers de l'ordinateur pour localiser le fichier .bak. Ce fichier .bak contient une sauvegarde de la base de données que vous souhaitez restaurer. Ainsi, lorsque SQL Server restaure la base de données, il utilise le fichier .bak pour le faire.

Cependant, si vous exécutez votre instance SQL Server dans un conteneur Docker (ce qui, bien sûr, vous le feriez si vous exécutez SQL Server sur Mac ou Linux), il y a quelque chose dont vous devez être conscient si votre fichier de sauvegarde se trouve en dehors du conteneur Docker.

Si le fichier de sauvegarde se trouve en dehors du conteneur Docker qui exécute SQL Server, vous devrez le copier dans le conteneur Docker avant de procéder à la restauration. Une fois que vous avez copié le fichier .bak dans le conteneur Docker, vous pouvez continuer et utiliser SQLOPS pour restaurer la base de données.

Ci-dessous, je décris toutes les étapes impliquées.

Ce didacticiel suppose que vous avez installé SQL Server sur votre Mac à l'aide d'un conteneur Docker et que vous avez installé SQL Operations Studio.

Je dois souligner que, même si les exemples de cette page ont été réalisés sur un Mac, toutes les étapes devraient fonctionner à la fois sur macOS et Linux.

Télécharger un exemple de base de données

Si vous avez déjà votre propre fichier .bak de base de données, vous n'avez pas besoin d'effectuer cette étape.

Pour ce didacticiel, je vais restaurer l'exemple de base de données WideWorldImporters. Il s'agit d'un exemple de base de données que Microsoft a mis à disposition pour montrer les différentes fonctionnalités de SQL Server. En particulier, j'utiliserai la version d'entreposage de données de la base de données.

Pour télécharger l'exemple de fichier .bak de la base de données WideWorldImporters, rendez-vous sur la page Github de WideWorldImporters et recherchez le lien de téléchargement, ou vous pouvez télécharger le fichier .bak directement ici :

  • WildWorldImportersDW-Full.bak [47.7mb]

Copiez le fichier .bak dans le conteneur Docker

Vous n'aurez besoin d'effectuer cette étape que si votre fichier .bak se trouve en dehors du conteneur Docker (ce qui sera le cas si vous venez de télécharger le fichier .bak de WideWorldImporters).

Commençons par créer un dossier dans le conteneur Docker :

sudo docker exec -it sql_server_demo mkdir /var/opt/mssql/backup

Copiez maintenant le fichier .bak de la base de données dans ce dossier :

sudo docker cp WideWorldImportersDW-Full.bak sql_server_demo:/var/opt/mssql/backup

Cette commande suppose que vous êtes dans le même répertoire que le fichier .bak. Si ce n'est pas le cas, changez dans le répertoire utilisé en premier. Par exemple :

cd Downloads

ou quel que soit le dossier dans lequel il se trouve.

Pourquoi avons-nous besoin de copier le fichier .bak ?

Le conteneur Docker possède son propre système de fichiers et il vit en quelque sorte indépendamment du système de fichiers de votre Mac. Ainsi, lorsque vous essayez d'accéder au fichier .bak dans SQLOPS (à l'étape suivante), vous vous retrouvez "coincé" dans le système de fichiers du conteneur Docker, sans aucun moyen d'accéder au fichier .bak sur le système de fichiers de votre Mac. Par conséquent, nous copions d'abord le fichier .bak dans le système de fichiers du conteneur, puis nous pouvons y accéder via SQLOPS.

Restaurer la base de données

OK, nous pouvons maintenant effectuer le processus de restauration de la base de données.

Les étapes suivantes supposent que vous avez déjà exécuté SQL Operations Studio et que vous êtes déjà connecté à SQL Server.

  1. Depuis le tableau de bord du serveur, cliquez sur Restaurer bouton
  2. Lors de la restauration à partir de titre, sélectionnez Fichier de sauvegarde depuis le menu déroulant
  3. Au niveau du chemin du fichier de sauvegarde titre, cliquez sur les points de suspension ( )
  4. Naviguez jusqu'au dossier, sélectionnez le fichier .bak et cliquez sur OK
  5. Cliquez sur Restaurer
  6. La restauration peut prendre une minute ou deux. L'Historique des tâches indiquera quand il est prêt

La base de données a maintenant été restaurée.

Vérifiez la base de données

Vous voudrez probablement vérifier que la base de données a bien été restaurée. Une façon de procéder consiste à accéder à la base de données et à exécuter une requête rapide.

  1. Cliquez sur Serveurs icône (en haut à gauche de l'écran)
  2. La base de données devrait maintenant être répertoriée sous Bases de données en-tête du serveur applicable. Sinon, faites un clic droit sur Bases de données et sélectionnez Actualiser
  3. Utilisez l'interface SQLOPS pour exécuter une requête sur la base de données. Par exemple, faites un clic droit sur les tableaux node (après avoir développé la base de données) et cliquez sur Select Top 1000 . Cela exécute automatiquement une requête sur cette table, en sélectionnant uniquement les 1000 premiers résultats