2010-05-07 6 views
0

J'ai FK et PK partout mes données de DB et de table doivent être spécifiées dans un certain ordre ou sinon je reçois des erreurs d'insertion FK/PK. Je suis fatigué d'exécuter l'assistant encore et encore pour transférer des données une table à la fois.SQL Server: exporter des données via une requête SQL?

Dans l'assistant d'exportation de données SQL Server, il existe une option permettant d'écrire une requête pour spécifier les données à transférer. J'aimerais écrire la requête moi-même et spécifier l'ordre correct.

  1. Est-ce que cela résoudra mon problème?

  2. Comment procéder? Pouvez-vous fournir un exemple de requête (ou un lien vers un)

    • Les bases de données sont sur deux serveurs différents - SQL Server 2008 sur chacun; Les autorisations de base de données & sont les mêmes; chaque nom de table & col est le même; J'ai besoin d'une insertion d'identité pour chaque table.

Répondre

1

Désactiver les clés étrangères avant d'importer, de leur permettre après l'importation:

ALTER TABLE tablename NOCHECK CONSTRAINT ALL 

ALTER TABLE tablename WITH CHECK CHECK CONSTRAINT ALL 

Mise à jour: Merci pour les commentaires, je fixe la syntaxe.

+0

La syntaxe est incorrecte. –

+0

'sp_msforeachtable" ALTER TABLE? NOCHECK CONTRAINT all "; GO' fonctionne très bien! –

+0

La syntaxe à réactiver est incorrecte. Vous laissez toutes vos contraintes dans un état non approuvé, ce qui signifie que l'optimiseur ne pourra pas les utiliser. Utilisez AVEC CHECK CHECK voir http://www.mssqltips.com/tip.asp?tip=1539 pour les détails ou les points 9 et 10 ici pour des exemples où cela importe http://www.simple-talk.com/sql/t -sql-programming/13-choses-vous-devriez-savoir-sur-statistiques-et-l'-optimiseur de requête /? utm_source = simpletalk & utm_medium = email & utm_content = 13Things20100111 & utm_campaign = SQL –

1

Vous pouvez toujours enregistrer le package, puis ouvrir et modifier le paquet pour mettre les choses dans l'ordre (vous pourriez avoir à copier les flux de données à plusieurs reprises et de mettre les dépendances entre eux)

0

Vous pouvez utiliser 3ème partie des outils pour transférer des données; ces outils désactivent/activent automatiquement les contraintes.

Questions connexes