参考:http://technet.microsoft.com/zh-cn/library/ms178068(v=SQL.105).aspx
问题:
一个在我们公司实习的DBA向我询问如何开启SQL Server 2008的DAC。起初我想直接告诉他,但更明智的选择是将文档选项共享。本文将向你讲述如何在SQL Server 2008中打开DAC。
解决方案:
微软在SQL Server 2005中添加了DAC新特性。数据库管理员可以在数据库无法响应正常连接时使用该特性连接数据库。连接以后,DBA可以排错和结束任何一个有问题的进程。
DAC允许DBA连接到数据库实例后执行SQL命令来调试和确定错误,相比之下,重启服务器可能会使服务器崩溃或带来更多的问题。SQL Server 2005及以后的版本中,DAC是默认不开启的。在每一个安装好的SQL Server 2005或SQL Server 2008的实例中开启DAC是一个很好的习惯。这样可以在你使用普通连接不被响应时帮助你调试问题。然而,SQL Server 2005及以后版本同时只允许存在一个DAC连接。
在SQL Server 2008中使用TSQL启用DAC
执行下面的SQL可以启用远程使用DAC:
Use master GO /* 0 = Allow Local Connection, 1 = Allow Remote Connections*/ sp_configure ‘remote admin connections‘, 1 GO RECONFIGURE GO
在SQL Server 2008中使用SQL Server 2008 Management Studio启用DAC
DBA也可以使用SSMS来启用DAC特性。右击数据库实例在下拉菜单中选择“方面”选项。
会开启“查看方面”的面板,在方面选项栏选择“外围应用配置”。将选择界面的“RemoteDacEnabled”修改为True。
最后点击“确定”使修改生效。
Microsoft SQL Server 提供了专用管理员连接 (DAC)。即使服务器对其他客户端连接停止响应,管理员也可以使用 DAC 访问正在运行的 SQL Server 数据库引擎 实例来排除服务器上的故障。sqlcmd 实用工具和 SQL Server Management Studio 中都包含 DAC。只能够从服务器上运行的客户端建立连接,不允许建立网络连接。
若要将 SQL Server Management Studio 与 DAC 配合使用,则需要通过在服务器名称前键入 ADMIN: 将查询编辑器与 SQL Server 数据库引擎实例连接起来。对象资源管理器不能使用 DAC 进行连接。
使用 DAC 与服务器连接
-
在 SQL Server Management Studio 中,不打开其他 DAC,单击工具栏上的“数据库引擎查询”。
-
在“连接到数据库引擎”对话框中的“服务器名称”框中,键入 ADMIN: 及服务器实例的名称。例如,若要连接到名为 ACCT\PAYABLE 的服务器实例,请键入ADMIN:ACCT\PAYABLE。
-
完成“身份验证”部分(提供 sysadmin 组成员的凭据),然后单击“连接”。
将建立连接。
如果已在使用 DAC,则连接将失败,并出现错误指示无法连接。