Traiter manuellement l'entrepôt de données et le cube Analysis Services pour Team Foundation Server
Lorsque vous avez besoin des données les plus récentes dans vos rapports, lorsque des erreurs se sont produites, ou après avoir résolu des conflits de schéma, vous pouvez traiter manuellement la base de données relationnelle Team Foundation Server (TFS) (Tfs_Warehouse) ou le cube SQL Server Analysis Services (Tfs_Analysis).
Pendant les opérations classiques, l'entrepôt est traité dans les deux minutes qui suivent les modifications apportées à un magasin opérationnel, et le cube est traité toutes les deux heures. En traitant manuellement l'entrepôt, vous contribuez à garantir l'actualisation des requêtes et des rapports avec les données qui dépendent de l'entrepôt.
Vous devez utiliser le service Web de contrôle d'entrepôt pour traiter l'entrepôt ou le cube ou exécuter d'autres opérations de maintenance. Si vous savez que vous voulez effectuer une régénération complète des deux bases de données, vous devez alors utiliser la Console d'Administration ou la Commande TFSConfig RebuildWarehouse.
Notes
N'utilisez pas SQL Server Management Studio (SSMS) pour traiter le cube manuellement.Le traitement du cube à l'aide de cet outil n'est pas pris en charge.
Traiter l'entrepôt ou le cube
Le traitement de l'entrepôt ou du cube dépend de la quantité de données impliquée. Cela peut prendre entre plusieurs minutes et plusieurs heures. Avant de traiter l'une ou l'autre des bases de données, déterminez l'état de traitement de la tâche ou des tâches de synchronisation à exécuter. Vérifiez que l'état est Inactif
Pour accéder aux services Web
Si vous n'êtes pas membre du groupe de sécurité Administrateurs sur le serveur de couche application de TFS, faites-vous ajouter maintenant en tant que tel.
Assurez-vous également que votre autorisation Administer warehouse de niveau serveur est définie sur Allow.
Connectez-vous au serveur de la couche Application et ouvrez le service Web de contrôle d'entrepôt en entrant l'URL suivante dans un navigateur Web pris en charge :
https://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx
Si un alias autre que tfs est utilisé pour le répertoire virtuel, vous devez taper le répertoire virtuel IIS spécifié quand Team Foundation Server a été installé.
La page WarehouseControlWebService s'ouvre.
Notes
Si la page ne s'affiche pas, vérifiez que le pool d'applications Microsoft Team Foundation Server s'exécute.
Pour vérifier l'état du processus
Choisissez GetProcessingStatus.
Une nouvelle fenêtre de navigateur s'ouvre. Elle indique l'état du traitement de la tâche suivante :
Sync. structures communes entrepôt
Sync. analyse complète base de données
Sync. analyse incrémentielle base de données
Ainsi, l'état des tâches suivantes pour chaque collection de projets d'équipe est fourni :
Sync. build entrepôt
Sync. structures communes entrepôt
Sync. gestion des tests entrepôt
Sync. contrôle de version entrepôt
Synch. suivi des éléments de travail entrepôt
Une valeur définie sur Inactif indique que le travail de synchronisation ne s'exécute pas actuellement. Vous devez traiter l'entrepôt de données ou le cube uniquement si l'état de traitement pour ces travaux est Inactif. Si une valeur différente est renvoyée, répétez cette étape jusqu'à ce que la valeur Inactif soit retournée pour le travail à traiter.
Pour traiter l'entrepôt de données
Choisissez ProcessWarehouse, et spécifiez éventuellement la collection des projets de l'équipe à traiter. Si vous laissez collectionName vide, toutes les collections sont traitées.
Le service retourne la valeur True s'il démarre le traitement de l'entrepôt et False s'il échoue. La valeur False indique que l'entrepôt est en cours de traitement.
Pour déterminer l'état du traitement de l'entrepôt, choisissezGetProcessingStatus comme décrit plus haut dans Pour vérifier l'état du processus.
Le traitement de l'entrepôt est effectué lorsque le service GetProcessingStatus retourne une valeur Inactif, et une valeur Opération réussie pour Sync. structures communes entrepôt et pour chaque entrepôt pour chaque collection de projets de l'équipe.
Pour traiter le cube Analysis Services
Choisissez ProcessAnalysisDatabase.
Pour processingType, tapez Incrémentielle ou Complète.
Si vous spécifiez Incrémentiel, les données sont traitées uniquement si elles ont été ajoutées depuis le traitement le plus récent.
Si vous spécifiez Complet, toutes les données sont traitées comme si l'entrepôt était reconstruit. Les processus complets prennent plus de temps pour s'exécuter et doivent être appliqués uniquement lorsque cela est nécessaire (par exemple, lorsqu'un projet d'équipe ou une collection de projets a été supprimé).
Le service retourne la valeur True s'il démarre le traitement du cube et False s'il échoue. La valeur False indique que le cube est en cours de traitement.
Pour déterminer l'état du traitement de l'entrepôt, choisissezGetProcessingStatus comme décrit plus haut dans Pour vérifier l'état du processus.
Le traitement du cube est effectué lorsque le service GetProcessingStatus renvoie une valeur Inactif et une valeur Opération réussie pour les tâches suivantes :
Sync. analyse complète base de données
Sync. analyse incrémentielle base de données
Traiter les dimensions pour la capacité étendue
Vous devez exécuter le service web ProcessDimensionsForExpandedCapacity quand vous recevez le message d'erreur suivant :
Microsoft.TeamFoundation.Warehouse.WarehouseException: TF221122: An error occurred running job Full Analysis Database Sync for team project collection or Team Foundation server TEAM FOUNDATION.
Microsoft.TeamFoundation.Warehouse.WarehouseException: Failed to Process Analysis Database 'Tfs_Analysis'.
Microsoft.TeamFoundation.Warehouse.WarehouseException: File system error: A string store or binary store with a compatibility level of '1050' is at the maximum file size of 4 gigabytes. To store additional strings, you can change the StringStoresCompatibilityLevel property of the associated dimension or distinct count measure to '1100' and reprocess. This option is only available on databases with a compatibility level of '1100' or higher.
Physical file: \\? \I:\OLAP\Data\Tfs_Analysis.0.db\vDimWorkItemOverlay.5.dim\7.WorkItemSK.asstore.
Ce service remplace StringStoresCompatibilityLevel par 1100 pour la dimension nommée et effectue un retraitement complet du cube.
Dans le service web de contrôle d'entrepôt, choisissez ProcessDimensionForExpandedCapacity.
Entrez le nom de la dimension. D'après le message d'erreur ci-dessus, le nom de la dimension est vDimWorkItemOverlay.
Le service retourne Vrai lorsqu'il réinitialise correctement la valeur sur 1100.
Attendez que le traitement du cube soit terminé.
Q et R
Quand opter pour un traitement plutôt qu'une régénération d'une base de données ?
R : vous devez traiter une base de données manuellement pour l'une des raisons suivantes :
Traitez le cube de façon incrémentielle lorsque les rapports n'indiquent pas les dernières données et que vous en avez besoin pour la prochaine réunion.
Traitez chaque collection de projets d'équipe dans l'entrepôt de données pour vérifier que tous les conflits de schéma sont bien résolus.
Traitez chaque collection de projets d'équipe dans l'entrepôt de données pour recueillir des informations pour diagnostiquer les problèmes apparaissant dans l'observateur d'événements associé à des tâches d'entrepôt.
Effectuez une régénération complète de l'entrepôt et du cube quand vous déplacez, vous restaurez, vous renommez le serveur de couche Données ou que vous basculez sur ce serveur.
Q : Comment puis-je modifier l'intervalle de traitement d'actualisation ou d'autres paramètres de traitement ?
R : consultez Gestion des rapports, de l'entrepôt de données et du cube Analysis Services de TSF.
Q : Où peux-je en savoir plus sur la résolution des conflits de schéma ?
R : consultez Résoudre les conflits de schéma qui se produisent dans l'entrepôt de données.