2009-01-15 10 views
1

Nous avons une base de données d'entrepôt contenant une année de données jusqu'à maintenant. Je souhaite créer une base de données de rapports représentant les trois derniers mois de données à des fins de génération de rapports. Je veux être en mesure de synchroniser les deux bases de données. À l'heure actuelle, toutes les 10 minutes, j'exécute un paquet qui saisira les lignes les plus récentes de l'entrepôt et les ajoutera au rapport db. Le problème est que je reçois seulement de nouvelles lignes mais pas de nouvelles mises à jour.SQL Server - Synchronisation de deux bases de données

Je voudrais savoir quelles sont les différentes façons de résoudre ce scénario.

Merci

Répondre

1

Si vous utilisez SQL 2000 ou version antérieure, la réplication est votre meilleur choix. Puisque vous faites cela toutes les dix minutes, vous devriez certainement regarder la réplication transactionnelle.

Si vous utilisez SQL 2005 ou version ultérieure, vous avez plus d'options à votre disposition. Instantanés de base de données, envoi de journaux et mise en miroir comme SQLMenace suggéré ci-dessus. La pertinence de ceux-ci varient en fonction de votre matériel. Vous devrez faire quelques recherches pour choisir le meilleur pour vos besoins.

0

Vous devriez probablement sur la réplication, ou demandez à votre DB administrateur à ce sujet.

2

regarder dans la réplication, la mise en miroir ou le journal d'expédition

+0

Je suis prêt pour la réplication, la mise en miroir, etc. Ils parlent de 2 serveurs de base de données distincts. J'ai besoin de synchroniser deux bases de données sur le même serveur. Est-ce encore possible avec les technologies dont vous avez parlé? – James

+0

Oui, vous pouvez répliquer entre deux bases de données sur le même serveur. – BradC

0

Est-il possible d'ajouter des colonnes à cette base de données? Vous pouvez ajouter une colonne Last_Activity à la base de données et écrire un déclencheur qui met à jour la date/l'horodatage sur cette ligne pour refléter la dernière modification. Pour toute nouvelle entrée, la date/heure refléterait l'horodatage lors de l'ajout de la ligne. De cette façon, lorsque vous prenez les trois derniers mois, vous saisissez l'activité des trois derniers mois, pas seulement les nouveaux.

+0

Ceci est une solution intéressante. Je vais devoir en donner un peu. – James

Questions connexes