Applies ToSQL Server 2008 Service Pack 3 SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

徵狀

當您在 Microsoft SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 中查詢二進位大型物件(BLOB)欄資料時,您可能會收到下列錯誤:

錯誤:5180無法開啟 [檔案控制銀行] (FCB),找出資料庫 [tempdb] 中的無效檔案 ID 0。 確認檔案位置。 執行 DBCC CHECKDB。

原因

發生這個問題是因為 SQL Server 在讀取 BLOB 資料時,沒有適當地處理(取消)訊息。 這個問題只會在停用內部記憶體中的 BLOB 緩衝時發生。 停用快取時,快取資料會切換到資料庫 tempdb。 此後,SQL Server 會從資料庫 tempdb (而非記憶體中的快取)中讀取 BLOB 資料。 視 BLOB 資料大小或伺服器記憶體情況而定,內部記憶體中的 BLOB 快取是停用。

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

狀態

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

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。