Error 8964 & Select question

  • I have some tables with some errors that need to be fixed(Error 8964.) I wanted to see if I could use a select statement to view the fields to see what data is in them before I do any repair that allows data loss. (The error log provides me with the Object ID, page, slot, and text ID.)

    [Microsoft][ODBC SQL Server Driver][SQL Server]Table error: Object ID 196174046. The text, ntext, or image node at page (1:72753), slot 31, text ID 12082544640 is not referenced.

    So with all the information provided above...Is there any way to use this information in a select statement to view what data might be in those fields now?

    Also if anyone has a standard course of action for what they do when they get an Error 8964 like this on a database, I would be much interested to hear how they handle it.  (I couldn't find too much when I researched it.)

    Thanks much!

    Paula

  • Hi Paula.

    What version of SQL Server and service pack are you running?  Does http://support.microsoft.com/kb/281287/EN-US/ apply?

     

    Francis

  • That article is exactly the problem however I looked at the table and found nothing with the IGNORE_DUP_KEY clause turned on in any of the properties.  (I had to check manually which was a real pain - wish the article would mention how to query to check for that clause in every possible place in the db.)

    Info:

    Microsoft Windows 2000 5.00.2195 (SP4)

    Clustered SQL Enterprise Server 8.00.760 (SP3)

  • Paula,

    AFAIR the status column in sysindexes holds the information of IGNORE_DUP_KEY. at least it used to be like that in the early sybase days:

    status & 1 = 1 ----> index created with IGNORE_DUP_KEY

    this should be easy to test though

    HTH

     


    * Noel

  • Thanks Noel!  I'll try a query off of that and see what I get.

    So nobody knows a way to take the info provided in the error message to look at the info in the "non-referenced" field?

    I finally had to dbcc it with the allow data loss option to fix it... but the customer is asking if there is any specific way to find out what (if any) data was lost from the database during the fix.  I haven't seen any way but then again I'm pretty new to sql.

    Thanks again!

    Paula

  • Well I ended up running a dbcc dbrepair with the allow data loss option.  It fixed the problems but we're worried about what data might have been lost.  Another thing is that I had this occur in another similar database on a different server and the interesting thing is the corruption was in the same table (in the phonecall table which most of our databases have.)  Guess we'll have to keep an eye on what is going on with this table.

     

    Thanks!

Viewing 6 posts - 1 through 5 (of 5 total)

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