- Error number
- 233
- Severity
- 20 (fatal: the connection ends; may indicate a serious problem)
- State
- 0
- Product
- Microsoft SQL Server Database Engine
- Versions
- Any SQL Server version reached through SQL Server client drivers over Shared Memory or Named Pipes
- Category
- Connectivity
- Last reviewed
- 23 October 2026
On this page
What it means
Client error 233 means the pipe to SQL Server (Shared Memory or Named Pipes) was opened, but the server end closed it during the pre-login or login phase, so the connection never completed.
This page covers the client error 233, the Windows error ERROR_PIPE_NOT_CONNECTED that the driver reports when the server side of a pipe has gone away. It is not the SQL Server engine message 233, which in sys.messages reads "The column ... in table ... cannot be null" and is unrelated. Local connections (., localhost, (local)) use Shared Memory, which is a kind of local pipe, so this error is common when connecting on the server itself.
Read the message in two halves: "a connection was successfully established" means the pipe opened, so the server name and service are fine; "an error occurred during the login process" with "no process is on the other end of the pipe" means SQL Server dropped it during the handshake. Microsoft documents that it can mean SQL Server is not listening on Shared Memory or Named Pipes. In our lab, ODBC Driver 18 reported it as SSL Provider: No process is on the other end of the pipe when the client demanded strict (TDS 8.0) encryption and the server had no certificate for it; the SQL Server error log recorded the real reason. Check the error log at the time of the failure before changing anything.
Common causes
- SQL Server is not listening on the Shared Memory or Named Pipes protocol the client used (documented by Microsoft).
- The client requires encryption the server cannot provide, for example
Encrypt=Strict(TDS 8.0) without a valid certificate configured on the instance (reproduced). - The server rejects the session during login for a reason it records only in its error log, so the client sees just the closed pipe.
Diagnose it
Read-only These queries only read metadata and dynamic management views. They do not change data, permissions or configuration, so they are safe to run first.
Read the error log around the time of the failure
Connect with a method that works (for example tcp: or another tool) and look for lines logged by Logon.
EXEC sp_readerrorlog 0, 1, N'connection has been closed';
EXEC sp_readerrorlog 0, 1, N'Logon'; A line such as A valid TLS certificate is not configured to accept strict (TDS 8.0 and above) connections or a login failure explains the closed pipe.
Which local protocols does the instance listen on?
EXEC sp_readerrorlog 0, 1, N'provider is ready to accept connection'; Look for the Shared Memory (\\.\pipe\SQLLocal\...) and Named Pipes (\\.\pipe\sql\query) lines. If the protocol your client uses is missing, it is disabled on the server.
Which certificate does the instance use for encryption?
EXEC sp_readerrorlog 0, 1, N'loaded for encryption'; A self-generated certificate was successfully loaded for encryption means no certificate is configured, so clients asking for strict encryption (or validating the certificate) will fail.
How to fix it
Each fix is labelled with what it changes. Try read-only checks and the least invasive fix first, and test changes outside production.
Match the client encryption setting to what the server supports
Client or network sideRequest mandatory encryption (Encrypt=Yes in ODBC, Encrypt=Mandatory in Microsoft.Data.SqlClient) instead of Strict until the server has a proper certificate. With sqlcmd, use -N m or drop -N s.
Configure a certificate for strict encryption on the server
Changes configurationTo use TDS 8.0 strict encryption, install a certificate issued for the server name and select it in SQL Server Configuration Manager (Protocols, Certificate tab), then restart the service.
Caution: Restarting the SQL Server service disconnects every session; schedule it.
Connect over TCP, or enable the protocol the client needs
Client or network sidePrefix the server with tcp: to bypass Shared Memory and Named Pipes. If a client must use them, enable the protocol in SQL Server Configuration Manager and restart the service.
sqlcmd -S tcp:SQLPROD01 -E
Examples
Strict encryption requested from an instance without a certificate
Reproduced with sqlcmd and ODBC Driver 18 on 2026-10-23, over Shared Memory (lpc:); Named Pipes (np:) gave the same output. The instance used a self-generated certificate, so it closed the pipe and logged the reason shown in the variants above.
sqlcmd -S lpc:. -E -C -N s -l 5
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : SSL Provider: No process is on the other end of the pipe. . Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : Client unable to establish connection.
How to prevent it
Decide the encryption mode per environment and configure server certificates before clients are switched to strict encryption. Keep client drivers and SQL Server Management Studio current, because new server versions tighten TLS defaults.
When a connection fails during login, read the SQL Server error log first: the client message is deliberately generic, and the server records the precise reason.
Common questions
Is this the same as SQL Server error 233 "The column cannot be null"?
No. The connection error is the Windows pipe error 233 reported by the client driver. The engine message 233 in sys.messages is a different, unrelated message about NULL values. Only the number is shared.
Why does error 233 happen when connecting on the server itself?
Local connections use Shared Memory, a local pipe. If the server ends the handshake (for example over encryption settings, or because the protocol is disabled), the client sees "no process is on the other end of the pipe".
How do I find the real reason?
Check the SQL Server error log at the time of the failure. The client only learns that the pipe closed; the server logs why, such as a missing certificate for strict encryption.
Learn more on CodeWithSQL
Official documentation
- Fix network-related or instance-specific errors in SQL Server (Microsoft Learn)
- TDS 8.0 and strict encryption (Microsoft Learn)
- Configure SQL Server Database Engine for encrypting connections
Last technically reviewed 23 October 2026; examples and diagnostics run on SQL Server 2025 (17.0.1145.4), ODBC Driver 18 for SQL Server. Message text checked against the engine's sys.messages catalogue.