Habilitando e utilizando a conexão remota dedicada para administrador (DAC) no SQL Server

Olá pessoal,
Bom dia!

Neste post vou demonstrar como ativar/desativar o recurso de DAC (Dedicated Administrator Connection) remoto da instância SQL Server, verificar se o recurso está ativo e como utilizá-lo.

Introdução – O que é o DAC ?

Imagine na seguinte situação: Todos os workers threads da instância estão em uso e não é permitida mais a conexão com o banco, como você faria para analisar o que está acontecendo e tomar ações para resolver esse problema, uma vez que você não consegue nem se conectar?

SQL Server - Erro de conexão

Pensando nisso, a Microsoft criou o DAC, um recurso muito útil para o DBA pois ele permite a conexão à instância utilizando um recurso exclusivo e dedicado para Administradores de Bancos de Dados.

O seu funcionamento é bem simples: Uma vez ativado, a instância cria a conexão DAC no startup e deixa ela em standby, aguardando a conexão do DBA. Mesmo que a instância esteja sobrecarregada e sem workers disponíveis, essa conexão já está conectada ao banco de dados e poderá ser utilizada pelo DBA.

Vale lembrar que esse recurso só pode ser utilizado por usuários com permissão sysadmin e apenas um usuário pode utilizar essa conexão por vez.

Como saber se o DAC remoto está ativo?

Para identificar se esse recurso está habilitado na instância, basta utilizar a sp sp_configure:

SQL Server - sp_configure remote admin connections

Visualizando a conexão DAC pela DMV sys.endpoints
SQL Server - DAC DMV Endpoints

Como ativar o DAC?

Vou demonstrar duas formas: Utilizando T-SQL e pelo SQL Server Management Studio.

Utilizando Transact-SQL

Utilizando o SQL Server Management Studio
Clique com o botão direito sobre a sua instância e selecione a opção “Facets”, conforme imagem abaixo:

SQL Server - Ativar DAC 1

Isso irá abrir a tela de “View Facets”. Na combo Facets, selecione “Surface Area Configuration” e defina o valor TRUE para o parâmetro “RemoteDacEnabled”.
SQL Server - Ativar DAC 2

Conectando na instância utilizando o DAC

Utilizando o SQLCMD
Para se conectar à instância pelo SQLCMD utilizando o DAC, basta utilizar o parâmetro -A, conforme exemplo abaixo:
SQL Server - DAC SQLCMD

Quer saber mais sobre o SQLCMD, o utilitário de linha de comando do SQL Server? Acesse este link.

Utilizando o SQL Server Management Studio
Para se conectar à instância pelo SQL Server Management Studio utilizando o DAC, basta utilizar o prefixo ADMIN: antes do nome da instância no momento da conexão, conforme exemplo abaixo:
SQL Server - DAC Management Studio

SQL Server - DAC Management Studio 2

Para identificar quem está utilizando a conexão DAC na instância:

SQL Server - DAC Remote Connections Who Is Using 2

Importante: Como é permitida apenas uma conexão DAC por vez, não é possível utilizá-la no Object Explorer, apenas na tela de New Query.

Obrigado pela visita e até a próxima!

sql, sql server, dac, Dedicated Administrator Connection, Remote Admin Connections, não consigo conectar, conexão de dba, erro de conexão, timeout no login, timeout conexão

sql, sql server, dac, Dedicated Administrator Connection, Remote Admin Connections, não consigo conectar, conexão de dba, erro de conexão, timeout no login, timeout conexão

SQL, sql server, sql server 2008, sql server 2008 R2, Oracle, Oracle Database, Oracle 11g, Oracle 10g, Oracle 12c, MySQL, Firebird, Consultoria, Consultor, Programador, Programação. Desenvolvedor, Analista de Sistemas, DBA, Criação de website, Criação de Sistema Web, Vitória, Vila Velha, Guarapari, Espírito Santo, ES, Consultoria SQL em VItória, Treinamento, Curso, Prestação de serviço, prestar serviço, freelancer, freela, banco de dados, consultoria em banco de dados, consultor de banco de dados

Deixe uma resposta