I've been getting reports from several users that our ERP system is much slower than usual. When I checked the server, I found a lot of errors logged in the Event Viewer. I'm having a tough time figuring out how to resolve these errors. Has anyone faced similar issues or have any suggestions? Here's a specific error I'm seeing:
Log Name: Application
Source: MSSQLSERVER
Date: 03/31/2026 9:46:45 AM
Event ID: 28005
Level: Error
Description: An exception occurred while enqueueing a message in the target queue. Error: 15517, State: 1. Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission.
5 Answers
Before you dig deeper, have you possibly disabled any accounts recently or changed passwords? Sometimes these changes can lead to unexpected permission issues that can slow things down drastically.
Suggestion: have you thought about moving your ERP solution to a cloud-based provider? They handle a lot of the backend stuff, including permissions and infrastructure management, which can mitigate these types of problems.
Definitely verify the DB owner first:
SELECT name, SUSER_SNAME(owner_sid) FROM sys.databases;
Reset it if necessary with:
ALTER AUTHORIZATION ON DATABASE::YourDBName TO sa;
And don’t forget to check for any SQL Agent jobs or Service Broker queues that might be failing silently. If the owner fix doesn’t help, there are usually deeper issues at play.
You're not dealing with a random performance issue here. The error message you're seeing suggests that your SQL instance is having permission problems due to a missing 'dbo' principal. It’s likely that something in your setup is trying to run as 'dbo', but SQL no longer knows who that is. You should first check the DB owner. Run this command:
SELECT name, SUSER_SNAME(owner_sid) AS owner FROM sys.databases;
If it returns 'NULL' or shows an old, non-existing account, that’s your issue. Fix it by resetting the database owner to an existing account with:
ALTER AUTHORIZATION ON DATABASE::YourDBName TO sa;
This should clear up the permissions issue and hopefully improve performance.
It sounds like your database owner might be set to an invalid account. Try setting the DB owner to 'sa' or another valid SQL admin account. If it's linked to an account that doesn't exist or has been disabled, it'll create several issues. This is known to cause delays in operations.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures