SQL Server 2008: déplacement des données entre les environnements

J'ai une application qui calcule les prix des produits. Il y a plusieurs tables dans la database qui contiennent des formules et d'autres logiques pour calculer les prix. Ces données de calcul sont différentes pour chaque produit. J'ai 3 environnements: la production, la libération et le développement. J'ai besoin d'une fonctionnalité pour copyr datatables entre eux.

Par exemple: admin spécifie une date de copy et choisit le produit qui doit être copié. Toutes datatables de tarification relatives à ce produit doivent être copiées automatiquement dans l'environnement requirejs à la date spécifique.

Pourriez-vous me donner un conseil quelle est la meilleure approche pour effectuer cette tâche? Devrait-il être logique et programmateur basé sur le server? Ou peut-être job Sql Server et requête server liée? Comment puis-je organiser des transactions? Etc..

J'utilise SQL Server 2008.

Il y a plusieurs façons de le faire:

  1. Un package SSIS: vous créez un package qui peut se connecter aux deux servers et vérifier la date d'exécution, puis le déplacer manuellement.

  2. Vous pouvez créer un travail de server SQL avec une requête de server lié pour sélectionner un server et l'insert dans un autre.

  3. Vous pouvez même créer un service asp.net qui fait cela (c'est le plus encombrant).

Dans l'un ou l'autre de ces trois cas, vous pouvez appliquer des transactions à l'set de la tâche. À mon humble avis, l'option n ° 2 est la less douloureuse …

MODIFIER:

Donc, si vous n'avez jamais créé et package SSIS, c'est un bon sharepoint départ: http://www.codeproject.com/KB/database/CreateFirstSSISPackage.aspx

C'est le moyen de planifier les jobs: http://www.codeproject.com/KB/aspnet/Schedule_Run_SSIS_DTS.aspx

Il y a beaucoup de livres disponibles aussi …

Vous pouvez également utiliser l' Import and Export Wizard SSMS.

Comment: exécuter l'Assistant Importation et export SQL Server