master Endpoints
Overview
An endpoint is a door.
Every instance has the four or five the engine creates for itself, and most have nothing else. The ones that matter are the mirroring, availability group and Service Broker endpoints somebody created, because each of those accepts connections from other servers and each carries its own encryption setting that nobody has looked at since the day it was made.
An availability group endpoint still running RC4 is a real finding, and RC4 is what the older defaults left behind.

Where to find it
Expand a server in the tree, expand the master database, then Master → Endpoints.
The catalog half and the live half
| Half | What it says |
|---|---|
| Catalog | What exists. |
Live, from sys.dm_exec_connections |
Which of those doors anybody is actually coming through. |
That is what turns a listing into a picture: an endpoint in the catalog with no connections on it for weeks is a door nobody uses and everybody forgot to close.
Two joins that are left joins for a reason
Both are easy to get wrong, and both fail silently.
The default TSQL endpoints have no row in sys.tcp_endpoints at all
An inner join there silently drops the endpoints every instance has.
The permissions are class 105
In a view whose other rows are about logins and availability groups, so the class filter is not optional.
Reading the chart

One bar per endpoint, ranked by the sessions on it right now, with that count on the right.
That ranking is what turns a listing into a picture. An endpoint somebody created, sitting at zero week after week, is a door nobody uses and nobody has closed.
Reading the grid

| Column | What it is |
|---|---|
| Endpoint | The endpoint name. |
| Carries | TSQL, database mirroring, Service Broker, or SOAP. |
| State | Started, stopped or disabled. |
| Port | The TCP port, where there is one. |
| Encryption | The algorithm and whether it is required. RC4 is called out. |
| Owner | The principal that owns it. |
| Connected now | How many sessions are on it at this moment. Zero on a created endpoint is the finding. |
| Who may connect | The principals with CONNECT on it, from the class 105 permissions. |
The toolbar
| Control | What it does |
|---|---|
| Server permissions | Opens master Server Permissions. |
| Server triggers | Opens master Server Triggers, since a logon trigger sits on the same path. |
| Connections now | Opens the Connections report. |
Where the data comes from
| Source | What it gives |
|---|---|
sys.endpoints |
The endpoints, their type, state and payload. |
sys.tcp_endpoints |
The port and listener address. Left joined, because the default TSQL endpoints have no row here. |
sys.database_mirroring_endpoints |
The encryption algorithm and authentication for the mirroring and availability group endpoints. |
sys.service_broker_endpoints |
The same for Service Broker. |
sys.server_permissions at class 105 |
Who may connect. |
sys.dm_exec_connections |
Who is connected right now. |
Related reports
| Report | Why you would go there |
|---|---|
| master Server Permissions | The grants behind Who may connect. |
| master Server Triggers | A logon trigger fires on every one of these connections. |
| Connections | The live sessions in full. |
| Security Posture | Where a weak endpoint encryption belongs in the wider picture. |
| master Service Facts | The port the instance is really listening on. |
Frequently asked questions
An availability group endpoint shows RC4. That is the old default. It is worth changing to AES, and it is a change both replicas have to agree on, so it belongs in a window rather than in an afternoon.
An endpoint has zero connections. Either the feature behind it is not in use, or its partner has moved. Both are worth knowing about, and neither is visible from anywhere else in the product.
Why do I see endpoints I never created? The engine creates four or five for itself: the TSQL default TCP, named pipes, shared memory and via. Those are normal and are listed so the created ones stand out against them.
The permissions column is empty on the default endpoints. CONNECT on those is granted to public by default, so there are no explicit rows to show.