Sauvegarde au niveau de la Table

comment prendre sauvegarde au niveau de la table (dump) dans MS SQL Server 2005/2008?

87
demandé sur bluish 2009-03-25 10:31:25

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.

85
répondu John Sansom 2013-10-07 21:08:34

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.

54
répondu kenwarner 2014-07-20 18:45:30

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

Here are the steps from John Sansom's answer

43
répondu Alex C 2016-06-09 03:01:12

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
19
répondu Haripriya 2012-05-16 05:19:44

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
6
répondu Diego 2017-05-23 11:54:56

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.

4
répondu Michael K. Campbell 2014-05-15 15:24:59

créer un nouveau groupe de fichiers, mettre cette table dessus, et sauvegarder ce groupe de fichiers seulement.

3
répondu Konstantin Tarkus 2009-03-26 13:07:10

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.

2
répondu Christian Specht 2009-03-25 09:26:39

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ù.

  1. 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')

  2. 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.

2
répondu azmnoman 2012-10-01 12:06:44

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" .

De: Présentation de la Sauvegarde (SQL Server)

1
répondu Mitch Wheat 2009-03-25 07:35:01

Utilisation de SQL Server Assistant Importation et Exportation.

  1. ssm
  2. ouvrir le moteur de la base de données
  3. Alt. cliquez sur la base de données contenant la table pour exporter
  4. Sélectionner "Tâches "
  5. Sélectionner" Données D'Exportation..."
  6. suivre le magicien
1
répondu EndUzr 2015-02-03 13:18:34

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.

0
répondu Miles D 2009-03-25 08:10:02

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

0
répondu Matt Rogish 2009-04-09 22:02:14

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

0
répondu SPE109 2011-09-12 07:33:21

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.

Link: http://www.doccolabs.com/products_sqltablezip.html

0
répondu asapir 2014-05-02 00:26:00

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:

  1. installez la sauvegarde pratique et créez une nouvelle tâche de sauvegarde.
  2. sélectionnez "MSSQL" à l'Étape 2 comme source de données. Sur une nouvelle fenêtre, marquez base de données à sauvegarder.
  3. sélectionnez parmi les différentes destinations où vous stockerez vos sauvegardes.
  4. à l'Étape 4, Sélectionnez l'option de sauvegarde" Full". Mettez en place un horodatage si vous en avez besoin.
  5. sauter une étape 5 sauf si vous avez besoin de compresser ou de chiffrer un fichier dump résultant.
  6. 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).
  7. 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.

0
répondu Mark Geek 2016-03-02 09:59:47