Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

Microsoft distributes Microsoft SQL Server 2008 R2 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release.

Symptoms

Consider the following scenario:

  • You have a database that contains a FILESTREAM filegroup in Microsoft SQL Server 2008 R2 or SQL Server 2008.

  • A database transaction opens and writes to a FILESTREAM file. The transaction uses buffing to perform these operations.

  • You close the FILESTREAM file before you commit the database transaction. Therefore, Windows may keep parts of the file in the file system cache.

  • A SQL Server command uses a nonbuffered access path to access the FILESTREAM file. For example, the SQL Server command is used in a backup operation or in a virus scan.

In this scenario, the SQL Server command stops responding.

Notes When this issue occurs, you may have to restart SQL Server to recover from this issue, or you may have to restart the computer to recover from this issue.

Cause

This issue occurs because of an error in the FILESTREAM RsFx driver.

When an operation that does not use the buffering option requests an access path that is not cached, the NTFS file system locates the dirty $DATA segment in the cache, and then the NTFS file system requests the cached portions to be closed. The FILESTREAM RsFx driver detects the file close request. However, the driver finds that the first database transaction has not finished. Therefore, the FILESTREAM RsFx driver tries to flush the data, and a deadlock in System.exe occurs.

Resolution

Service Pack 3 information for SQL Server 2008

To resolve this issue, obtain the Service Pack 3 for SQL Server 2008. For more information, see List of issues that are fixed by SQL Server 2008 Service Pack 3 and How to obtain the latest service pack for SQL Server 2008.

Cumulative update information



SQL Server 2008 R2 Service Pack 1


The fix for this issue was first released in Cumulative Update 1 for SQL Server 2008 R2 Service Pack 1. For more information about how to obtain this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:

2544793 Cumulative Update package 1 for SQL Server 2008 R2 Service Pack 1Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

2567616 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 1 was released

SQL Server 2008 R2


The fix for this issue was first released in Cumulative Update 8. For more information about how to obtain this cumulative update package for SQL Server 2008 R2, click the following article number to view the article in the Microsoft Knowledge Base:

2534352 Cumulative Update package 8 for SQL Server 2008 R2 Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

981356 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 was released

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Workaround

To work around this issue, do not use buffering when you write to FILESTREAM files.

More Information

For more information about FILESTREAM data, visit the following MSDN website:

General information about FILESTREAM data

Call stack information

fffff880`01fa1760 fffff800`01489992 : fffffa80`090eb680 fffffa80`090eb680 00000000`00000000 fffffa80`00000008 : nt!KiSwapContext+0x7a
fffff880`01fa18a0 fffff800`0148c1af : fffffa80`090eb680 fffff800`015f6e80 fffff880`000000ca fffff880`014542c3 : nt!KiCommitThreadWait+0x1d2
fffff880`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+0xae
fffff880`01fa1a40 fffff880`014c8ca1 : fffff8a0`023fcb40 fffffa80`0a61bf20 fffff880`01fa1c40 fffff880`00000002 : nt!ExAcquireResourceExclusiveLite+0x14f
fffff880`01fa1ab0 fffff880`014c96b4 : fffffa80`0a8684e0 fffffa80`091c1190 fffffa80`0a61bf20 00000000`00000000 : Ntfs!NtfsCommonFlushBuffers+0x14d
fffff880`01fa1b90 fffff880`01253bcf : fffffa80`091c1530 fffffa80`091c1190 fffffa80`0a8684e0 fffff880`01fa2c30 : Ntfs!NtfsFsdFlushBuffers+0x104
fffff880`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+0x2ca
fffff880`01fa1d30 fffff880`0163b2ba : fffffa80`0941bf00 ffffffff`ffffff01 fffffa80`0a273c40 fffffa80`093c000f : fltmgr!FltFlushBuffers+0x2d
fffff880`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+0x2f7
fffff880`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+0xb7
fffff880`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+0xd4
fffff880`01fa22a0 fffff800`0145271b : fffffa80`0b453d30 00000000`00000000 fffffa80`0b453d30 fffffa80`0b453d30 : nt!MiSegmentDelete+0xa1
fffff880`01fa22e0 fffff800`01452e42 : 00000000`00000000 00000000`00000711 fffffa80`09eb6348 fffff8a0`023fcc00 : nt!MmPurgeSection+0x71b
fffff880`01fa23d0 fffff880`014c19ef : fffffa80`0a4a2f68 fffffa80`09eb6300 00000000`00000000 fffffa80`00000000 : nt!CcPurgeCacheSection+0x172
fffff880`01fa2440 fffff880`014ef84e : fffffa80`09eb6300 fffff8a0`023fcc70 00000000`00000000 fffff8a0`023fcc01 : Ntfs!NtfsFlushAndPurgeScb+0x1bd
fffff880`01fa24d0 fffff880`014ddfe5 : fffffa80`09eb6300 fffffa80`0a95ef20 fffffa80`093cc180 fffff8a0`023fced8 : Ntfs!NtfsOpenAttribute+0x80e
fffff880`01fa25e0 fffff880`014d9e3b : fffff880`0785d4a0 fffffa80`09eb6300 fffff8a0`023fced8 fffff8a0`00000152 : Ntfs!NtfsOpenExistingAttr+0x145
fffff880`01fa26a0 fffff880`014dd09f : fffffa80`09eb6300 fffffa80`0a95ec10 fffff8a0`023fced8 fffff880`00000152 : Ntfs!NtfsOpenAttributeInExistingFile+0x5ab
fffff880`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

The following table provides more information about the products or the tools that automatically check for this condition on your instance of SQL Server and about the versions of SQL Server against which that rule is evaluated.

Rule software

Rule title

Rule description

Product versions against which the rule is evaluated

System Center Advisor

SQL Server missing update 2550552 to avoid deadlock involving filesystem and filestream driver

System Center Advisor determines whether the instance of SQL Server is a build that does not include this fix. If the current build of SQL Server is earlier than the fixed build, System Center Advisor generates a warning for this instance of SQL Server. If you receive this warning from System Center Advisor, review the fix details in this article and apply the update that is applicable for this instance.

SQL Server 2008
SQL Server 2008 R2



Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

Was this information helpful?

What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×