SSRS: comment gérer l'indisponibilité du service lorsque datawarehouse est en cours de reconstruction

dba.stackexchange https://dba.stackexchange.com/questions/15683

  •  22-10-2019
  •  | 
  •  

Question

Nous utilisons SSIS pour construire datawarehouse (full environnement Microsoft). Ce paquet est SSIS hérité qui commence par tronquer toutes les tables de datawarehouse, exécutez la nuit.

Pendant ce temps, nous limitons l'accès à l'application, de cette façon la base de données n'est pas modifiée lors de l'intégration.

1 / intégration peut se faire sur la base de données de capture instantanée, afin que nous puissions maintenir l'application et en cours d'exécution?

2 / question générale: comment gérer la période où datawarehouse est reconstruit? L'accès au rapport devrait être interdit jusqu'à ce que toutes les tables sont remplies avec de nouvelles données. N'existe un mécanisme d'équilibre entre 2 datawarehouses? Cela pourrait se faire avec des sources de données paramétrées dans SSRS au lieu de partager datasource, mais il me semble que gasworks.

Environnement: SQL Server 2005 et nous prévoyons de migrer vers 2012

.
Était-ce utile?

La solution

  1. instantanés de base de données sont en lecture seule, de sorte que vous ne pouvait pas fonctionner en lecture / écriture des processus ETL contre l'instantané. Cependant, vous pouvez indiquer les rapports, l'utilisateur final des requêtes ad hoc, etc. à l'instantané. Cela vous permettra d'exécuter les processus ETL contre la base de données en direct sans interférer avec les rapports des utilisateurs. Un nouvel instantané devrait être créé après les processus ETL complet. En fonction de stockage disponible, vous pouvez stocker des copies instantanées multiples.

  2. En ce qui concerne l'actualisation entrepôt de données (DW), vous voudrez peut-être mettre en œuvre processus de charge supplémentaire. Au lieu de troncature de masse / insérer des opérations, comparer les données de source mis en scène avec ce qui existe déjà dans le DW; Seulement insérer / mettre à jour les données à changement. Cela vous donnera un énorme avantage en termes de ressources utilisées et le temps requis pour les processus ETL pour terminer.

Autres conseils

vous avez un scénario assez méchant ici. Si votre DW ne sont en cours d'accès par un cube OLAP vous seriez bien parce que les données seraient pendant la mise à jour (sauf si vous avez un ROLAP configuré)

Un aperçu travaillerait pour une lecture seule DB pendant le processus de reconstruction. Vous devez créer l'instantané avant la mise à jour, pointez tous les les vos rapports et de point de retour lorsque la mise à jour est terminée.

Mais pourquoi êtes-vous interdire l'accès à la source DB lors de l'actualisation? Avez-vous peur que quelqu'un d'insérer des données pendant qu'il est copié vers la destination DB? Vous pouvez facilement résoudre ce avec un bon contrôle des transactions sur votre package SSIS.

scroll top