Error Investigation Reveals Ghostly Objects

While using SQL Server Profiler to monitor my SQL Server database recently, I periodically received the message Error: 602, Severity: 21, State: 13. In the Process Info window in Enterprise Manager, I found an entry that displayed a background process called GHOST CLEANUP; the user system had initiated this command. I used DBCC CHECKDB to check my database for problems, but I found no anomalies. What is the GHOST CLEANUP command, and what is error 602?

When you delete rows, pages, or extents in your database, SQL Server can mark those objects as ghosts (meaning that deletion is pending) and clean them up later by using a background task. This process is called ghost cleanup. Ghost cleanup improves the performance of the DELETE command because SQL Server doesn't have to deal with physical cleanup right away. What you described seeing in the Process Info window was the background ghost-cleanup task running.

To find out what error 602 means, look for a line in your SQL Server error log that gives you an objectid. You can use the objectid to trace the error to a specific database or object. If the object still exists (i.e., it wasn't a transient object such as a temporary table), you can run DBCC CHECKTABLE against it and query sysindexes to verify that the object isn't damaged. If the object is OK, SQL Server issued the 602 error message falsely. In some situations, SQL Server will issue a spurious 602 error message. To learn more about what error 602 means, go to and search for "SQL and 602." The search will return a list of articles that address 602 errors and what they mean.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.