When you query binary large object (BLOB) column data in Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, or SQL Server 2014, you might receive the following error:
Error: 5180 Could not open File Control Bank (FCB) for invalid file ID 0 in database 'tempdb'. Verify the file location. Execute DBCC CHECKDB.
The issue occurs because SQL Server does not handle an attention (cancel) message appropriately when it reads BLOB data. This issue only happens when internal in-memory BLOB cache is disabled. When the cache is disabled, the cache data switches to database tempdb. After that, SQL Server reads the BLOB data from database tempdb instead of the in-memory cache. Depends on BLOB data size or server memory condition, the internal in-memory BLOB cache is disabled.
The issue was first fixed in the following cumulative update of SQL Server.
Cumulative Update 2 for SQL Server 2012 SP2 /en-us/help/2983175
Cumulative Update 11 for SQL Server 2012 SP1 /en-us/help/2975396
Cumulative Update 13 for SQL Server 2008 R2 SP2 /en-us/help/2967540
Cumulative Update 2 for SQL Server 2014 /en-us/help/2967546
Cumulative Update 17 for SQL Server 2008 SP3 /en-us/help/2958696
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.