KB2483381 – FIX: Eine Anwendung stürzt ab, wenn sie die letzte Verbindung zu einer lokalen Cubedatei in SSRS 2008 R2 schließt

Microsoft stellt Microsoft SQL Server 2008 R2-Fixes als eine herunterladbare Datei bereit. Da die Fixes kumulativ sind, enthält jede neue Version alle Hotfixes und Sicherheitsfixes, die in der vorherigen Updateversion von SQL Server 2008 R2 enthalten waren.

Symptome

Nehmen Sie folgendes Szenario an:

  • Sie führen eine Anwendung aus, die eine Verbindung mit einem lokalen Cube in Microsoft SQL Server 2008 R2 Analysis Service (SSRS 2008 R2) herstellt.

  • Die Anwendung öffnet und schließt die Verbindung mehrmals, wenn die Anwendung den lokalen Cube erstellt. Sie führen beispielsweise eine der folgenden Anwendungen aus:

    • Sie führen Microsoft Excel mehrmals aus, um eine Verbindung mit einem lokalen Cube zu öffnen und zu schließen.
    • Sie führen Microsoft Access aus, um eine Verbindung mit einem lokalen Cube zu öffnen und zu schließen, wenn Sie zwischen den PivotChart-Ansichten einer Tabelle wechseln.
    • Sie führen den MSOLAP-, ADOMD.NET- oder AMO-Anbieter in einer Anwendung aus, um die Verbindung eines lokalen Cubes zu bearbeiten. 
  • Die Anwendung versucht, die letzte Verbindung mit dem lokalen Cube zu schließen.

In diesem Szenario kann die Anwendung abstürzen.

Ursache

Dieses Problem tritt auf, weil ein Racebedingungsfehler zwischen den Threads innerhalb der lokalen Analysis Service-Cube-Engine (Msmdlocal.dll) auftritt.

Wenn die letzte Verbindung freigegeben wird, versucht der Motor, sich selbst zu entladen. Es gibt jedoch viele Racebedingungen zwischen dem Thread, der die letzte Verbindung schließt, und den anderen internen Threads. Daher kann die Anwendung abstürzen.

Lösung

Informationen zum kumulativen Update

SQL Server 2008 R2

Die Korrektur für dieses Problem wurde erstmals im kumulativen Update 6 veröffentlicht. Weitere Informationen zum Bezug dieses kumulativen Updatepakets für SQL Server 2008 R2 finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2489376 Kumulatives Updatepaket 6 für SQL Server 2008 R2 Hinweis Da die Builds kumulativ sind, enthält jede neue Fixversion alle Hotfixes und Sicherheitsfixes, die in der vorherigen SQL Server 2008 R2-Fixversion enthalten waren. Es wird empfohlen, die Anwendung des neuesten Fixrelease in Betracht zu ziehen, das diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

981356 SQL Server 2008 R2-Builds, die nach der Freigabe von SQL Server 2008 R2 veröffentlicht wurden

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Referenzmaterial

Weitere Informationen zu lokalen Cubes finden Sie auf folgender MSDN-Website (MSDN):

Allgemeine Informationen zu lokalen Würfeln
        
Weitere Informationen zum inkrementellen Wartungsmodell für SQL Server finden Sie im folgenden Artikel der Microsoft Knowledge Base:

935897 Zur Bereitstellung von Hotfixes für gemeldete Probleme ist vom SQL Server-Team ein inkrementelles Wartungsmodell erhältlich. Weitere Informationen zum Benennungsschema für SQL Server Updates finden Sie im folgenden Artikel der Microsoft Knowledge Base:

822499 Neues Benennungsschema für Softwareupdatepakete für Microsoft SQL Server Weitere Informationen zur Terminologie für Softwareupdates finden Sie im folgenden Artikel der Microsoft Knowledge Base:

824684 Erläuterung von Standardbegriffen bei Microsoft-Softwareupdates