• When you have an instance of the corruption, post the output from CHECKDB please so we can see what the corruption is. Could be a number of different things - my guess is that invalid data is being entered into the database (which is possible in 2000, but not in 2005 onwards).

    When you get the corruption, do the following:

    DBCC TRACEON (2570)

    GO

    DBCC CHECKTABLE (tablewithbrokenindex) WITH ALL_ERRORMSGS, NO_INFOMSGS

    GO

    DBCC TRACEOFF (2570)

    GO

    And post the results.

    The traceflag enables some undocumented column data type checks that I put in to 2000.

    Thanks

    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