Triệu chứng
Khi bạn truy vấn dữ liệu cột đối tượng lớn nhị phân (BLOB) trong Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 hoặc SQL Server 2014, bạn có thể nhận được lỗi sau:
Lỗi: 5180 không thể mở ngân hàng điều khiển tệp (FCB) cho ID tệp không hợp lệ 0 trong cơ sở dữ liệu ' tempdb '. Xác nhận vị trí tệp. Thực thi DBCC CHECKDB.
Nguyên nhân
Sự cố xảy ra vì SQL Server không xử lý thông báo sự chú ý (hủy) một cách phù hợp khi nó đọc dữ liệu BLOB. Sự cố này chỉ xảy ra khi bộ đệm ẩn nội bộ trong bộ đệm ẩn bị tắt. Khi bộ đệm ẩn bị tắt, dữ liệu bộ đệm ẩn sẽ chuyển sang cơ sở dữ liệu tempdb. Sau đó, SQL Server sẽ đọc dữ liệu BLOB từ tempdb cơ sở dữ liệu thay vì bộ đệm ẩn trong bộ nhớ. Tùy thuộc vào kích cỡ dữ liệu BLOB hoặc điều kiện bộ nhớ máy chủ, bộ đệm ẩn nội bộ trong bộ nhớ đã bị vô hiệu hóa.
Giải pháp
Vấn đề lần đầu tiên được khắc phục trong bản Cập Nhật tích lũy SQL Server sau đây.
Bản Cập Nhật tích lũy 2 cho SQL Server 2012 SP2 /en-us/help/2983175
Bản Cập Nhật tích lũy 11 cho SQL Server 2012 SP1 /en-us/help/2975396
Bản Cập Nhật tích lũy 13 cho SQL Server 2008 R2 SP2 /en-us/help/2967540
Bản Cập Nhật tích lũy 2 cho SQL Server 2014 /en-us/help/2967546
Bản Cập Nhật tích lũy 17 cho SQL Server 2008 SP3 /en-us/help/2958696
Mỗi bản Cập Nhật tích lũy mới cho SQL Server 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 Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
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".