Event ID 17659 and event ID 3859 are logged when you update system tables in a SQL Server database

Article translations Article translations
Article ID: 2688307 - View products that this article applies to.
Expand all | Collapse all

Symptoms

Scenario 1

An event that resembles the following is logged in the SQL Server Error Log or in the Application log in Event Viewer when a system table is manually updated in Microsoft SQL Server:
Log Name: Application
Source: MSSQL$SQL2008R2
Event ID: 17659
Task Category: Server
Level: Information
Description: Warning: System table ID 34 has been updated directly in database ID 17 and cache coherence may not have been maintained. SQL Server should be restarted.

Scenario 2

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: MSSQL$SQL2008R2
Event ID: 3859
Task Category: Server
Level: Information
Description: Warning: The system catalog was updated directly in database ID 17, most recently at date_time

Scenario 3

The following warning message is returned when you execute the DBCC_CHECKDB command after a system table is manually updated:
DBCC results for 'database_name'.
Check Catalog Msg 3859, State 1: Warning: The system catalog was updated directly in database ID 17, 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.


Cause

This issue can occur if a base system table is manually updated.

Notes
  • Manually updating system tables is not supported. The system tables should only be updated by the SQL Server database engine.
  • You can view the data in the system tables through the system catalog views.

Resolution

To resolve this issue, transfer the contents of the database that was manually updated into a new database for application use.

More information

System Base Tables

The following table provides more information about the products or tools that automatically check for this condition on your instance of SQL Server and on the versions of the SQL Server product against which the rule is evaluated.
Collapse this tableExpand this table
Rule softwareRule titleRule descriptionProduct versions against which the rule is evaluated
System Center AdvisorSQL Server has detected direct system catalog update: Msg 17659System Center Advisor generates an alert when event ID 17659 is reported to the Application log in Windows. Use the information from the alert to identify the database that is in an unsupported state, and follow the steps in the "Resolution" section of this article.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
System Center AdvisorSQL Server has detected direct system catalog update: Msg 3859System Center Advisor generates an alert when event ID 3859 is reported to the Application log in Windows. Use the information from the alert to identify the database that is in an unsupported state, and follow the steps in the "Resolution" section of this article.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012



References

For more information about issues that can occur when a SQL Server system table is manually updated, click the article number to view the article in the Microsoft Knowledge Base:

2787112 "Msg 8992" error message and inconsistent metadata in the SQL Server system catalogs

Properties

Article ID: 2688307 - Last Review: February 4, 2013 - Revision: 2.0
Applies to
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 R2 Enterprise
Keywords: 
kbprb kbsurveynew kbtshoot KB2688307

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com