Diagnosing a Frozen Server With the Dedicated Admin Connection

A server can stop accepting ordinary connections while its service still runs. The dedicated admin connection gives a sysadmin a narrow diagnostic path into that stalled instance.

A grain silo with its main doors blocked by spilled grain and a small side hatch open with a lantern inside.

Prepare Before the Incident

The dedicated admin connection, or DAC, is for troubleshooting when normal connections fail. Only sysadmin members can use it. By default, the listener accepts local access. Remote use requires the remote admin connections option. Decide whether remote access fits your network policy and test the route during calm maintenance. A feature you have never connected to is not an emergency plan.

I record the instance name, access method, and privileged identity in the runbook. Do not wait until a server freezes to discover that the jump host cannot reach the listener. Keep firewall rules narrow. The DAC is powerful and limited, so treat it like a service tool rather than a spare application endpoint.

Check Remote Dedicated Admin Connection Configuration

sys.configurations shows whether remote admin connections is enabled. A value of zero permits the default local route only. A value of one permits remote DAC connections, subject to network access and authentication. Check effective value as well as configured value. Do not enable remote access simply because it sounds convenient.

I ask the infrastructure team which administrative machine would use the path and how it is protected. If the team has physical or console access, local DAC can be enough. If the server is remote and operations depend on a jump host, plan the route explicitly.

SELECT name, value, value_in_use
FROM sys.configurations
WHERE name = N'remote admin connections';

Enable Remote Access Deliberately

sp_configure can enable remote DAC use when policy approves it. RECONFIGURE applies the option. Test from the approved administration network and verify that ordinary application networks cannot reach it. The command changes a server option, so record the previous value and rollback procedure.

I do this during a planned window, not while the incident call is already loud. Enabling the option during a freeze can be impossible if no ordinary admin connection remains. The preparation is the whole point.

EXEC sys.sp_configure N'remote admin connections', 1;
RECONFIGURE;

Open the Dedicated Admin Connection Without Object Explorer

SSMS can use admin: before the server or named-instance name in a new Database Engine query connection. Disconnect Object Explorer and existing windows to avoid consuming the limited path. sqlcmd also supports the DAC with its administrator switch. A named instance keeps its backslash in the address. Use the exact instance identity from the runbook.

I prefer a small query window. Object Explorer can issue many metadata queries and is a poor fit for a stressed server. Confirm the connection is the intended instance before inspecting anything else. A successful DAC login does not mean the server is healthy. It means one narrow route remains available for diagnosis.

The crowded door and the reserved one: a diagram about the dedicated admin connection

Start With Tiny Queries

Use low-cost checks first: server identity, active requests, blocking IDs, memory pressure indicators, and recent error log messages. Avoid large joins, plan XML collection, or a broad scan of every DMV. The instance is already struggling. Your diagnostic query should not become the next demand it cannot serve.

The query below lists current requests without SQL text or plans. It helps identify long-running requests and blockers. I capture a few rows and sample again rather than launching a giant all-in-one health script.

SELECT TOP (50)
       session_id,
       status,
       command,
       blocking_session_id,
       wait_type,
       total_elapsed_time
FROM sys.dm_exec_requests
ORDER BY total_elapsed_time DESC;

Look for a Head Blocker

A chain of sessions can make the server appear frozen while the engine is waiting on one transaction. Follow blocking_session_id to the head. The head can be sleeping with an open transaction, so inspect sys.dm_exec_sessions if it is absent from active requests. Record the affected application and transaction before deciding on termination.

I do not use the dedicated admin connection as permission to kill the first session with a large elapsed time. Rollback can hold resources for a long period. Consult the incident owner and application team when possible. A safe response can be waiting for a known operation or stopping incoming load. The diagnosis must come before the dramatic command.

Check Worker and Memory Pressure

A severe worker shortage or memory pressure can make ordinary connections time out. The dedicated admin connection reserves a path for lightweight access, but it is not guaranteed under every failure. Check current requests, waits, and error log clues. Compare them with infrastructure telemetry. A server that cannot accept ordinary connections can also suffer from network or authentication trouble outside the engine.

I ask whether the local DAC works when remote access fails. That separates an engine problem from a network route problem. Do not restart the service solely because one connection path failed. A restart removes volatile evidence and can lengthen recovery if databases need work on startup. Use the available path to understand the state first.

Keep One Session and an Exit Plan

The DAC is intentionally limited. Do not open several query windows or leave a session idle while others need it. Save concise observations through the approved incident channel. When normal connections recover, close the DAC session and continue analysis through standard access. Review how the team entered and whether the runbook needs updating.

I keep the emergency query set short and tested. An elaborate script with ten result sets is not a gift to a distressed server. It is a second incident. The goal is enough evidence to choose the next safe action, not a complete audit while the application is down.

Practice the Dedicated Admin Connection Route

Test local and approved remote DAC access during maintenance. Confirm the login, syntax, firewall, and query permissions. Note any special port behavior for named instances in the runbook. Monitor who uses this path and why. An emergency route should be available, but unusual use should be visible.

What would you run first if the ordinary connection queue stopped moving? Write that query down now. A practiced DAC session gives you a small window into a hard problem. Preparation makes that window useful when the clock matters.

Related reading on this blog: Adjust Memory with Dedicated Administrator Connection (DAC) and An Error Occurred While Obtaining the Dedicated Administrator Connection (DAC) Port.

Using the DAC, before and during: a checklist on the dedicated admin connection

The DAC is not a second front door, it is a reserved diagnostic path for a server in trouble.

Published by Pinal Dave on SQLAuthority. More of my work at pinaldave.com.


Discover more from SQL Authority with Pinal Dave

Subscribe to get the latest posts sent to your email.

DBA, SQL Connection, SQL Server Configuration, sqlcmd
Previous Post
XML sql:column: Compare XML With a Relational Value
Next Post
ROWS vs RANGE in Window Frames: Why Running Totals Differ

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.