Sauvegarde au niveau de la Table
comment prendre sauvegarde au niveau de la table (dump) dans MS SQL Server 2005/2008?
16 réponses
vous ne pouvez pas utiliser la commande BACKUP DATABASE
pour sauvegarder une table unique, à moins bien sûr que la table en question soit affectée à son propre FILEGROUP
.
ce que vous pouvez faire, comme vous l'avez suggéré, C'est Exporter les données de la table vers un fichier CSV. Dès maintenant afin d'obtenir la définition de votre table, vous pouvez 'Script' "151920920 de script".
vous pouvez le faire dans SQL Server Management Studio, par:
droit cliquer sur base de données > tâches > générer le Script
Vous pouvez ensuite sélectionner la table que vous souhaitez script et également choisir d'inclure tous les objets associés, tels que les contraintes et les index.
pour obtenir le DATA
avec juste le schema
,vous devez choisir Advanced
dans l'onglet "Options de script, et dans la section GENERAL
définir le Types of data to script
sélectionner Schema and Data
Espérons que cela aide, mais n'hésitez pas à me contacter directement si vous avez besoin d'aide supplémentaire.
j'utilise le bulk copy utility pour obtenir des sauvegardes au niveau de la table
à l'exportation:
bcp.exe "select * from [MyDatabase].dbo.Customer " queryout "Customer.bcp" -N -S localhost -T -E
à importer:
bcp.exe [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000
comme vous pouvez le voir, vous pouvez exporter basé sur n'importe quelle requête, donc vous pouvez même faire des sauvegardes incrémentielles avec cela. De plus, il est scriptable par opposition aux autres méthodes mentionnées ici qui utilisent des SSM.
Voici les étapes dont vous avez besoin. L'étape 5 est importante si vous voulez les données. L'étape 2 est où vous pouvez sélectionner des tableaux individuels.
EDIT la version de stack n'est pas tout à fait lisible... voici une image pleine grandeur http://i.imgur.com/y6ZCL.jpg
Vous pouvez exécuter la requête ci-dessous pour faire une sauvegarde de la table existante qui permettrait de créer une nouvelle table avec structure existante de l'ancienne table avec les données.
select * into newtablename from oldtablename
pour copier uniquement la structure de la table, utilisez la requête ci-dessous.
select * into newtablename from oldtablename where 1 = 2
c'est similaire à la solution de qntmfred , mais en utilisant un dump de table direct. Cette option est légèrement plus rapide (Voir BCP docs ):
à exporter:
bcp "[MyDatabase].dbo.Customer " out "Customer.bcp" -N -S localhost -T -E
à importer:
bcp [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000
si vous cherchez quelque chose comme DUMP
de MySQL , alors bonne nouvelle: le studio de gestion SQL Server 2008 a ajouté cette capacité.
dans SSMS, cliquez avec le bouton droit de la souris sur la base de données en question et sélectionnez tâches > générer des Scripts . Ensuite, dans la deuxième page de l'Assistant options, assurez-vous de sélectionner que vous souhaitez le données scripté ainsi , et il générera ce qui revient à un DUMP
fichier pour vous.
créer un nouveau groupe de fichiers, mettre cette table dessus, et sauvegarder ce groupe de fichiers seulement.
vous pouvez utiliser le gratuit Assistant de publication de base de données de Microsoft pour générer des fichiers texte avec des scripts SQL (créer une TABLE et insérer).
vous pouvez créer un tel fichier pour une table simple, et vous pouvez" restaurer " la table complète y compris les données en exécutant simplement le script SQL.
Je ne sais pas si cela correspond au problème décrit ici. J'ai dû prendre la sauvegarde incrémentale d'une table! (Seules les nouvelles données insérées doivent être copiées). J'avais l'habitude de concevoir un paquet DTS où.
-
je récupère de nouveaux enregistrements (sur la base d'une colonne "Statut") et transfère les données à destination. (Par Le Biais De La "Tâche De Transformation De Données')
-
Alors je viens de mettre à jour la colonne état. (Par L'Intermédiaire De 'Exécuter SQL Task')
j'ai dû corriger le "workflow" correctement.
Chaque modèle de récupération vous permet de sauvegarder une base de données SQL Server complète ou partielle ou des fichiers individuels ou des groupes de fichiers de la base de données. tables-level backups ne peut pas être créé 151930920" .
Utilisation de SQL Server Assistant Importation et Exportation.
- ssm
- ouvrir le moteur de la base de données
- Alt. cliquez sur la base de données contenant la table pour exporter
- Sélectionner "Tâches "
- Sélectionner" Données D'Exportation..."
- suivre le magicien
vous avez probablement deux options, car SQL Server ne supporte pas les sauvegardes table. Les deux commenceraient par Scripter la création de la table. Ensuite, vous pouvez soit utiliser L'option Script Table - INSERT qui générera beaucoup d'instructions insert, ou vous pouvez utiliser les services D'intégration (DTS avec 2000) ou similaire pour exporter les données comme CSV ou similaire.
BMC Recovery Manager (anciennement appelé SQLBacktrack) permet la récupération ponctuelle d'objets individuels dans une base de données (alias tables). Il n'est pas bon marché, mais fait un travail fantastique: http://www.bmc.com/products/proddocview/0,2832,19052_19429_70025639_147752,00.html
http://www.bmc.com/products/proddocview/0,2832,19052_19429_67883151_147636,00.html
si vous cherchez à être en mesure de restaurer une table après que quelqu'un a supprimé par erreur des lignes de celui-ci, vous pourriez peut-être jeter un oeil à des instantanés de base de données. Vous pouvez restaurer la table assez facilement (ou un sous-ensemble des lignes) à partir du snapshot. Voir http://msdn.microsoft.com/en-us/library/ms175158.aspx
une application gratuite nommée Sqltablzip fera le travail. Fondamentalement, vous écrivez tout requête (qui, bien sûr, peut également être [sélectionner * de la table]) et l'application crée un fichier comprimé avec toutes les données, qui peut être restauré plus tard.
Handy Backup fabrique automatiquement des fichiers dump à partir du serveur MS SQL, y compris MSSQL 2005/2008. Ces dumps sont des fichiers binaires au niveau de la table, contenant des copies exactes du contenu de la base de données particulière.
pour faire un dump simple avec une sauvegarde pratique, s'il vous plaît suivre l'instruction suivante:
- installez la sauvegarde pratique et créez une nouvelle tâche de sauvegarde.
- sélectionnez "MSSQL" à l'Étape 2 comme source de données. Sur une nouvelle fenêtre, marquez base de données à sauvegarder.
- sélectionnez parmi les différentes destinations où vous stockerez vos sauvegardes.
- à l'Étape 4, Sélectionnez l'option de sauvegarde" Full". Mettez en place un horodatage si vous en avez besoin.
- sauter une étape 5 sauf si vous avez besoin de compresser ou de chiffrer un fichier dump résultant.
- sur une étape 6, mettre en place un calendrier pour une tâche de créer des dumps périodiquement (autrement exécuter une tâche manuellement).
- encore, skip une étape 7, et donnez un nom à votre tâche sur une étape 8. Vous avez terminé la tâche!
exécutez maintenant votre nouvelle tâche en cliquant sur une icône devant son nom, ou attendez l'heure prévue. La sauvegarde pratique créera automatiquement un dump pour votre base de données. Alors ouvrez votre destination de secours. Vous trouverez un dossier (ou quelques dossiers) avec vos sauvegardes MS SQL. Un tel dossier contiendra un fichier dump au niveau de la table, composé de quelques tables binaires et de paramètres comprimés dans un simple ZIP.
Autres Bases De Données
sauvegarde pratique peut sauver des dumps pour MySQL, MariaDB, PostgreSQL, Oracle, IBM DB2, Lotus Notes et toute base de données SQL générique ayant un pilote ODBC. Certaines de ces bases de données nécessitent des étapes supplémentaires pour établir des connexions entre le SGBD et la sauvegarde pratique.
les outils décrits ci-dessus dump souvent des bases de données SQL comme la séquence de commande SQL au niveau de la table, ce qui rend ces fichiers prêts pour n'importe quel manuel les modifications que vous avez besoin.