tempdb error - Could not open File Control Bank (FCB)

  • Has anyone seen this error?

    2008-06-04 18:43:06.07 spid75 Error: 5180, Severity: 22, State: 1.

    2008-06-04 18:43:06.07 spid75 Could not open File Control Bank (FCB) for invalid file ID 0 in database 'tempdb'. Verify the file location. Execute DBCC CHECKDB.

    I ran DBCC CHECKDB on tempdb with no errors.

    __________________________________________________________________________________
    SQL Server 2016 Columnstore Index Enhancements - System Views for Disk-Based Tables[/url]
    Persisting SQL Server Index-Usage Statistics with MERGE[/url]
    Turbocharge Your Database Maintenance With Service Broker: Part 2[/url]

  • Marios,

    Are you using SQL 2000 or 2005? I know you are in a 2005 forum so I assumed 2005, but I found this MS link for this error in SQL 2000:

    http://support.microsoft.com/kb/815183

  • Jack Corbett (6/6/2008)


    Marios,

    Are you using SQL 2000 or 2005? I know you are in a 2005 forum so I assumed 2005, but I found this MS link for this error in SQL 2000:

    http://support.microsoft.com/kb/815183

    Thanks for the link - mine is a SQL 2005 instance.

    __________________________________________________________________________________
    SQL Server 2016 Columnstore Index Enhancements - System Views for Disk-Based Tables[/url]
    Persisting SQL Server Index-Usage Statistics with MERGE[/url]
    Turbocharge Your Database Maintenance With Service Broker: Part 2[/url]

  • Wish I could help more, but I can't find anything related to this error in SQL 2005. Found lots of stuff for SQL 2000 though. I know this is probably not your preferred solution, but have you tried restarting the SQL Server service so that tempdb is rebuilt?

  • Jack Corbett (6/6/2008)


    Wish I could help more, but I can't find anything related to this error in SQL 2005. Found lots of stuff for SQL 2000 though. I know this is probably not your preferred solution, but have you tried restarting the SQL Server service so that tempdb is rebuilt?

    I probably won't do the restart right now, but will keep it in mind as an option if I see this error re-occuring.

    Based on the SQL 2000 link, I lowered MAXDOP from 0 (all CPUs) to 3.

    Our box is hyperthreaded (8 logical CPUs, 4 physical CPUs), and that may have contributed to the problem...

    Thanks for the help!

    __________________________________________________________________________________
    SQL Server 2016 Columnstore Index Enhancements - System Views for Disk-Based Tables[/url]
    Persisting SQL Server Index-Usage Statistics with MERGE[/url]
    Turbocharge Your Database Maintenance With Service Broker: Part 2[/url]

  • Marios, I'm very interested in hearing how reducing parallelism helped reduce or eliminate the issue on your server. I debated on whether or not to start a new post or just add to yours, since we had a similar failure over the weekend. A scheduled job failed with this error:

    Could not open File Control Bank (FCB) for invalid file ID 3 in database ' '. Verify the file location. Execute DBCC CHECKDB.

    Did you see the error with any kind of regularity (in which case you would know if it "went away"), or was it just a one-time occurrence?

    There are two differences between our error and what you saw: the file ID is not zero and the error was not against the tempdb. I don't know if these differences are material or not. Similar to what you saw, CHECKDB reported no errors with any of the databases on the server, and the scheduled job ran successfully on all subsequent runs. We are also using parallelism, but I'm hesitant to make changes without knowing that it will fix the issue and weighing the impact to existing processes.

    Most of the research I've done (i.e. Google) indicates that this error seems to most frequently occur after database corruption or missing data/log files, neither of which seem applicable, since everything appears to be running fine. However, this does leave me worried that we may have a lurking db corruption or hardware issue just waiting for the right time to spring.

    I'm not sure if the file ID referenced in the error is supposed to coordinate with the filenumber in sys.sysfiles, but the database in question has a single data file (numbered 1) and single log file (numbered 2), so I'm not sure why it was looking for file ID 3.

    I'll post any additional research or debugging information I find as we continue to work to the bottom of the issue. We're running 2K5 sp2 on a virtual machine.

    Thanks,

    Chad

  • Parallelism doesn't have anything to do with it on 2005. The problem comes because of a disk or memory corruption that alters a page ID (2-byte file number + 4 byte page-in-file) to have an invalid file number.

    It could be a transient IO subsystem problem or (more likely) bad memory. I'd run memory diagnostics and then IO subsystem diagnostics.

    Hope this helps.

    Paul Randal
    CEO, SQLskills.com: Check out SQLskills online training!
    Blog:www.SQLskills.com/blogs/paul Twitter: @PaulRandal
    SQL MVP, Microsoft RD, Contributing Editor of TechNet Magazine
    Author of DBCC CHECKDB/repair (and other Storage Engine) code of SQL Server 2005

  • For us it only occurred once on 2008-06-04.

    Any info on this you can find, please post it.

    Also, unless yours is strictly an instance used for reporting with very little OLTP, I would suggest

    you change MAXDOP to a value of 2 or 3 (if it is set to 0). The change can be made at any time transparently with no service restart.

    MAXDOP = 0 is a default that does not apply in the majority of scenarios.

    __________________________________________________________________________________
    SQL Server 2016 Columnstore Index Enhancements - System Views for Disk-Based Tables[/url]
    Persisting SQL Server Index-Usage Statistics with MERGE[/url]
    Turbocharge Your Database Maintenance With Service Broker: Part 2[/url]

  • Paul Randal (6/9/2008)


    Parallelism doesn't have anything to do with it on 2005. The problem comes because of a disk or memory corruption that alters a page ID (2-byte file number + 4 byte page-in-file) to have an invalid file number.

    It could be a transient IO subsystem problem or (more likely) bad memory. I'd run memory diagnostics and then IO subsystem diagnostics.

    Hope this helps.

    Thanks for the info, we will run diagnostics on memory, I/O.

    __________________________________________________________________________________
    SQL Server 2016 Columnstore Index Enhancements - System Views for Disk-Based Tables[/url]
    Persisting SQL Server Index-Usage Statistics with MERGE[/url]
    Turbocharge Your Database Maintenance With Service Broker: Part 2[/url]

Viewing 9 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic. Login to reply