9.6 专用管理员连接

9.6  专用管理员连接


9.6.1 专用管理员连接的概念

  在 SQL Server 不再响应标准的连接请求时,管理员需要执行诊断查询并解决问题,但是此时已经无法通过普通的连接请求访问 SQL Server。

  SQL Server 提供了专用管理员连接(Dedicated Administrator Connection,简称 DAC)。即使服务器对其他客户端连接停止响应,管理员也可以使用 DAC 访问正在运行的 SQL Server 数据库引擎实例来排除服务器上的故障。SQL Server 尽力使 DAC 连接成功,但在非常特殊的情况下也可能会出现连接失败。

  为了保证有可用的连接资源,每个 SQL Server 实例只允许使用一个 DAC。如果 DAC 连接已经激活,则另一个尝试通过 DAC 进行的连接将被拒绝,并出现错误 17810。


提示:

  为了保留资源,SQL Server Express 不侦听 DAC 端口,除非使用跟踪标志 7806 进行启动。

 


9.6.2 打开 DAC

  启动 SSMS,跳过默认的“连接到数据库引擎”(不要通过此窗口连接到数据库引擎,否则会报错“不支持通过SSMS的专用管理员连接,因为它按设计建立了多个连接”)。

  有以下2种方式打开 DAC。

◆ 新建查询

  在工具栏单击“新建查询”按钮。在“连接到服务器”对话窗口的“服务器名称”框中,输入“ADMIN:<实例的名称>”。

wKioL1U_WTzjO7JKAAHknLp1WdY153.jpg


◆ 新建数据库引擎查询

  在主菜单的“文件”菜单中,依次单击“新建”、“数据库引擎查询”。

wKiom1U_VSuQh2qLAAJBTUOSuhE471.jpg


  在“连接到数据库引擎”对话框中的“服务器名称”框中,输入“ADMIN:<实例的名称>”。

wKiom1U_WDmwzFZJAAIQ5kbIxNg372.jpg


最佳实践:

  DAC 最初尝试连接到与登录帐户关联的默认数据库。 成功连接后,您可以连接到 master 数据库。 如果默认数据库脱机或不可用,则连接返回错误 4060。由于只要启动数据库引擎的实例就能保证 master 数据库处于可用状态,因此建议使用 DAC 连接到 master 数据库。



9.6.3 DAC的端口

  SQL Server 在 TCP1434 端口上侦听 DAC,或者在启动数据库引擎时动态分配的 TCP 端口上侦听 DAC。错误日志包含所侦听的 DAC 所在的端口号。例如:

2015-01-23 19:25:27.86 Server      Server is listening on [ ::1 <ipv6> 1434].

2015-01-23 19:25:27.86 Server      Server is listening on [ 127.0.0.1 <ipv4> 1434].

2015-01-23 19:25:27.86 Server      Dedicated admin connection support was established for listening locally on port 1434.


  当连接到默认实例时,DAC 会避免在连接时访问 SQL Server Browser 服务,而是直接先通过 TCP 1434 端口进行连接。如果失败,则尝试访问 SQL Server Browser 服务来获取端口。如果 SQL Server Browser 服务没有启动,则连接请求将返回错误。

  默认情况下,DAC 侦听器只接受本地端口上的连接。可以执行 sp_configure 修改 remote admin connection 选项,使 DAC 侦听器能够接受访问远程连接。

sp_configure 'remote admin connections', 1;

GO

RECONFIGURE;

GO


本文出自 “SQL Server 管理员指南” 博客,谢绝转载!

你可能感兴趣的:(专用管理员)