2009-01-07 8 views
5

J'essaye de processus une dimension en utilisant SQL Server 2005 Analysis Services. Cela a fonctionné dans le passé sans problèmes mais échoue récemment.La dimension de processus échoue avec le message "Une erreur FileStore de WriteFile s'est produite"?

La dimension est hiérarchique à l'aide de 4 colonnes provenant d'une seule table (le cube entier utilise une seule table).

Le message d'erreur reçu (peu importe si je traite tout le cube ou la dimension, si je « processus complet » ou non) est ceci:

File system error: A FileStore error from WriteFile occurred. Physical file: 
\\?\L:\Microsoft SQL Server\MSSQL.3\OLAP\Data\MSMDCacheRowset_xxx.tmp. 
Logical file: . . 

Je pense que cela est lié à la quantité de croissance des données (actuellement 15 millions de lignes dans le tableau spécifique).

  • Il a travaillé avant (aucun changement n'a été effectué)
  • Le traitement se lit 11 millions de lignes avant d'afficher l'erreur
  • mémoire physique sur le serveur s'écoule au moment où l'erreur est affichée
  • Googling le message d'erreur entraîne quelques hits indiquant la taille de la colonne comme un problème.

Quelqu'un pourrait-il me diriger dans la bonne direction? Je suppose que l'un des moyens pourrait être d'essayer d'utiliser des colonnes plus petites (varchar (x) au lieu de varchar (y)) mais on a l'impression de contourner le problème au lieu de résoudre le problème.

Meilleures salutations
Erik Larsson

+0

Ce cube a-t-il été migré à partir de SQL 2000? –

+0

Oui, ce cube a été migré à partir de SQL 2000 plus tôt cette année. – erikxiv

Répondre

2

Vérifiez la propriété dimensions "ProcessingGroup" pour toutes les dimensions pertinentes. S'il est réglé sur essayez de le mettre à 'ByAttribute'

La raison pour laquelle cela peut causer des problèmes de traitement avec de grandes dimensions (nombre de membres, # d'attributs, etc.) est parce que lorsque vous utilisez le réglage ByTable, il va essayer de mettre la dimension entière dans la mémoire.

2

Une autre raison de cette erreur peut être la limitation de la taille du fichier .asstore. Si la taille du fichier est d'environ 4 Go et que sa taille est régulièrement traitée par ProcessUpdate, vous devez le traiter avec ProcessFull pour résoudre ce problème.

Je trouve cette solution here

2

Faire un retraitement complet de la dimension de lancer l'erreur a fonctionné pour moi.

Questions connexes