2013-03-15 27 views
0

J'ai besoin d'une base de données de dev pour ma configuration locale au travail. J'ai rencontré un problème majeur, l'une des tables (qui représente 99% de l'activité sur la base de données) est d'environ 7 Go. Il n'est pas nécessaire que j'obtienne toutes les lignes de cette table, les 10 000 meilleurs devraient fonctionner.Copier la base de données avec n lignes d'une table dans la base de données

Y at-il de toute façon dans un script ou quoi que ce soit où je peux copier une base de données et spécifier combien de lignes d'une certaine table? Je sais que c'est un longhot. Je n'ai juste pas besoin de passer la moitié de ma journée à restaurer une base de données en raison de la taille d'une table.

+0

Avez-vous essayé les données d'importation de SQL Server Management Studio? –

+0

Je ne l'ai jamais essayé, mais pourquoi ne pas utiliser l'assistant de copie de base de données pour configurer le package SSIS, puis modifier ce package avec un top 10000 select quelque part là-dedans? La seule autre chose que je peux penser est d'écrire votre propre solution SQL personnalisée. – RandomUs1r

+1

La restauration d'une sauvegarde de 7 Go dans un autre serveur SQL prendra environ 5 minutes. Pourquoi pensez-vous que cela prendra une demi-journée? De loin, la restauration à partir d'une sauvegarde est la chose la plus facile à faire. – HardCode

Répondre

0

Si vous voulez être fantaisie (et qui ne le fait pas?), Vous pouvez avoir cette table sur son propre groupe de fichiers en production, puis restaurer tout sauf ce groupe de fichiers en développement. Ensuite, vous pouvez créer la table fraîche lors de la restauration, importer des données (j'écrirais moi-même un simple paquet SSIS pour cela) et vous devriez être bon.

0

Vous pouvez effectivement essayer quelques petites choses à exporter (puis importer) des données, vous pouvez utiliser l'une des méthodes suivantes,

  1. package SSIS
  2. SQL Server Import Export Wizard dans SSMS (qui peut également créer package SSIS)
  3. Utilisez onglet résultat de la requête et enregistrer les résultats au format CSV
  4. Utilisez BCP with QueryOut flag pour exporter les données
  5. Utilisez SQLCMD with -o drapeau
Questions connexes