Exportation et importation de bases de données MSSQL via un partage réseau
- Mike Sherman
- 8 octobre 2020, 9h00 HAE
Lorsque vous travaillez avec des bases de données MSSQL, vous pouvez constater que vous devez exporter des bases de données sur un partage réseau directement depuis l’interface SQL Server Management Studio (SMSS). Bien que SMSS ne contienne pas cette fonction en mode natif, nous allons vous montrer un travail de contournement!
Tout d’abord, Couvrons l’exportation et l’importation de bases de données MSSQL
Comme une nécessité de base pour utiliser ce guide, nous voulons nous assurer que vous savez comment exporter et importer vos bases de données sous.fichiers bak. C’est à la fois la façon dont vous sauvegardez une base de données MSSQL et la façon dont vous déplacez une base de données entre deux serveurs. Ce processus est appelé en interne au sein de SSMS (SQL Server Management Studio) en tant que Sauvegarde ou Restauration d’une base de données, selon la direction dans laquelle vous allez.
Exportation d’une base de données MSSQL par sauvegarde
Pour commencer à exporter votre base de données, ouvrez SSMS, connectez-vous à votre serveur et accédez à votre base de données.
Vous pouvez sauvegarder la base de données en cliquant avec le bouton droit sur les bases de données souhaitées et en accédant à Tâches > Sauvegarde.
Cela ouvre le menu Base de données de sauvegarde dans lequel vous pouvez sélectionner votre base de données à sauvegarder, votre type de sauvegarde, la destination du fichier et de nombreuses autres options. Pour les besoins de cet article, nous n’avons pas besoin de modifier de paramètres supplémentaires ou avancés pour le moment, alors soyez simplement conscient du menu et de sa mise en page.
Lors de la création d’une sauvegarde MSSQL, votre base de données sera exportée en tant que.fichier bak. Dans la section destination du menu ci-dessus, vous pouvez ajouter ou supprimer des emplacements vers lesquels sauvegarder votre base de données. Vous pouvez ajouter un ou plusieurs emplacements pour l’emplacement de destination de votre.fichier bak.
Cliquez sur OK et votre base de données sera sauvegardée à l’emplacement sélectionné.
Importation d’une base de données MSSQL en restaurant
Pour restaurer une base de données, nous allons suivre un processus similaire mais en sens inverse. Au lieu d’exporter la base de données vers a.fichier bak, nous allons importer la base de données à partir du.dossier arrière.
Pour importer votre base de données, cliquez avec le bouton droit sur votre serveur au lieu de la base de données et sélectionnez Restaurer la base de données.
Cela vous amène à un menu similaire au menu de sauvegarde, où vous pouvez sélectionner le fichier à partir duquel vous importez, sous le paramètre de l’appareil, et sa destination d’emplacement ainsi que toute autre option avancée dont vous pourriez avoir besoin.
Sélectionner l’icône sous le menu Source > Appareil vous permet de sélectionner le.fichier bak que vous souhaitez importer. Cliquez sur Ajouter et vous pouvez accéder au .fichier bak que vous souhaitez restaurer. Cliquez sur OK et votre base de données sera importée sur le serveur SQL actuel !
À ce stade, si vous essayez d’importer ou d’exporter vers un partage réseau ou un lecteur mappé, vous pouvez rencontrer des difficultés.
Pourquoi ne puis-je pas Exporter Directement vers un Lecteur Mappé ?
La raison pour laquelle ce guide existe est que Microsoft n’inclut pas en mode natif une fonction permettant d’exporter une base de données directement vers un partage réseau ou un lecteur mappé. Lorsque vous exportez votre base de données pour des sauvegardes ou pour l’importer sur un autre serveur, vous ne pouvez sélectionner aucun lecteur en réseau dans le menu ou saisir manuellement un emplacement distant.
Si vous essayez d’accéder au lecteur en sélectionnant l’icône dans le menu Sélectionner la destination de sauvegarde, votre lecteur Z: en réseau ne sera pas répertorié et seuls les lecteurs locaux seront affichés.
Beaucoup essaient de saisir manuellement le chemin d’accès à leur lecteur réseau. Si vous entrez directement le chemin d’accès à votre lecteur de partage réseau, tel que Z:\mybackup .bak, vous pouvez cliquer sur OK dans le menu Sélectionner la destination de sauvegarde.
Mais lorsque vous cliquez sur OK sur l’exportation finale, un message d’erreur similaire à celui-ci apparaît:
Comme vous pouvez le voir, cela peut poser problème si vous devez sauvegarder des bases de données vers un emplacement distant par manque d’espace ou pour des raisons de sécurité. En règle générale, vous devez ensuite exporter la base de données localement, la copier sur le serveur distant, puis l’importer sur le serveur SQL de destination.
Comment Contourner Cette Fonctionnalité Manquante?
Pour ce faire, une série de scripts doit être exécutée pour ajouter le lecteur en réseau au menu sélectionnable MSSQL. La première chose à faire est de supprimer votre partage réseau actuel, car vous le recréez pendant le processus dans la ligne de commande SQL. Pour ce faire, cliquez simplement avec le bouton droit sur le lecteur dans l’explorateur de fichiers et sélectionnez “Déconnecter” ou ouvrir l’invite de commande, puis entrez:
net use Z: /delete
Votre partage réseau est la lettre de lecteur de Z.
Maintenant que vous avez supprimé le partage existant, ouvrez SSMS et créez une nouvelle requête avec les commandes suivantes:
EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXEC sp_configure 'xp_cmdshell',1 GO RECONFIGURE GO
Cliquez sur Exécuter et vous devriez voir la fenêtre suivante:
Ce que ce script fait est de configurer le shell de commande pour SQL pour vous permettre d’exécuter vos propres scripts directement à partir du shell de commande compatible SQL.
Une fois que vous avez exécuté la commande ci-dessus, créez une nouvelle requête et exécutez la commande suivante:
EXEC XP_CMDSHELL 'net use Z: \192.168.1.1\C$ /user:Administrator '
Remplacez 192.168.1.1 par l’adresse IP de votre serveur de destination distant et mettez à jour pour être le mot de passe de l’utilisateur administratif. Veuillez noter que pour créer ces partages, vous avez presque certainement besoin de droits d’administrateur.
Vous pouvez maintenant vérifier que votre lecteur en réseau est correctement configuré dans SQL en exécutant la requête suivante:
EXEC XP_CMDSHELL 'Dir V:'
Vous avez activé la coquille de commande, créé un partage réseau dans SQL et vérifié son existence. Vous pouvez désormais exporter et importer des sauvegardes directement à partir de cet emplacement. Vous pouvez le voir en accédant à la sauvegarde de votre base de données > Tâches > où vous pouvez voir que le lecteur Z: est disponible lors de l’ajout d’un emplacement de destination à sauvegarder.
Félicitations! Vous avez maintenant configuré un partage réseau dans SQL qui persiste même si vous fermez et rouvrez SSMS. Vous pouvez sauvegarder ou restaurer directement à cet emplacement maintenant, et vous n’avez plus à vous soucier de sauvegarder les bases de données localement, mais à les déplacer sur un serveur distant immédiatement après.
Mike Sherman a travaillé comme administrateur principal de serveurs d’entreprise pour un centre de données international, ainsi que comme consultant technique pour un MSP national. Il a des années d’expérience dans l’hébergement, la sécurité et la résolution de problèmes pratiques.Lire la Bio complète ”
Leave a Reply