• If you're getting recurring corruption (you repair, corruption comes back, you repair, etc), your IO subsystem is faulty, check logs, update drivers, etc. SQL is not in the habit of corrupting its own databases and if checkDB repairs successfully, then it's repaired and there's no more corruption.

    p.s. Repair is the last resort when fixing corruption, for when you don't have a backup. Your recommended approach is to restore the last good backup and transaction log backups.

    Take a look at this article. http://www.sqlservercentral.com/articles/65804/

    Don't just run repair

    It may be tempting to just run CheckDB with one of the repair options (typically allow data loss) and believe that it will make everything better. In many cases running repair is not the recommended fix. It is not guaranteed to fix all errors and it may result in unacceptable data loss.

    Repair is, in most cases, the last resort for fixing corruption. It should be done only when none of the alternatives are possible, not done as the first thing tried.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass