Sign in with Microsoft
Sign in or create an account.

Microsoft 將 Microsoft SQL Server 2008 R2 發佈為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 R2 修正程式版本中所包含的所有修復程式及所有安全性修正程式。

徵狀

請試想下列案例:

  • 您的資料庫包含 Microsoft SQL Server 2008 R2 或 SQL Server 2008 中的 FILESTREAM 檔組。

  • 資料庫事務隨即開啟並寫入 FILESTREAM 檔案。 交易使用 buffing 來執行這些作業。

  • 您在提交資料庫事務前關閉了 FILESTREAM 檔案。 因此,Windows 可能會將部分檔案保留在檔案系統快取中。

  • SQL Server 命令使用 nonbuffered 存取路徑來存取 FILESTREAM 檔案。 例如,在備份作業或病毒掃描中使用 SQL Server 命令。

在這種情況下,SQL Server 命令會停止回應。注意事項 發生這個問題時,您可能需要重新開機 SQL Server 才能從此問題復原,或者您可能必須重新開機電腦才能從此問題復原。

原因

這個問題是由 FILESTREAM RsFx 驅動程式中的錯誤所造成。 當無法使用緩衝選項的作業要求沒有快取的存取路徑時,NTFS 檔案系統會在快取中找出髒 $DATA 區段,然後 ntfs 檔案系統會要求關閉快取的部分。 FILESTREAM RsFx驅動程式會偵測到檔案關閉要求。 不過,驅動程式會發現第一個資料庫事務尚未完成。 因此, FILESTREAM RsFx 驅動程式會嘗試清除資料,併發生 system.object 中的鎖死。

解決方案

SQL Server 2008 Service Pack 3 資訊

若要解決此問題,請取得 SQL Server 2008 的 Service Pack 3。 如需詳細資訊,請參閱Sql server 2008 Service Pack 3 所修正的問題清單 ,以及 如何取得最新的 sql server 2008 service pack

累積更新資訊

SQL Server 2008 R2 Service Pack 1

此問題的修正程式是在 SQL Server 2008 R2 Service Pack 1 的累積更新1中第一次發行。如需如何取得此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2544793 SQL Server 2008 R2 Service Pack 1 的累積更新套件1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建

SQL Server 2008 R2

此問題的修正程式是在累積更新8中第一次發行。如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2534352 SQL Server 2008 R2 的累積更新套件8 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

因應措施

若要解決此問題,請不要在寫入 FILESTREAM 檔案時使用緩衝功能。

其他相關資訊

如需有關 FILESTREAM 資料的詳細資訊,請造訪下列 MSDN 網站:

有關 FILESTREAM 資料的一般資訊

呼叫堆疊資訊

fffff880`01fa1760 fffff800`01489992 : fffffa80`090eb680 fffffa80`090eb680 00000000`00000000 fffffa80`00000008 : nt!KiSwapContext+0x7afffff880`01fa18a0 fffff800`0148c1af : fffffa80`090eb680 fffff800`015f6e80 fffff880`000000ca fffff880`014542c3 : nt!KiCommitThreadWait+0x1d2fffff880`01fa1930 fffff800`014651de : 00000000`00000000 fffffa80`0000001b 00000000`00000000 fffff800`015f6e00 : nt!KeWaitForSingleObject+0x19f fffff880`01fa19d0 fffff800`0148a5cc : ffffffff`fd9da600 fffffa80`09dba410 fffffa80`0a4a2f98 fffffa80`093cc180 : nt!ExpWaitForResource+0xaefffff880`01fa1a40 fffff880`014c8ca1 : fffff8a0`023fcb40 fffffa80`0a61bf20 fffff880`01fa1c40 fffff880`00000002 : nt!ExAcquireResourceExclusiveLite+0x14ffffff880`01fa1ab0 fffff880`014c96b4 : fffffa80`0a8684e0 fffffa80`091c1190 fffffa80`0a61bf20 00000000`00000000 : Ntfs!NtfsCommonFlushBuffers+0x14dfffff880`01fa1b90 fffff880`01253bcf : fffffa80`091c1530 fffffa80`091c1190 fffffa80`0a8684e0 fffff880`01fa2c30 : Ntfs!NtfsFsdFlushBuffers+0x104fffff880`01fa1c00 fffff880`01256aea : 00000000`00000000 00000000`00000000 fffffa80`0a269000 fffffa80`0a273b90 : fltmgr!FltpLegacyProcessingAfterPreCallbacksCompleted+0x24f fffff880`01fa1c90 fffff880`0128c1fd : fffffa80`093ca8f8 fffffa80`0941bf00 fffffa80`093ca800 fffffa80`0941bf00 : fltmgr!FltPerformSynchronousIo+0x2cafffff880`01fa1d30 fffff880`0163b2ba : fffffa80`0941bf00 ffffffff`ffffff01 fffffa80`0a273c40 fffffa80`093c000f : fltmgr!FltFlushBuffers+0x2dfffff880`01fa1df0 fffff880`0164bf0c : fffffa80`0b907de8 fffff880`01fa2048 fffff880`01fa1f18 00000000`00000000 : RsFx0150!RsFxFltrPreCloseLogical+0x2ea fffff880`01fa1ed0 fffff880`01253067 : fffffa80`0941be60 fffff880`01fa2048 fffff880`01fa2020 fffffa80`090dc040 : RsFx0150!RsFxFltrPreMainDispatchCallback+0x58c fffff880`01fa1fd0 fffff880`01254329 : fffff880`01fa2100 00000000`00000002 fffffa80`00960500 fffffa80`0b453c00 : fltmgr!FltpPerformPreCallbacks+0x2f7fffff880`01fa20d0 fffff880`012526c7 : fffffa80`0aefe620 fffffa80`093c72d0 fffffa80`092c87c0 00000000`00000000 : fltmgr!FltpPassThrough+0x2d9 fffff880`01fa2150 fffff800`0178088e : fffffa80`0a61bf20 fffffa80`093c5380 fffff8a0`09c90840 fffffa80`093c72d0 : fltmgr!FltpDispatch+0xb7fffff880`01fa21b0 fffff800`0148e514 : 00000000`00000001 00000000`00000000 fffffa80`090f0080 fffffa80`0b453cf8 : nt!IopDeleteFile+0x11e fffff880`01fa2240 fffff800`01725f61 : 00000000`00000000 00000000`0008c081 fffffa80`0b453cb0 fffffa80`0b453cb0 : nt!ObfDereferenceObject+0xd4fffff880`01fa22a0 fffff800`0145271b : fffffa80`0b453d30 00000000`00000000 fffffa80`0b453d30 fffffa80`0b453d30 : nt!MiSegmentDelete+0xa1fffff880`01fa22e0 fffff800`01452e42 : 00000000`00000000 00000000`00000711 fffffa80`09eb6348 fffff8a0`023fcc00 : nt!MmPurgeSection+0x71bfffff880`01fa23d0 fffff880`014c19ef : fffffa80`0a4a2f68 fffffa80`09eb6300 00000000`00000000 fffffa80`00000000 : nt!CcPurgeCacheSection+0x172fffff880`01fa2440 fffff880`014ef84e : fffffa80`09eb6300 fffff8a0`023fcc70 00000000`00000000 fffff8a0`023fcc01 : Ntfs!NtfsFlushAndPurgeScb+0x1bdfffff880`01fa24d0 fffff880`014ddfe5 : fffffa80`09eb6300 fffffa80`0a95ef20 fffffa80`093cc180 fffff8a0`023fced8 : Ntfs!NtfsOpenAttribute+0x80efffff880`01fa25e0 fffff880`014d9e3b : fffff880`0785d4a0 fffffa80`09eb6300 fffff8a0`023fced8 fffff8a0`00000152 : Ntfs!NtfsOpenExistingAttr+0x145fffff880`01fa26a0 fffff880`014dd09f : fffffa80`09eb6300 fffffa80`0a95ec10 fffff8a0`023fced8 fffff880`00000152 : Ntfs!NtfsOpenAttributeInExistingFile+0x5abfffff880`01fa2830 fffff880`014ed166 : fffffa80`09eb6300 fffffa80`0a95ec10 fffff8a0`023fced8 00000000`00000701 : Ntfs!NtfsOpenExistingPrefixFcb+0x1ef fffff880`01fa2920 fffff880`014ea911 : fffffa80`09eb6300 fffffa80`0a95ec10 fffff880`01fa2af0 fffff880`01fa2b40 : Ntfs!NtfsFindStartingNode+0x5e6 fffff880`01fa29f0 fffff880`01448945 : fffffa80`09eb6300 fffffa80`0a95ec10 fffff880`0785d4a0 fffff800`0148c900 : Ntfs!NtfsCommonCreate+0x3e1 fffff880`01fa2bd0 fffff800`0148ea21 : fffff800`01736800 fffff800`01621600 fffffa80`090eb600 8b48fffd`00000000 : Ntfs!NtfsFspDispatch+0x26d fffff880`01fa2cb0 fffff800`01721cce : 0f26e818`4b8d586e fffffa80`090eb680 00000000`00000080 fffffa80`090969e0 : nt!ExpWorkerThread+0x111 fffff880`01fa2d40 fffff800`01475fe6 : fffff800`015f6e80 fffffa80`090eb680 fffffa80`090ebb60 000008bf`12ebc000 : nt!PspSystemThreadStartup+0x5a 

下表提供在您的 SQL Server 實例上自動檢查此條件的產品或工具的詳細資訊,以及評估該規則的 SQL Server 版本。

規則軟體

規則標題

規則描述

評估規則所依據的產品版本

System Center Advisor

SQL Server 遺失更新2550552以避免涉及到 filesystem 與 filestream 驅動程式的鎖死

System Center Advisor 會判斷 SQL Server 實例是否為不包含此修正程式的組建。 如果目前的 SQL Server 組建早于固定組建,System Center Advisor 會針對這個 SQL Server 實例產生一個警告。 如果您收到來自 System Center Advisor 的此警告,請參閱本文中的修正詳細資料,並套用適用于此實例的更新。

SQL Server 2008SQL Server 2008 R2

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×