Windows Server 2008 R2 RDS broker service, if setup as a clustered service, the service may meet database error intermittently.
In application event log, we can see:
Log Name: Application Source: ESENT Event ID: 104 Task Category: General Level: Error Computer: xxx.x.x Description: tssdis (7764) The database engine stopped the instance (0) with error (-1090).
After the error is reported, broker service hangs and never recover and the cluster active node is NOT failed over to the other node.
This issue occurs because the broker service impersonate the cluster account when extending the ESE database log files and met access denied error.
Important This section contains steps that tell you how to modify the registry. However, serious problems might occur if you modifyhe registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base: 322756 How to back up and restore the registry in Windows.
To resolve this issue,
1. Click Start, click Run, type regedit in the Open box, and then click OK. 2. In Registry Editor, locate and then click the following registry subkey:
3. Take a note of the folder specified in the WorkingDirectory key. We will use the folder name later in the steps.
Note: Default it is %systemroot%\system32\tssesdir folder.
4. The fix is to add full control permission to the folder we find in step #1. for following accounts:
Broker Cluster Name Account
5. After changing the folder permission, Quit Registry Editor, and then restart the broker service on the server.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.