KB2550552-sửa lỗi: lệnh SQL Server ngừng phản hồi khi dùng đường dẫn truy nhập không buffered để truy nhập tệp FILESTREAM trong SQL Server 2008 R2 hoặc SQL Server 2008

Microsoft phân phối các bản sửa lỗi Microsoft SQL Server 2008 R2 là một tệp được tải xuống. Vì bản sửa lỗi được tích lũy, mỗi bản phát hành mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó.

Triệu chứng

Hãy xem xét tình huống sau:

  • Bạn có một cơ sở dữ liệu có chứa một nhóm Filetream trong Microsoft SQL Server 2008 R2 hoặc SQL Server 2008.

  • Giao dịch cơ sở dữ liệu sẽ mở ra và ghi vào tệp Filestream . Giao dịch sử dụng buffing để thực hiện các thao tác này.

  • Bạn đóng tệp Filestream trước khi bạn cam kết giao dịch cơ sở dữ liệu. Do đó, Windows có thể giữ các phần của tệp trong bộ đệm ẩn hệ thống tệp.

  • Lệnh SQL Server sử dụng đường dẫn truy nhập không có buffered để truy nhập vào tệp Filestream . Ví dụ, lệnh SQL Server được sử dụng trong thao tác sao lưu hoặc trong quét vi-rút.

Trong trường hợp này, lệnh SQL Server sẽ ngừng phản hồi.Lưu ý́ Khi sự cố này xảy ra, bạn có thể phải khởi động lại SQL Server để phục hồi khỏi vấn đề này, hoặc bạn có thể phải khởi động lại máy tính để phục hồi khỏi vấn đề này.

Nguyên nhân

Sự cố này xảy ra do một lỗi trong trình điều khiển RsFx Filestream . Khi một thao tác không sử dụng tùy chọn Buffering yêu cầu đường dẫn truy nhập không được lưu trữ, Hệ thống tệp NTFS sẽ sắp xếp phân đoạn $Data bẩn trong bộ đệm ẩn, rồi hệ thống tệp NTFS sẽ yêu cầu các phần đã được đệm ẩn được đóng. Trình điều khiển Filestream RsFx phát hiện yêu cầu đóng tệp. Tuy nhiên, trình điều khiển thấy rằng giao dịch cơ sở dữ liệu đầu tiên chưa hoàn tất. Do đó, trình điều khiển RsFx Filestream cố gắng xả dữ liệu, và một đường bế tắc trong System. exe xảy ra.

Giải pháp

Thông tin về gói dịch vụ cho SQL Server 2008

Để giải quyết sự cố này, có được gói dịch vụ 3 cho SQL Server 2008. Để biết thêm thông tin, hãy xem danh sách các vấn đề được khắc phục bởi SQL server 2008 Service Pack 3cách tải gói dịch vụ mới nhất cho SQL Server 2008.

Thông tin Cập Nhật tích lũy

Gói dịch vụ SQL Server 2008 R2 1

Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Cumulative Update 1 cho SQL Server 2008 R2 Service Pack 1. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy này, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

2544793 Gói Cập Nhật tích lũy 1 cho SQL Server 2008 R2 gói dịch vụ 1Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

2567616 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 Service Pack 1 đã được phát hành

SQL Server 2008 R2

Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật Cumulative 8. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2008 R2, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:

2534352 Gói Cập Nhật tích lũy 8 cho SQL Server 2008 R2 Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

981356 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 được phát hành

Trạng thái

Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Cách giải quyết

Để giải quyết vấn đề này, không sử dụng đệm khi bạn viết vào các tệp Filestream .

Thông tin Bổ sung

Để biết thêm thông tin về dữ liệu Filestream , hãy truy cập trang web MSDN sau đây:

Thông tin chung về dữ liệu FILESTREAM

Thông tin về ngăn xếp cuộc gọi

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 

Bảng sau đây cung cấp thêm thông tin về các sản phẩm hoặc công cụ tự động kiểm tra điều kiện này trên phiên bản SQL Server của bạn và về các phiên bản SQL Server đối với quy tắc đó được đánh giá.

Phần mềm quy tắc

Tiêu đề quy tắc

Mô tả quy tắc

Các phiên bản sản phẩm đối với quy tắc được đánh giá

Cố vấn trung tâm hệ thống

SQL Server bị thiếu bản Cập Nhật 2550552 để tránh bế tắc liên quan đến trình điều khiển file và filestream

Cố vấn trung tâm hệ thống xác định xem có phải là bản dựng của SQL Server không bao gồm bản sửa lỗi này hay không. Nếu bản dựng hiện tại của SQL Server sớm hơn việc xây dựng cố định, tư vấn trung tâm hệ thống sẽ tạo ra một cảnh báo cho phiên bản SQL Server này. Nếu bạn nhận được cảnh báo này từ tư vấn trung tâm hệ thống, hãy xem lại thông tin chi tiết về sửa lỗi trong bài viết này và áp dụng bản Cập Nhật được áp dụng cho ví dụ này.

SQL Server 2008SQL Server 2008 R2

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×