Problembeschreibung
Wenn Sie einen Verarbeitungsvorgang für eine Dimension in SQL Server Analysis Services ausführen und der Dienst unter arbeitsspeicherdruck steht, kann die Dimension nicht verarbeitet werden, und die Daten werden möglicherweise beschädigt.Hinweis Dieses Problem tritt in einer relativ seltenen Racebedingung auf, die nicht allgegenwärtig ist. Wenn dieses Problem auftritt, treten möglicherweise falsche Dimensionsbeziehungen oder ProcessUpdate -Fehler auf. Dieses Problem wurde unter den folgenden Bedingungen beobachtet:
-
Die Speicherauslastung von Analysis Services überschreitet die für den Dienst während des Verarbeitungsvorgangs konfigurierte maximale Speichergrenze, wodurch Analysis Services die Speicherseiten aggressiv bereinigt.
-
Während der Verarbeitung wird kein Fehler oder keine Meldung über das Problem protokolliert, und die Dimensionsverarbeitung schlägt nicht fehl. Stattdessen wird die Verarbeitung abgeschlossen, und beschädigte Daten werden in die Dimensions Datei geschrieben.
-
Das Problem wird am ehesten als falsche Dimensionsattribut Beziehungen für neu hinzugefügte Dimensionselemente angezeigt. Beispiel: ein Mitglied in der Product-Dimension wird unter der falschen Kategorie oder Unterkategorie angezeigt.
-
Eine weitere Möglichkeit, wie sich diese Beschädigung verdeutlichen kann: als nachfolgendes ProcessUpdate für eine Dimension, die starre Attributbeziehungen enthält, schlägt die Dimensionsverarbeitung mit der folgenden Fehlermeldung fehl:
Steife Beziehungen zwischen Attributen können während der inkrementellen Verarbeitung einer Dimension nicht geändert werden.
Hinweis Dieser Fehler kann auch aus legitimen Gründen auftreten, beispielsweise Änderungen an der zugrunde liegenden Datenquelle. Wenn sich die zugrunde liegenden Daten in der Tabelle oder Sicht, die als Quelle für die Dimension dient, jedoch nicht geändert haben, kann dies die Ursache des Fehlers sein.
-
Das Problem tritt nicht immer auf, wenn der Server unter arbeitsspeicherdruck steht, aber manchmal auftritt, wenn der sauberere Thread eine Datenseite für neu hinzugefügte Dimensionselemente entfernt, bevor die Dimensionsverarbeitung abgeschlossen ist. Hierbei handelt es sich um eine relativ seltene Racebedingung zwischen dem Dimensions Verarbeitungsthread und den Arbeitsspeicher Reiniger-Threads im Analysis Services-Dienst.
-
Nachdem dieses Update installiert wurde, wird das Problem nicht mehr auftreten, aber die betroffenen Objekte müssen erneut verarbeitet werden, um das Problem zu beheben.
-
Eine ProcessUpdate für eine betroffene Dimension, wenn der Server nicht unter dem arbeitsspeicherdruck steht, wird die von diesem Problem verursachte Beschädigung für alle flexiblen Beziehungen korrigieren. Für eine betroffene Dimension, die eine oder mehrere starre Attributbeziehungen aufweist, schlägt die Verarbeitung mit dem oben beschriebenen Fehler fehl.
-
Um das Problem bei Dimensionen zu beheben, die starre Beziehungen enthalten, ändern Sie die Attributbeziehungen für die betroffene Dimension auf dem Server, und führen Sie eine ProcessUpdateaus. Die Attributbeziehung kann dann wieder in Rigid geändert werden, und die Indizes für die Measuregruppen, die die Dimension verwenden, können neu erstellt werden.
-
Lösung
Dieses Problem wurde zunächst in den folgenden kumulativen Updates für SQL Server behoben:
Kumulatives Update 14 für SQL Server 2014Kumulatives Update 4 für SQL Server 2012 Service Pack 3Kumulatives Update 13 für SQL Server 2012 SP2Kumulatives Update 7 für SQL Server 2014 Service Pack 1
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Neuestes Kumulatives Update für SQL Server 2014neuestes Kumulatives Update für SQL Server 2012 SP3neuestes Kumulatives Update für SQL Server 2012 SP2
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Informationsquellen
Informieren Sie sich über die Terminologie , die Microsoft zum Beschreiben von Softwareupdates verwendet.