Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les sections suivantes décrivent les problèmes courants que vous devrez peut-être résoudre pour résoudre les problèmes liés aux cubes de données OLAP (Online Analysis Processing) dans l’entrepôt de données Service Manager.
Échecs de traitement
Bien que les protections existent dans la base de données DWRepository pour garantir l’intégrité des données, elles ne peuvent pas empêcher complètement la possibilité d’une erreur de traitement. L'erreur de traitement la plus courante est l'exception DimensionKeyNotFound. Étant donné que les dimensions SSAS (SQL Server Analysis Server) sont traitées toutes les 60 minutes par défaut, il est possible que lors du traitement du groupe de mesures du fait, les clés de dimension n’existent pas encore. Dans ce cas, la logique de traitement par défaut retraite les dimensions SSAS à l'aide d'une tâche ProcessUpdate, puis retraite le fait jusqu'à deux fois consécutives, afin de résoudre les erreurs de clé.
Il existe certains cas particuliers dans lesquels le retraitement risque d'échouer. Voici les causes possibles de cet échec :
Seul le référentiel de l'entrepôt de données utilise les clés étrangères pour assurer l'intégrité des données. Le data mart n’a pas de clés étrangères pour les considérations relatives aux performances. Étant donné que le processus de chargement déplace en bloc les données du référentiel vers le magasin de données par le biais des méthodes ActiveX Data Objects, il est possible que les données de fait aient été chargées avant les clés de dimension en raison d’un problème de synchronisation. Pour résoudre ce problème, le processus de chargement doit être réexécuté de façon à déplacer les clés de dimension existantes.
Lorsque vous avez plusieurs mini-Data Warehouse, les dimensions de chacun d'eux ciblent le mini-Data Warehouse principal de l'entrepôt de données. Cela permet de réduire la taille et la durée de traitement des cubes OLAP. Il est toutefois possible que les faits des mini-Data Warehouse Operations Manager ou Configuration Manager ciblent des clés de dimension qui n'existent pas encore dans le mini-Data Warehouse de l'entrepôt de données principal. Dans ce cas, vous devez exécuter la tâche de chargement sur le data mart principal pour corriger l'échec de traitement des cubes qui ciblent les data marts Operations Manager ou Configuration Manager.
Dépannage des personnalisations MDX
Étant donné que de nombreuses personnalisations de cube nécessitent une connaissance fonctionnelle des expressions multidimensionnelles (MDX), il est courant que des erreurs de syntaxe se produisent dans l’expression MDX initiale utilisée pour la personnalisation du cube OLAP. Plusieurs tentatives peuvent être nécessaires avant de trouver l'expression qui réponde à vos besoins. Vous devez tester l'expression MDX sur le cube OLAP à l'aide de Business Intelligence Development Studio (BIDS) ou SSAS, sans enregistrer les modifications, avant d'ajouter l'expression MDX au cube OLAP à l'aide d'un CubeExtension ou en le définissant dans l'élément SystemCenterCube.
Toutefois, si une erreur relative à l'expression MDX se produit lors de l'ajout de celle-ci au pack d'administration à l'aide de CubeExtension, vous pouvez désinstaller l'extension de cube en annulant les modifications apportées au cube OLAP. Si les expressions sont définies à l’aide d’un élément SystemCenterCube, vous devez désinstaller le pack d’administration, puis supprimer manuellement le cube OLAP de SSAS avant d’apporter des corrections et de redéployer le pack d’administration du cube OLAP. Pour cette raison, vous devez définir des personnalisations de cube à l'aide de l'élément CubeExtension.
Échecs de déploiement du pack d’administration OLAP Cube
Il se peut que vous souhaitiez parcourir le groupe de mesures WorkItems Assigned To User et découper les données selon les utilisateurs d'un service en particulier. Lorsque vous tentez d'appliquer un filtre à UserDim, rien ne se passe ou aucune donnée n'est renvoyée. Cela peut prêter à confusion, car UserDim a une relation avec le groupe de mesures.
Dans ce cas, n'oubliez pas qu'une même dimension de base de données peut avoir plusieurs rôles dans le modèle multidimensionnel. Ces dimensions sont appelées dimensions de rôle actif. Par exemple, la dimension Time peut être utilisée plusieurs fois dans un cube OLAP contenant des informations de vol. Dans ce cas, les différentes dimensions de rôle actif peuvent être Departure Time et Arrival Time, ciblant toutes deux la dimension Time .
Dans l'exemple WorkItems Assigned To User , le nom de la dimension Utilisateur de rôle actif est AssignedToUser. Si l’utilisateur a filtré par cette dimension particulière au lieu de « UserDim », il retourne les informations appropriées.
La Business Intelligence Development Studio (BIDS) dispose d'une fonctionnalité utile appelée « l'onglet Utilisation de la dimension », qui montre les relations entre les dimensions et les cubes OLAP, vous permettant ainsi de déterminer quelles dimensions vous pouvez utiliser pour analyser et explorer les données du cube OLAP. En outre, dans l'exemple WorkItems Assigned To User , il n'existe pas de relation entre UserDim et le groupe de mesures WorkItemAssignedToUser , alors qu'il existe une relation entre UserDim(AssignedToUser) et le groupe de mesures, dans laquelle l'attribut de jointure est UserDimKey. Dans ce cas, vous pouvez voir que le nom de la dimension de rôle actif est placé entre parenthèses sous l'onglet Utilisation de la dimension.
Le gestionnaire de services ne dispose pas de la fonctionnalité d'onglet "Utilisation des dimensions". Par conséquent, vous devrez vous référer à Business Intelligence Development Studio pour déterminer de façon exacte les dimensions qui peuvent être utilisées pour le filtrage d'un cube en particulier.
Échec du traitement des cubes OLAP sur un serveur SSAS distant
Dans certaines situations, le traitement d’un cube OLAP sur un serveur SSAS distant peut échouer, car le pare-feu n’a pas été configuré correctement. L'instance SSAS par défaut utilise le port TCP/IP 2383, qui doit être débloqué depuis le pare-feu. Pour débloquer le port, exécutez les instructions de ligne de commande suivantes :
C:\Windows\system32>set port=2383
C:\Windows\system32>netsh advfirewall firewall add rule name="Analysis Services" protocol=TCP dir=in localport=2383 action=allow
Arrêt du traitement du cube OLAP
L'interruption du traitement d'un cube OLAP peut avoir plusieurs causes. Vous devez d’abord vous assurer que le serveur dispose de suffisamment de RAM, en particulier dans les situations où l’entrepôt de données et le serveur SSAS sont hébergés sur le même serveur, afin qu’il y ait suffisamment de mémoire pour exécuter simultanément des travaux d’extraction, de transformation et de chargement (ETL) et de traitement de cube. Voici quelques solutions possibles :
Des problèmes d'interblocage connus existent dans Microsoft SQL Server 2008 Analysis Services. La solution de contournement consiste à augmenter le nombre de threads dans le pool de threads de traitement avant l'arrêt du traitement. Si le système est déjà arrêté, la solution de contournement consiste à redémarrer à la fois le service System Center Management et le service Analysis Services, puis à réinitialiser la tâche de traitement du cube à l’état 3, ce qui signifie pas commencé, afin que le moteur de flux de travail Service Manager puisse le redémarrer.
Remarque
Pour déterminer l’élément de travail de traitement de cube approprié, vous pouvez exécuter les requêtes suivantes sur la base de données DWStagingAndConfig. Ces requêtes sont affichées individuellement ; Toutefois, vous pouvez facilement les joindre dans une seule requête :
select processId from infra.process where processname like 'Process.{CubeName}' select batchid from infra.batch where processId = {ProcessId from previous query} select * from infra.workitem(nolock) where BatchId = {BatchId from previous query} update infra.workitem set statusid = 3 where workitemId = {workitemId from previous query)
Vérifiez la propriété CoordinatorExecutionMode dans le service SSAS et assurez-vous qu'elle est correctement définie. Pour plus d'informations sur ce problème, consultez les forums relatifs à SQL Server.
La tâche DWMaintenance s’arrête à l’étape ManageCubePartitions ou ManageCubeTranslations
La plupart du temps, ce problème est dû au fait que le serveur SSAS ne répond pas. La solution de contournement est la même pour la première étape de la section précédente, « Arrêts de traitement du cube OLAP ». Pour déterminer l’élément de travail de traitement de cube approprié, vous pouvez exécuter les requêtes suivantes sur la base de données DWStagingAndConfig. Notez que ces requêtes, bien que répertoriées individuellement, peuvent être facilement combinées au sein d'une même requête :
select processid from infra.process where processname = 'DWMaintenance'
select * from infra.ProcessModule where ProcessId = {ProcessId from previous query} (Note the ProcessModuleId where the VertexName is ManageCubePartitions/ManageCubeTranslaions)
Select * from infra.batch where ProcessId = {ProcessId from previous query} (Note the BatchId from the largest batch)
select * from infra.WorkItem where BatchId = {BatchId from previous query}
update infra.workitem set statusid = 3 where workitemId = {workitemId for the step that is not responding with the corresponding processmoduleid for ManageCubePartitions/ManageCubeTranslations)
Étapes suivantes
- Créez un cube OLAP à l’aide d’un pack d’administration.