Summary:


Errors being logged by the User Access Logging (UAL) feature in Windows Server 2012 may result in poor database server performance.

Symptoms: 

Users may report poor database performance when interacting with Sage CRM. This may take the form of timeouts, or actions taking longer than expected to complete. The performance issues persist despite database maintenance-related troubleshooting having been carried out.

The following may be logged to the SQL Server logs:

SQL logs

Event 326 -  svchost (2616) The database engine attached a database (2, C:\Windows\system32\LogFiles\Sum\SystemIdentity.mdb).(Time = 0seconds)
Internal Timing Sequence: [1] 0.000, [2] 0.000, [3] 0.047, [4] 0.000, [5] 0.000, [6] 0.000, [7] 0.000, [8] 0.000, [9] 0.000, [10] 0.000, [11] 0.000, [12] 0.000.
Saved Cache: 1

Event 327 - svchost (2616) The database engine detached a database (2, C:\Windows\system32\LogFiles\Sum\SystemIdentity.mdb).(Time = 0seconds)
Internal Timing Sequence: [1] 0.000, [2] 0.000, [3] 0.000, [4] 0.000, [5] 0.000, [6] 0.016, [7] 0.000, [8] 0.000, [9] 0.015, [10] 0.000, [11] 0.031, [12] 0.016.
Revived Cache: 0

These ESENT events will be logged very frequently, typically several times per second.

Cause:

These errors are logged by an issue related to the UAL feature. Sage CRM does not repeatedly detach and reattach the SystemIdentity database.


Resolution:

There are two reported resolutions to this issue. The first is to disable the User Access Logging feature in Windows Server 2012. This is documented here.

A potential root cause of the issue, with an associated fix is described in the Microsoft KBA article below:

https://support.microsoft.com/en-us/kb/2900773/ja

The original of the article is in Japanese; a translation is available below:

To stop the occurrence of an event, stop the "User Access Logging" service.

After the stop, please conduct one of the following.

Delete the database files and re-generation
Regenerate remove the broken database. After stopping the service, it will delete all the files in the folder "% SystemRoot% \ system32 \ LogFiles \ Sum \" within. Then, start the "User Access Logging" service. Database will be created in the new.

"User Access Logging" Stop Using Service
"User Access Logging" If you are not using the service, you can disable it. After stopping the service, in the "service" of management tools, you can disable the "User Access Logging" of the "Startup type".