Applies to: SQL Server (all supported versions)
|Product Name||SQL Server|
|Message Text||Warning: The system catalog was updated directly in database ID %d, most recently at %S_DATE|
This error indicates a user initiated changes to system tables. Manually updating system tables is not supported. The system tables should only be updated by the SQL Server database engine. When SQL Server detects user initiated changes to the system tables, error 3859 is raised in the following two scenarios:
An event that resembles the following is logged in the SQL Server Error Log or in the Application log in Event Viewer when you start a SQL Server database that contains a system table that was manually updated:
Log Name: Application
Source: MSSQLSERVER Event ID: 3859
Task Category: Server
Description: Warning: The system catalog was updated directly in database ID %d, most recently at date_time
The following warning message is returned when you execute the
DBCC_CHECKDBcommand after a system table is manually updated:
DBCC results for 'database_name'.
Msg 8992, Level 16, State 1, Line 1
Check Catalog Msg 3859, State 1: Warning: The system catalog was updated directly in database ID %d, most recently at date_time.
CHECKDB found 0 allocation errors and 0 consistency errors in database 'db_name'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
To resolve this issue, use one of the following methods.
If you have a clean backup of the database, restore the database from the backup.
This method works only if the backup does not have inconsistencies in the metadata.
If you cannot restore the database from a backup, export the data and the objects to a new database. Then, transfer the contents of the manually-updated database into the new database. Note You cannot repair inconsistencies in the system catalogs by using the REPAIR options in the DBCC CHECKDB commands. Therefore, because the command cannot repair metadata corruption, the command does not provide any recommended repair level.
You can view the data in the system tables through the system catalog views.
For more information you can, see: System Base Tables.