KB2255410 - 當你第一次在 SSAS 2008 或 SSAS 2008 R2 執行查詢時,會收到不一致的結果或事件 ID 22

Microsoft 將 Microsoft SQL Server 2008 與 Microsoft SQL Server 2008 R2 修正作為一個可下載檔案發行。 由於修補是累積性的,每個新版本都包含了先前 SQL Server 2008 或 SQL Server 2008 R2 修補釋版本中包含的所有熱修補與安全修補。

症狀

當您首次在 2008 分析服務 (SSAS 2008) 或SQL Server 2008 R2 分析服務 (SSAS 2008 R2) 中執行SQL Server查詢時,可能會遇到以下其中一種問題。

注意:若資料快取後重複執行相同查詢,這些問題不會出現。

  • 查詢結果錯誤。

  • SSAS會間歇性地停止。 此外,應用程式日誌中會記錄類似以下事件訊息:

    Event Type: Error Event Source: MSSQLServerOLAPService Event Category: (256) Event ID: 22 Description: The description for Event ID ( 22 ) in Source ( MSSQLServerOLAPService ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: Internal error: An unexpected exception occurred.
    
    

    此外,當您查看SSAS日誌時,可能會有類似以下紀錄的紀錄:

原因

此問題是因為 SSAS 中 FusionOfStorageEngineSubspaces 功能出現錯誤所致。 預設情況下,此功能已啟用,預期的行為是該功能能優化 SSAS 中的查詢效能。

解決方式

累積更新資訊

SQL Server 2008 服務包 1

此問題的修正最初於 SQL Server 2008 Service Pack 1 的累積更新 9 中釋出。 欲了解更多關於此累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2083921 2008 服務包 1 SQL Server累積更新包 9 備註:由於建置是累積性的,每個新修正版本都包含了 2008 SQL Server 修正版本中所有的熱修正與安全修正。 Microsoft 建議你考慮套用包含此熱修補的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 2008 服務包 1 發布後SQL Server SQL Server 2008 版本
Microsoft SQL Server 2008 熱修補程式是針對特定 SQL Server 服務包所建立的。 您必須對安裝 SQL Server 2008 Service Pack 1 SQL Server 熱修補程式。 預設情況下,SQL Server 服務包中提供的任何熱修正會包含在下一個 SQL Server 服務包中。

SQL Server 2008 Service Pack 2

此問題的修正最初於 SQL Server 2008 Service Pack 2 的累積更新 1 中釋出。 欲了解更多關於此累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2289254 2008 SQL Server 服務包 2 累積更新 注意 由於建置是累積式,每個新修正版本都包含了 2008 SQL Server 修正釋版本中包含的所有熱修補與安全修補。 我們建議您考慮套用包含此熱修正的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 2008 服務包 2 發布後SQL Server SQL Server 2008 版本

SQL Server 2008 R2

這個問題的修正最早是在累積更新 4 中釋出的。 欲了解更多如何取得 SQL Server 2008 R2 累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2345451 2008 R2 SQL Server累積更新包 備註:由於建置是累積式,每個新修正釋版本都包含了先前 2008 SQL Server R2 修正釋版本中包含的所有熱修補與安全修補。 我們建議您考慮套用包含此熱修正的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在 SQL Server 2008 R2 發行之後所發行的 SQL Server 2008 R2 組建 (機器翻譯)

因應措施

為了解決這個問題,請停用 FusionOfStorageEngineEngineSubspaces 功能 SSAS。 為此,請在分析服務設定檔 (Msmdsrv.ini) 中,將 DisableFusionOfStorageEngineSubspaces 屬性的值設為 0x1。 請謹慎使用這個變通方法,因為查詢效能可能會受到影響。

注意 Msmdsrv.ini 檔案通常位於以下目錄下:

%ProgramFiles%\Microsoft SQL Server\MSAS10.<AS 實例名稱>\OLAP\Config

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

欲了解更多關於 SQL Server 增量服務模型的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

935897 來自 SQL Server 團隊之可傳遞解決回報問題的 Hotfix 的累加服務模型 (機器翻譯)

欲了解更多關於 SQL Server 更新命名架構的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

822499 Microsoft SQL Server軟體更新套件的新命名架構欲了解更多軟體更新術語,請點擊以下文章編號以瀏覽Microsoft知識庫中的文章:

824684 描述用於描述Microsoft軟體更新的標準術語