SQL 6.5 Fatal Error 605

Posted on 2009-04-30
Last Modified: 2012-05-06
I am running an application that uses a MSSQL 6.5 DB.  It has been running fine for years.  However, a couple of weeks ago, we received a fatal error 605.  It stated the error was in the 'transaction' table.  Unfortunately, we did not attempt to correct the problem immediately after the error appeared, so our backups will not help in this case.  I also attempted to run the DBCC CHECKTABLE REPAIR_ALLOW_DATA_LOSS command before realizing that it will only work in MSSQL 7.0 +.  

So, I need to know the safest (and easiest) method to correct the 605 error on the affected table.  We are not SQL experts in any stretch of the imagination, so we will need as much as can be provided in snippets or step-by-step directions.  

Thank you in advance for the assistance!
Question by:tso11
    LVL 25

    Expert Comment

    Try running the DBCC CHECKTABLE command without any options and post the output here..

    You could also lookup the TRANSACT SQL help in the Query Tool to check the options that are supported in SQL Server 6.5 (not sure as its been a long long while since I've worked with 6.5)..

    You could also try doing a select * into  a different table, though I'd suspect that won't work if there are serious problems with your 'transaction' table ..

    Author Comment

    Here are the results of DBCC CHECKTABLE ('transactions')

    Checking transactions
    The total number of data pages in this table is 191472.
    Table has 1202252 data rows.
    Msg 605, Level 21, State 1
    Attempt to fetch logical page 360464 in database 'mainx' belongs to object  'rpt_tran_totals', not to object 'transactions'.
    DBCC execution completed.  If DBCC printed error messages, see your System Administrator.  

    Also, while in the Enterprise Manager, I noticed that the system is showing no available data space for the database.  With that being said, it has said that in the past without it being much of an issue.  That is probably best held for another EE question.  

    Anyway, I hope the output helps.  Thanks!

    Author Comment

    By the way, I did check the TRANSACT SQL HELP.  I looked through the possible options, but none of them would seem to help in this situation.  Through web searches I saw someone recommended using a DBCC FIX_AL, but I am hesitant to do so if it could cause other problems.  I am not sure if that is the case.  Another recommendation is using a BCP Out BCP In, but I don't have enough SQL knowledge to use that.  I would need a lot of help with that.  

    I am raising the points as it would seem this is a bit more complicated.  Hopefully, there is still an easier solution!
    LVL 1

    Expert Comment

    The error could be on the index.  Can you still access the data with a simple SELECT * FROM [Tablename]?

    Author Comment

    Yes.  I am able to pull data with a SELECT * FROM transactions command.  
    LVL 1

    Accepted Solution

    The first thing I would do is copy the data into a new table.  Make sure you copy all indexes too.  Then I would delete the table.  Create a new table.  insert the data.  create any indexes you had.  I would also run DBCC CHECKDB (Transact-SQL) on the database to see if any other issues may be there.

    Featured Post

    What Should I Do With This Threat Intelligence?

    Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

    Join & Write a Comment

    PL/SQL can be a very powerful tool for working directly with database tables. Being able to loop will allow you to perform more complex operations, but can be a little tricky to write correctly. This article will provide examples of basic loops alon…
    If you have heard of RFC822 date formats, they can be quite a challenge in SQL Server. RFC822 is an Internet standard format for email message headers, including all dates within those headers. The RFC822 protocols are available in detail at:   ht…
    Video by: Steve
    Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
    Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

    745 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    16 Experts available now in Live!

    Get 1:1 Help Now