2010-03-10 6 views
1

Je dois extraire des données d'une base de données SQL 2005 Express à une autre et je dois le faire périodiquement. Ce n'est pas une copie directe d'une table à l'autre, mais j'utiliserais des vues différentes de la table source. J'ai aussi besoin de le faire périodiquement. Ma première idée est d'écrire une petite application en C# et de l'exécuter d'une manière ou d'une autre toutes les heures, mais je voudrais garder cette logique de manipulation de données aussi proche que possible du serveur de base de données. Quels sont les outils et fonctionnalités que je peux utiliser SQL Server 2005 Express?Comment copier des enregistrements d'une base de données à une autre?

Répondre

3
  1. Ajouter serveur lié: Serveur Objets-> Serveurs liés
  2. a) Ecrire script pour copier (vous ne préférez pas cette méthode, je pense)
    b) Créer un package SSIS dans VS et l'exécuter avec différents paramètres (vous pouvez passer des paramètres d'entrée au paquet)
    c) assistant utilisation (import/Export) que enregistrer cette tâche en tant que package (comme fichier à modifier ou au serveur pour exécuter)

Je pense que c) est ton cas.

EXPRESS n'a pas SQL Server Agent, donc utiliser un autre serveur (entreprise ou éditions standard) pour exécuter votre package périodiquement

+1

+1, j'aime 2.a, vous pouvez faire une procédure stockée avec multiaxes pour frapper tous de vos tables: 'INSERT INTO server1.db1.dbo.YourTable VALEURS (col1, col2, ...) SELECT col1, col2, ... FROM serveur2.db2.dbo.YourTable OERE ...' –

+0

@Lieven, pourquoi une modification mineure? –

+0

Merci pour la suggestion. Je vais vérifier et voir si je pars avec l'option B ro C. Tu as raison, C me suffira. Comment démarrer l'assistant Import Export en 2005? Je suis familier avec 2008 et il y a une application séparée là-bas. – gyurisc

Questions connexes