Hola, chicos,
¡Buen día!

En esta publicación, demostraré cómo activar/desactivar la función DAC (Conexión de administrador dedicada) remota de la instancia de SQL Server, verificaré si la función está activa y cómo usarla.

Introducción – ¿Qué es DAC?

Imagine la siguiente situación: todos los subprocesos de trabajo de la instancia están en uso y ya no se permite la conexión a la base de datos. ¿Cómo analizarías lo que está pasando y tomarías acciones para resolver este problema, ya que ni siquiera puedes conectarte?

SQL Server - Erro de conexão
Servidor SQL: error de conexión

Con esto en mente, Microsoft creó el DAC, un recurso muy útil para el DBA ya que permite la conexión a la instancia utilizando un recurso exclusivo y dedicado para Administradores de Bases de Datos.

Su funcionamiento es muy sencillo: una vez activada, la instancia crea la conexión DAC al inicio y la deja en espera a que se conecte el DBA. Incluso si la instancia está sobrecargada y no tiene trabajadores disponibles, esta conexión ya está conectada a la base de datos y puede ser utilizada por el DBA.

Vale la pena recordar que esta función solo puede ser utilizada por usuarios con permiso de administrador de sistemas y solo un usuario puede usar esta conexión a la vez.

¿Cómo sé si el DAC remoto está activo?

Para identificar si esta característica está habilitada en la instancia, simplemente use sp sp_configure:

EXEC sp_configure 'remote admin connections'

SQL Server - sp_configure remote admin connections
SQL Server: sp_configure conexiones de administrador remoto

Visualización de la conexión DAC a través de DMV sys.endpoints

SQL Server - DAC DMV Endpoints
SQL Server: puntos finales DAC DMV

¿Cómo activar el DAC?

Demostraré dos formas: usando T-SQL y SQL Server Management Studio.

Usando Transact-SQL

Use master
GO
/* 0 = Apenas DAC local; 1 = DAC remoto */
sp_configure 'remote admin connections', 1 
GO
RECONFIGURE
GO

Usando SQL Server Management Studio

Haga clic derecho en su instancia y seleccione la opción "Facetas", como se muestra en la imagen a continuación:

SQL Server - Ativar DAC 1
Servidor SQL: habilitar DAC 1

Esto abrirá la pantalla "Ver facetas". En el combo Facetas, seleccione "Configuración del área de superficie" y establezca el valor VERDADERO para el parámetro "RemoteDacEnabled".

SQL Server - Ativar DAC 2
Servidor SQL: habilitar DAC 2

SQL Server Express y la conexión DAC

De forma predeterminada, SQL Server Express no tiene la función de conexión DAC. Sin embargo, esto se puede habilitar mediante un indicador de seguimiento. Esta es la tercera forma de activar la conexión DAC, que utiliza el indicador de seguimiento 7806 en los parámetros de inicialización de SQL Server Express. Esta tercera opción es especialmente útil para escenarios en los que tiene un problema que impide que el usuario inicie sesión (Ej: Logon Trigger), la conexión DAC no está activada y no puede iniciar sesión en la instancia.

Para activarlo, simplemente abra el Administrador de configuración de SQL Server y vea las propiedades de la instancia que desea habilitar DAC:

En la pantalla de configuración de la instancia, vaya a la pestaña "Parámetros de inicio" y agregue el parámetro "-T7806":

Después de realizar los cambios, deberá reiniciar el servicio SQL Server Express para que los cambios surtan efecto. Después de eso, verá que ahora es posible conectarse a la instancia mediante la conexión DAC.

Conexión a la instancia mediante el DAC

Usando SQLCMD
Para conectarse a la instancia a través de SQLCMD usando DAC, simplemente use el parámetro -A, como se muestra en el siguiente ejemplo:

SQL Server - DAC SQLCMD
Servidor SQL - DAC SQLCMD

¿Quiere obtener más información sobre SQLCMD, la utilidad de línea de comandos de SQL Server? Accede a este enlace.

Usando SQL Server Management Studio
Para conectarse a la instancia a través de SQL Server Management Studio usando DAC, simplemente use el prefijo ADMIN: antes del nombre de la instancia al conectarse, como se muestra en el siguiente ejemplo:

SQL Server - DAC Management Studio
Servidor SQL - Estudio de gestión DAC

SQL Server - DAC Management Studio 2
Servidor SQL - DAC Management Studio 2

Para identificar quién está utilizando la conexión DAC en la instancia:

SELECT
    B.session_id,
    A.name,
    B.connect_time,
    B.last_read,
    B.last_write,
    B.client_net_address
FROM
    sys.endpoints A
    INNER JOIN sys.dm_exec_connections B ON A.endpoint_id = B.endpoint_id
WHERE
    A.is_admin_endpoint = 1

SQL Server - DAC Remote Connections Who Is Using 2
SQL Server: conexiones remotas DAC quién está usando 2

Importante: Como solo se permite una conexión DAC a la vez, no es posible usarla en el Explorador de objetos, solo en la pantalla Nueva consulta.

Si tiene dificultades para utilizar la conexión DAC en un entorno donde el servicio del navegador SQL está deshabilitado, lea este artículo: SQL Server: cómo conectarse mediante la conexión DAC (conexión de administrador dedicada) sin el navegador SQL.

¡Gracias por visitarnos y hasta la próxima!

sql, servidor sql, dac, conexión de administrador dedicado, conexiones de administrador remoto, no se puede conectar, conexión dba, error de conexión, tiempo de espera de inicio de sesión, tiempo de espera de conexión

sql, servidor sql, dac, conexión de administrador dedicado, conexiones de administrador remoto, no se puede conectar, conexión dba, error de conexión, tiempo de espera de inicio de sesión, tiempo de espera de conexión