2008-09-17 4 views
0

Quelle est la meilleure méthode pour transférer des données de la table des ventes vers la table d'historique des ventes dans le serveur sql 2005. La table d'historique des ventes sera utilisée pour les rapports. Bulkcopy est rapide et n'utilise pas le journal des transactions.données de sauvegarde pour la création de rapports

+0

Une sauvegarde n'est pas destinée à être utilisée pour la création de rapports (ou toute autre chose), mais elle doit être conservée dans un endroit sûr. Je suggère de changer ce mot avec «Copier». –

Répondre

1

Un lot est exécuté à la fin de la journée.

La suppression des enregistrements copiés de votre serveur de production est une situation différente qui doit être planifiée sur l'approche/les plans de maintenance de ce serveur. Votre solution de serveur de rapports ne doit pas interférer ou affecter le serveur de production. Gardez à l'esprit que votre serveur de création de rapports n'est pas destiné à être une sauvegarde des données mais plutôt une copie faite exclusivement à des fins de création de rapports. Vérifiez également les paramètres du serveur de votre serveur de rapports sur Simple recovery model.

0

La plupart des solutions nécessiteront 2 étapes; -copie les enregistrements de la source à la cible -supprime les enregistrements de la source. Il est essentiel que votre table source possède une clé primaire.

La "meilleure" méthode dépend de beaucoup de choses.
Combien d'enregistrements? Est-ce un environnement de production? Quels outils avez-vous?

0

Sauf si vous déplacez une grande quantité de données, une procédure stockée simple devrait faire l'affaire. Un sql server job peut gérer le moment où appeler le proc.

1

Jetez un coup d'œil à SSAS. OLAP est conçu pour générer des rapports et est facile à interroger avec des outils tels que les tableaux croisés dynamiques Excel.

0

Si vous voulez simplement déplacer les données vers une autre table, utilisez BulkCopy/BulkInsert. Si vous voulez créer des rapports, je suggère une solution de BI telle que MS Analysis Service (OLAP).

Il est difficile et à mon avis moche de maintenir deux ou plusieurs tables d'historique/d'archivage dans la même base de données. Pour une solution de reporting, vous considérerez toutes les tables pour cette information de toute façon. Les tables History/Archive ne doivent être utilisées que si vous voulez mettre les données à l'écart et ne pas les toucher pendant une longue période, par exemple. l'archiver en dehors de la base de données opérationnelle.

Questions connexes