小编Rel*_*SQL的帖子

从 Powershell 连接到 DAC 时,错误日志中出现“最大数量‘1’专用管理员连接已存在”消息

我正在通过 PowerShell 的专用管理员连接 (DAC) 连接到 SQL Server(2016 和 2017 最新版本)。

SQL Server 错误日志中记录以下错误消息:

日期 2019 年 4 月 2 日下午 1:59:13 记录 SQL Server(当前 - 2019 年 4 月 2 日下午 1:59:00)

源登录

消息
无法连接,因为已存在最大数量“1”的专用管理员连接。在建立新连接之前,必须通过注销或结束进程来删除现有的专用管理员连接。[客户端:127.0.0.1]

查询成功运行。已经尝试了许多连接字符串管理迭代;这是迄今为止最强大的。

Stack Exchange 上有一个解决方案,该解决方案涉及在关闭连接之前终止 spid,但这也会向 SQL Server 错误日志中抛出一条令人讨厌的消息,因此没有什么乐趣。

检查sys.dm_exec_sessions没有发现任何有趣的事情;使用此技术,没有连接保持打开状态。下面的 PowerShell 有一个虚拟查询,我无法谈论为什么我们要以这种方式连接,因为它是专有的,但它是 100% 必要的,它是一个非常快速的连接,我需要每 10 次执行一次分钟。

这个错误只是噪音。DAC 查询按预期运行和工作。

即使在静止的系统上重新启动,每次都会记录该错误。没有其他 DAC 连接正在使用 - 如果有,Powershell 会在命令提示符处抛出明显的错误消息。

有趣的是,当使用 时sqlcmd,SQL Server 错误日志中不会记录任何错误消息。

#begin powershell script
$SqlServerName = "server\instance"

$DbQuery = "
INSERT INTO  master.dbo.sometable(value1,value2) …
Run Code Online (Sandbox Code Playgroud)

sql-server powershell sql-server-2016 sql-server-2017 dac

5
推荐指数
1
解决办法
2592
查看次数