Every entry here is a message somebody pasted into a search box while something was broken. This page exists to get you from that message to the cause quickly, which is a different job from explaining what SQL Server errors are in general.
Three Steps From Message to Cause
Get the real message
The client softens it; the server error log names the real cause, and most posts here start by reading it.
Check the severity
Severity tells you whether a statement failed or the server is in trouble. Below 17 it is a morning job. From 17 up it is tonight’s.
Find the error below
Paste the message or type the number. Every entry says what it actually means, and links to the full write-up where one exists.
EXEC xp_readerrorlog 0, 1, NULL, NULL, NULL, NULL, N'desc';Understanding Severity
Severity is the fastest triage you have, because it separates “a query failed” from “the server is in trouble” before you have understood anything else. SQL Server Error Severities Explained covers every level, how to read one in SSMS, what TRY...CATCH will and will not catch, and where errors are stored.
Find an Error
54 errors, 50 with a full write-up. The rest carry enough to tell you what you are looking at. Paste the message, or type the number.
Common Questions
Where does SQL Server keep the real error?
EXEC xp_readerrorlog 0, 1, N'search term'; or open ERRORLOG in the instance’s Log folder if you cannot connect at all.Which errors should actually wake someone up?
Why did my application see a different error?
The error is not listed here.
sys.messages holds every message text and severity the instance knows about, and the severity alone tells you whether you are dealing with a statement problem or a server problem. Error Severities Explained, first in Related Scripts below, is the page that turns that number into a decision.Every error on this page is also reachable by an AI assistant through the sqldba MCP server. Its lookup_error tool takes a number or a phrase from the message and returns the same verified entry, with the link back to the write-up attached.
Related Scripts
- Login Failed or Permission Denied, the router for login, database access and permission denied messages
- Locked Out of SQL Server: Regain Sysadmin When Nobody Has It, errors 18461 and 15151, and the single-user-mode recovery they lead to
- Restore From a Newer SQL Server Version (Error 3169), errors 3169, 3013 and 948, and why two read-only RESTORE commands still succeed against a backup that cannot be restored
- Login Failed: Server Is in Script Upgrade Mode (Error 18401), and How Long to Wait Before You Worry, the full decode for 18401 and how long to wait before treating it as stuck
- SQL Server Agent Will Not Start, or “Agent XPs Component Is Turned Off” (Error 15281), 15281 is not in the error series index yet
- Database Marked SUSPECT (Error 926), the series index, 926 is not in it yet
- The Server Network Address Cannot Be Reached or Does Not Exist (Error 1418), the series index, 1418 is not in it yet
- SQL Server Service Will Not Start: Error 17113, 17058, 1067 and Where the Real Reason Is, 17113, 17058 and 1067 are not in the error series index yet
- SQL Server Cannot Obtain a LOCK Resource at This Time (Error 1204), 1204 is not in the error series index yet
- Kerberos vs NTLM, the authentication mechanics behind the connection and login family
- SQL Server Error Severities Explained, the triage layer behind this whole series
- Backup Failed or the Restore Is Stuck, the router for the backup and restore error numbers
- Cannot Bulk Load, Access Is Denied (Error 4861), the library entry for 4861 and its 4860 and 4834 siblings. NOTE: the build log asked for the 48xx range, but the live hub carries 0 tables and 0 48xx cells, so this insert lands in the hub’s linked list instead
- Execution Timeout Expired (Msg -2), the series entry for the negative message number that is not a SQL Server error at all
- Get Error Log Patterns, find repeating errors before somebody reports them
- Get Permissions and Role Membership, for the large share of errors that are permissions
- SQL Agent Job Failed: Finding the Step That Actually Broke, the router for a SQL Agent job failure, which never puts the cause on the job row
- The Script Finder, every documented script searchable by symptom
Leave a Reply