Comment puis-je sauvegarder un Serveur SQL server distant de la base de données sur un lecteur local?
J'ai besoin de copier une base de données à partir d'un serveur distant à un autre local. J'ai essayé d'utiliser SQL Server Management Studio, mais il ne sauvegarde d'un disque sur le serveur distant.
Certains points:
- Je n'ai pas accès au serveur distant dans une manière que je pourrais copier des fichiers;
- Je n'ai pas accès à la configuration d'un chemin UNC vers mon serveur;
Toutes les idées de comment puis-je copier cette base de données? Vais-je devoir utiliser la 3ème partie outils?
- Je pense que si vous n'avez pas accès à la structure de répertoire à tous, vous serez mis au défi d'essayer de le faire.
- Vous êtes juste essayer de copier la base de données plutôt que spécifiquement le sauvegarder? Si oui, vous pouvez utiliser l'Assistant Copie de Base ou (SQL Server 2008) utiliser la fonction "Générer des Scripts" pour le script le Schéma et les Données. Redgate SQL de Comparer et de comparaison des Données peut également être utile ici.
- Selon votre suggestion,j'ai le script généré à l'aide de
Generate and Publish Scripts
option. Je reçois tous les tableaux et de schémas.Mais je n'ai pas toutes les données avec des tables. Comment puis-je résoudre ce problème. - Bonne question l'homme. Aurait mérité un point.
Vous devez vous connecter pour publier un commentaire.
Dans Microsoft SQL Server Management Studio, vous pouvez droit-cliquez sur la base de données que vous souhaitez sauvegarder et cliquez sur Tâches -> Générer des Scripts.
Cela ouvre un assistant où vous pouvez définir les options suivantes pour effectuer un décent de sauvegarde de votre base de données, même sur un serveur distant:
Une fois que c'est fait sa chose, vous aurez un script de sauvegarde prêts en face de vous. Créer un nouveau local (ou à distance) de la base de données, et de modifier le premier 'UTILISER' instruction dans le script pour utiliser votre nouvelle base de données. Enregistrez le script dans un lieu sûr, et aller de l'avant et de l'exécuter à l'encontre de votre nouvelle base de données vide. Cela devrait créer vous un (presque) dupliquer la base de données locale, vous pouvez ensuite la sauvegarde que vous le souhaitez.
Si vous avez plein l'accès à la base de données distante, vous pouvez choisir de cocher la case "script tous les objets" dans l'assistant de première fenêtre, puis modifiez le Script de la Base de données' option à True sur la fenêtre suivante. Mais attention, vous devrez effectuer une recherche complète & remplacement du nom de base de données dans le script d'une nouvelle base de données qui, dans ce cas vous n'aurez pas à créer avant d'exécuter le script. Cela devrait créer plus de précision en double mais n'est parfois pas disponible en raison de restrictions des autorisations.
INSERT
consolidés.Pour copier les données et le schéma uniquement (ne pas copier des procédures stockées, des fonctions, etc.), utiliser SQL Server Assistant Importation et Exportation, et de choisir Nouveau... lors du choix de la base de données de destination.
À droite, Cliquez sur Base de données > les Tâches > Importer des Données.
Choisir une Source de Données
Choisir une Destination
New...
Le reste est simple.
D'abord, accorder des autorisations contrôle total sur un chemin local sur votre machine (voir ci-dessous) avec tout le monde. (Ou sinon accorder des autorisations spécifiquement pour le compte SQL Server Agent).
Deuxième, exécutez les opérations suivantes:
Vous ne peut pas créer une sauvegarde à partir d'un serveur distant sur un disque local - il est tout simplement aucun moyen pour ce faire. Et il n'y a pas d'outils tiers à le faire, autant que je sache.
Tout ce que vous pouvez faire est de créer une copie de sauvegarde sur le serveur distant, et avoir quelqu'un zip et l'envoyer à vous.
.bak
fichier sera écrit sur le serveur DISTANT dans son système de fichiersEveryone with read/write
vous pouvez utiliser le chemin d'accès UNC\\your_pc\your_share\db.bak
sur le serveur distant 🙂 ...je me rends compte que le po précise qu'il n'a pas ces droits , mais il est possibleJe sais que c'est la réponse tardive mais je dois faire un commentaire à propos de la plupart voté réponse qui dit d'utiliser l'option générer des scripts dans SSMS.
Problème avec ça, c'est cette option n'est pas nécessairement générer un script dans l'exécution correcte de l'ordre car elle ne prend pas les dépendances en compte.
Pour les petites bases de données ce n'est pas un problème mais pour les plus grands, c'est certainement parce qu'il exige à nouveau manuellement afin que le script. Essayer que sur 500 objet de base de données 😉
Malheureusement, dans ce cas, la seule solution sont des outils de tiers.
J'ai utilisé avec succès des outils de comparaison de ApexSQL (Diff et les Données Diff) pour des tâches similaires, mais vous ne pouvez pas vous tromper avec une autre déjà mentionné ici, en particulier Porte Rouge.
Vous pouvez essayer SQLBackupAndFTP. Il permettra de créer des scripts permettant de créer tous les objets de votre base de données et INSÉRER des instructions pour toutes les lignes dans vos tables. Dans une base de données, vous pouvez exécuter ce fichier de script et de l'ensemble de la base de données sera re-créé.
Oeil à ce blog pour une description de la façon de copier une base de données distante:
Sauvegarde d'une Base de données SQL Server 2008 à Partir d'un Environnement d'Hébergement Partagé
Il y a les 99% solution pour obtenir bak fichier à partir du serveur sql server distant à votre pc local. J'ai décrit dans mon post http://www.ok.unsode.com/post/2015/06/27/remote-sql-backup-to-local-pc
En général, il ressemblera à ceci:
exécuter un script sql pour générer des fichiers bak
exécuter un script sql pour insérer chaque bak fichier dans la table temporaire avec varbinary type de champ et sélectionnez cette ligne et de télécharger des données
répéter prev. l'étape autant de fois que vous avez bak fichiers
exécuter un script sql pour supprimer toutes les ressources temporaires
que c'est, vous avez votre bak fichiers sur votre ordinateur local.
Vous pouvez utiliser la Copie de la base de données ... cliquez-droit sur la base de données distante ... sélectionner des tâches et l'utilisation de la copie de la base de données ... il vous demande sur les serveurs source et de destination . que votre source est la distance et la destination est à votre instance locale de sql server.
c'est facile
La AppHarbor gang a du mal avec cela et a développé une solution temporaire à l'aide de SQL server management objects et SqlBulkCopy.
Découvrez leur blog à ce sujet, ou aller directement le code.
Ils ne l'ai testé avec AppHarbor mais il peut être la peine de vérifier.
Les réponses ci-dessus sont tout simplement pas correct. Un Script SQL, même avec des données n'est pas une sauvegarde. Une sauvegarde est une BAK fichier qui contient la base de données complète dans sa structure actuelle, y compris indizes.
Bien sûr un BAK fichier contenant la sauvegarde complète de toutes les données et indizes à partir d'un Serveur SQL server distant de la base de données peuvent être récupérées sur un système local.
Cela peut être fait avec un logiciel commercial, d'enregistrer directement une sauvegarde BAK fichier sur votre ordinateur local, par exemple Cette une permettra de créer directement une sauvegarde à partir d'une instance distante de SQL db sur votre machine locale.
Martin Smith a dit, si vous n'avez pas accès à la machine ou le système de fichiers, vous aurez besoin d'utiliser des outils de tiers, comme le Rouge de la Porte ou de l'art de faire une comparaison sur les systèmes source et de destination. Rouge Porte outils vous permettent de copier les objets et les schémas ET les données.
yone façon pour vous de faire une sauvegarde à partir d'une instance distante de SQL Server sur votre disque local, compte tenu de la condition suivante est satisfaite:
Maintenant lors de la spécification de la commande de sauvegarde, utilisez le chemin d'accès au dossier partagé lors de la spécification de l'option de disque.
juste essayer celui-ci:
1)Partager un dossier avec la permission de votre ordinateur
2) dans votre serveur SQL server :
panneau de configuration -> outils d'administration -> services> clic droit sur tous les services SQL
sur l'onglet connexion doit commencer avec votre administrateur de domaine
3) dans l'assistant de maintenance de sql server endroit de l'emplacement de sauvegarde et de dossier (\votre_ordinateur\sharedfoldernam)
J'ai fait la sauvegarde à distance sur 8 server de sql server 2008 dans notre société
Je suis étonné que personne ne l'a mentionné, le script de la solution de sauvegarde proposé par Ola Hallengren absolument ne vous permettent de sauvegarder une base de données à partir d'un serveur distant à un chemin d'accès UNC sur votre réseau de free (je suis en train de l'utiliser comme je le type de sauvegarde de la base de données à partir d'un serveur de dev pour laquelle je n'ai pas d'accès à distance autres que par le biais de SSMS pour un partage sur mon dev PC). Ce qui a été disponible depuis 2008 et travaille sur SQL Server 2005 à 2014.
Vous devez vous assurer que le partage a un accès suffisant: j'ai tendance à autoriser l'accès complet en lecture/écriture pour le "tout le monde" groupe d'ANNONCES pour la durée de la procédure de sauvegarde, parce que je suis trop paresseux pour comprendre quelque chose de plus restrictif, mais c'est un choix personnel.
Il est bien utilisé, bien documenté et très flexible. J'ai tendance à mettre le proc et la table de journalisation dans leur propre petit utilitaire de base de données, puis de le lancer. Fourni tout ce qui est dans votre domaine AD et pas à distance dans le sens où il est sorti sur une co-situé serveur ou quelque chose, cela fonctionne très bien.
Excuses pour l'ajout d'un fil très vieux, mais je suis tombé sur cette lorsque recherche de quelque chose d'autre et pensé que c'était un ajout utile pour toute personne à la recherche pour ce sujet.
Je pouvais le faire qu'une fois...POUR ce faire, vous devez avoir une part ouvert sur le serveur distant. ensuite, vous pouvez directement placer la sauvegarde sur l'action elle-même, que l'emplacement par défaut...
Généralement l'admin prend la sauvegarde et le partage avec nous à un dossier partagé. J'ai essayé si cela fonctionnera si je place la sauvegarde. Il a travaillé.
Si vous utilisez l'Générer des Scripts sous SSMS, cliquez sur le bouton Avancé. En vertu de la " Générer des Scripts pour les objets qui dépendent de l'option, cliquez sur True. En cliquant que toutes les dépendances de chaque objet sera aussi scripté dans le bon ordre.
Certains programmes de sauvegarde tiers permettent le paramétrage de transfert de fichiers avec un réseau spécifique des autorisations. Il très utile lorsque le service SQL Server s'exécute sous un compte restreint et n'a pas assez d'autorisations de réseau. Essayez d'utiliser EMS SQL Backup qui résout ce problème.
- Je utiliser Redgate backup pro 7 des outils à cette fin. vous pouvez créer un miroir à partir du fichier de sauvegarde dans la création de carrelage sur un autre emplacement. et pouvez copier le fichier de sauvegarde après avoir créer du réseau et du stockage de l'hôte automatiquement.
Si vous êtes sur un réseau local, vous pouvez partager un dossier sur votre machine locale et de l'utiliser comme dossier de destination pour la sauvegarde.
Exemple:
Dossier Local:
C:\MySharedFolder -> URL: \\MyMachine\MySharedFolder
Serveur SQL server distant:
Select your database -> Tasks -> Back Up -> Destination -> Add -> Apply '\\MyMachine\MySharedFolder'