在SQL SERVER 2005中,微软引入了一个叫做数据库专用管理员连接方式(DAC Dedicated Administrator Connection)的特性,使用这个新特性,数据库管理员可以在数据库引擎不能响应正常连接时,可以通过DAC连接到数据库,执行诊断函数或T-SQL语句,对数据库服务器进行问题诊断和故障排除(即使数据库实例以锁定或非正常状态下运行)。其实DAC还有一个非常有用的用途,用来研究数据库内部的表、目录视图等。

以前我也写过关于DAC的一篇文章SQL Server数据库专用管理员DAC连接方式,当时的实验环境是SQL Server 2005,现在来看,感觉有些侧重点和问题都忽略了。

 

启用远程DAC连接

默认情况下,在SQL SERVER 中远程专用管理员连接特性是禁用的。如果要启用其远程专用管理员连接特性,可以通过T-SQL或Microsoft  SQL Server Management Studio工具两种方式来实现。

T-SQL方式:

Code Snippet
  1. USE master;
  2.  
  3. GO
  4.  
  5. SP_CONFIGURE'remote admin connections';
  6. SP_CONFIGURE 'remote admin connections', 1; --0 表示仅允许本地连接使用 DAC,1表示允许远程连接使用 DAC
  7. GO
  8. RECONFIGURE WITH OVERRIDE;
  9. GO

管理工具:

SQL Server 2005

MS SQL专用管理员连接DAC

SQL Server 2008

用SQL Server 2008 管理工具启用专用管理员连接特性,右键单击SQL Server实例,然后从下拉的选项中选择方面(Facets)选项,进入查看方面窗口。

MS SQL专用管理员连接DAC

 

数据库专用管理员连接方式

DAC 连接到数据库服务器可以通过SQL Server Management Studio,也可以通过sqlcmd方式连接服务器,我们先看看sqlcmd方式:

sqlcmd方式:

SQLCMD –S [SQL Server Name] –U [User Name] –P [Password] –A

sqlcmd的语法提示如下,你可以用sqlcmd /?来查看

MS SQL专用管理员连接DAC

例如,我本机环境,机器名Kerry-PC,sa账号密码为123456,现在我要从本地用DAC连接到数据库

MS SQL专用管理员连接DAC

其实参数和参数值之间可以不用空格,服务器可用localhost或IP替换。

MS SQL专用管理员连接DAC

 

错误情况1:错误截图如下

MS SQL专用管理员连接DAC

C:\Users\Kerry>sqlcmd -S Kerry-Pc -U sa -P 123456 -A

HResult 0x1A,级别 16,状态 1

因为在登录之前握手期间出现错误,所以客户端无法建立连接。最常见原因包括客户端试图

连接到不受支持的 SQL Server 版本、服务器太忙无法接受新连接或服务器上的资源受到限

制(内存或允许的最大连接数)。

Sqlcmd: 错误: Microsoft SQL Server Native Client 10.0 : 客户端无法建立连接。

HResult 0x40,级别 16,状态 1

TCP 提供程序: 指定的网络名不再可用。

Sqlcmd: 错误: Microsoft SQL Server Native Client 10.0 : 由于预登录失败,客户端无

法建立连接。
View Code

相关文章:

  • 2021-09-28
  • 2021-10-29
  • 2022-12-23
  • 2022-01-30
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-26
  • 2021-10-23
  • 2022-02-20
  • 2022-12-23
相关资源
相似解决方案