Service Broker Error 28054.
Applies to: Microsoft SQL Server 2008 R2.
Problem Description.
I found the following error message on SQL Server Error Log:
2012-08-19 05:46:33.670 spid65 Error: 28054,
Severity: 11, State: 1.
2012-08-19 05:46:33.670 spid65 Service Broker needs to access the master key in
the database 'XXXXX'. Error code:26. The master key has to exist and the service
master key encryption is required.
Cause.
This is usually caused by SqlDependency because the timer it creates, to clean
up the service/queue, needs a conversation (to use BEGIN CONVERSATION TIMER).
This conversation is started without specifying the ENCRYPTION = OFF clause, so
it will need a database master key to store the generated session keys. Although
this conversation never sends any message and session keys are not actually
needed, the message is periodically logged into the ERRORLOG.
Solution.
The solution is to create a database master key, which is a symmetric key used
to protect the private keys of certificates and asymmetric keys that are present
in the database.
CREATE
MASTER KEY
ENCRYPTION BY
PASSWORD =
'password'
For more information, please click
here.