最近,现在不止一次,我们尝试使用 SSMS 从我们的一个 SQL Server 实例连接到另一个实例,但遇到以下错误:
当前命令发生严重错误。结果,如果有的话,应该丢弃。
当我们尝试在本地使用 SSMS 进行连接时,会出现以下错误:
与服务器成功建立连接,但在登录过程中出现错误。(提供者:共享内存提供者,错误:0 - 管道的另一端没有进程。)(Microsoft SQL Server,错误:233)
通过专用管理连接 (DAC) 的连接会导致相同的错误。SQLCMD 显示以下错误:
SQL Server 配置管理器报告 SQL Server 服务和 SQL Server 代理服务都在运行。
SQL Server 错误日志在事件查看器中的条目开始被记录的同时停止,报告 SQL Server 代理作业的连接问题。
SQL Server 计划作业“sp_WhoIsActive”(0x868EBDEC06F71344AC717E0C6A333D13)-状态:失败-调用时间:2018-09-18 10:38:00-消息:作业失败。无法确定作业 sp_WhoIsActive 的所有者 (sa) 是否具有服务器访问权限(原因:无法连接到服务器 - 检查 SQL Server 和 SQL Server 代理错误日志)。
我们所有的 SQL Server 服务都已配置为在组托管服务帐户 (gMSA) 下运行。
到目前为止,唯一的解决方案是重新启动服务器,但显然这不是一个令人满意的解决方案,特别是因为这个问题现在已经发生了不止一次。
我们唯一需要做的是,在连接问题发生之前,SQL Server 错误日志中会多次出现以下错误消息。
2018-09-17 13:31:19.20 用户“[域][SQL 代理的 gMSA 帐户]$”登录失败。原因:无法打开明确指定的数据库“[database_name]”。[客户端:[本地机器]] 2018-09-17 13:32:03.63 登录错误:18456,严重性:14,状态:38。
这些登录问题是否可能超出最大连接数?如果是这样,为什么仍然无法通过 DAC 连接?
有人可以建议吗?
更多详细信息:
- Microsoft SQL Server 2016 (SP1-CU8) (KB4077064) - 13.0.4474.0 (X64) 2018 年 2 月 24 日 13:53:17 版权所有 (c) Windows Server 2016 Standard 10.0 (Build 14393) 上的 Microsoft Corporation Web Edition(64 位): )(管理程序)
- SQL Server Management Studio v17.8.1
- 最大用户连接数设置为无限制 (0)。
- 共享内存、TCP/IP 和命名管道都已启用。
在对 SQL Server 服务应用任何更改时,建议通过SQL Server xxxx 配置管理器执行此操作,以确保正确设置任何相关权限(文件/目录/数据库/实例)和策略。
修复服务帐户(权限和所有)
我们将重置文件、目录和注册表设置的所有权限,包括。按照这些快速步骤,根据服务帐户的要求可能存在的任何策略。
将服务帐户更改为本地帐户
打开SQL Server 2016 配置管理器并导航到SQL Server 服务分支。
在配置管理器的右窗格中,右键单击SQL Server服务并选择属性。
在SQL Server 的属性 (InstanceName)窗口中,检查您是否位于登录选项卡中。
将选择器更改为内置帐户并选择以下三个选项之一:
按Apply,当弹出对话框通知您“...您所做的任何更改在重新启动之前不会生效”,单击OK。
停止SQL Server 服务 (InstanceName)
启动SQL Server 服务 (IntanceName)
仔细检查 SQL Server错误日志是否有任何问题。
对SQL Server 代理 (InstanceName)服务重复步骤 2 到 8 。
将服务帐户更改回组托管服务帐户
打开SQL Server 2016 配置管理器并导航到SQL Server 服务分支。
在配置管理器的右窗格中,右键单击SQL Server服务并选择属性。
在SQL Server 的属性 (InstanceName)窗口中,检查您是否位于登录选项卡中。
将选择器更改为此帐户,然后输入 SQL Server (InstanceName) 服务的 gMSA 详细信息。
按Apply,当弹出一个对话框通知您“...您所做的任何更改在重新启动之前不会生效”时,单击OK。
停止SQL Server 服务 (InstanceName)
启动SQL Server 服务 (IntanceName)
仔细检查 SQL Server错误日志是否有任何问题。
对SQL Server 代理 (InstanceName)服务重复步骤 2 到 8 。
现在应该已经根据各个服务的要求重新配置了服务。
我们强烈怀疑此问题可能与问题之前的 SQL Server 错误日志(请参阅上面的原始帖子)中突出显示的众多连接错误有关。可能已超出最大连接数。
此后,我们重新启动了数据库服务器并解决了连接问题。如果这被证明不是问题,将重新访问这篇文章!