web-dev-qa-db-fra.com

Comment restaurer une base de données à partir d'un fichier bak à partir d'Azure Data Studio sur Mac

Auparavant, sur Mac, j'utilise mysql operation studio et je clique sur la base de données et cliquez sur restaurer, puis accédez à mon fichier bak, mais maintenant ils passent à Azure data studio et quand je répète les mêmes étapes, j'ai cette erreur: "Vous devez activer les fonctionnalités d'aperçu dans pour utiliser la restauration " enter image description here mais je ne peux pas comprendre à chaud pour permettre cela. J'ai googlé et essayé peu de choses, même ouvrir mon compte Azure, Microsoft sur le site Web, mais je ne vois pas cette option. Quelqu'un peut-il m'aider s'il vous plaît!

8
user1314404
  • Accédez à Azure Data Studios> Paramètres
  • Modifier les paramètres en cliquant sur "nouvel éditeur de paramètres"
  • Rechercher "aperçu"
  • Faites défiler vers le bas et cochez "Activer les fonctionnalités d'aperçu inédites"
14
user1705135

Ajouter ceci comme réponse car je n'ai pas assez de représentant pour commenter. C'est en réponse à la question dans le commentaire pour la réponse à l'OP (si ce n'est pas assez déroutant!)

Cela ne s'applique que lorsque votre base de données SQL est hébergée sur un conteneur Mac/Linux/Docker. Nous n'avons pas de serveurs Windows dans notre domaine pour que je puisse tester cela pour voir si l'emplacement des fichiers .bak est différent.

Lorsque vous cliquez sur le bouton "...", il accède à/var/opt/mssql/data sur la machine (ou le conteneur Docker) sur lequel la base de données est hébergée. Ce n'est pas un problème si vous sauvegardez et restaurez des bases de données sur le même hôte, cependant, si vous migrez vers un nouveau serveur ou créez simplement un environnement dev/UAT/staging, cela devient un problème parce que vous n'avez pas accès à var/opt/mssql/data.

C'est un peu un marteau pour casser une solution de type écrou, mais comme je travaille avec 2 boîtes de développement, cela ne fait pas beaucoup de différence pour moi.

Pour rendre cela plus facile à comprendre, j'appellerai le serveur qui héberge la base de données que vous avez sauvegardée ProdServ & le serveur sur lequel vous restaurez DevServ.

Sur DevServ, à une invite de terminal, accédez à/var/opt et notez les autorisations actuelles sur le répertoire mssql (les miennes étaient drwxrwx ---).

$ cd /var/opt

$ ls -la

Google la valeur octale de vos autorisations (dans mon cas, c'est 770)

Remplacez les autorisations du répertoire de données par rwxrwxrwx.

$ chmod -R 777 /var/opt/mssql/data

(Vous devrez également le faire sur ProdServ s'il s'agit également d'un système d'exploitation basé sur Unix)

Copiez les fichiers .bak de ProdServ vers DevServ via une méthode adaptée à l'environnement dans lequel vous travaillez.

Windows -> Linux j'utiliserais WinSCP

Pour Mac vers Docker, docker cp <fileToCopy> <container>:<destinationPath> fonctionne parfaitement bien.

Une fois les fichiers copiés, ils apparaîtront comme par magie lorsque vous cliquez à nouveau sur le bouton "..." dans Azure Data Studio. Assurez-vous de modifier les autorisations de répertoire à leur valeur d'origine via la même commande. Donc, dans mon cas, simplement

$ chmod -R 770 /var/opt/mssql/data

De plus, si vous avez l'habitude de travailler dans MSSMS, l'assistant vous permet de créer une base de données à partir d'un fichier .bak, d'après ce que je peux voir, Azure Data Studio ne le fait pas. Vous devez d'abord créer la base de données (CREATE DATABASE <databasename>) dans une fenêtre de requête, puis restaurez-y le fichier .bak.

1
Lex