在 SQL Server 2019 Express 中打开端口时遇到问题 - WMI 错误

在 SQL Server 2019 Express 中打开端口时遇到问题 - WMI 错误

更新:

回溯到 SQL Server 2017 Express 的一个版本允许我保存在 SQL Server 配置管理器中输入的 TCP/IP 端口和 IP 地址。

这些变量均未保存在注册表中:
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server**INST**\MSSQLServer\SuperSocketNetLib\Tcp}\

在 SQL Server 配置管理器中,仅当 IP 部分的“活动”状态设置为“否”时才会出现此错误消息:
The specificed file is read only. [0x80071779].

对我来说,这适用于 2017 年和 2019 年。


旧描述:

我已经安装了本地 SQL Server 2019 Express(上交所 2019),我可以使用以下方式本地连接:
<computer_name>/<sql_server_name>

我在尝试设置静态端口以启用远程连接时遇到问题。

在 SQL Server 配置管理器中配置端口时(SSCM)-> TCP/IP,保存时出现 WMI 错误:
The specificed file is read only. [0x80071779].

搜索这个问题让我找到了这个显示与我收到的相同的错误消息。

本页描述了一种解决方法,即更改注册表中的端口和 IP 设置。但是,TCP 的所有子键:IP1、IP2、IP3 等对我来说都丢失了。运行 SQL Server 2019 Express 的人能否确认此结构仍在用于此版本的 SSE?

奇怪的是,当我能够使用 SSCM(其中称为 IPALL)更改名为 Tcp 的项中的 TcpPort 值时,WMI 错误指向只读问题,并且通过重新启动服务器,注册表中的值会正确更新
。`

到目前为止,我尝试远程连接失败

我有:

  • 在路由器和防火墙上打开标准 SQL 服务器端口
  • 尝试彻底关闭防火墙
  • 在注册表中添加了缺失的键及其内容基于此,但似乎不起作用(SSCM 甚至没有读取它们)
  • 尝试上述操作时,多次重新启动 SQL 服务器及其服务、SQL 服务器配置管理器应用程序和计算机
  • 确保 SQL 服务器属性中的远程连接已打开(默认情况下已打开)

关于本地连接的一些说明

更新:

当仅使用一个 Sql 服务器实例(并具有工作端口管理)时,您只需输入服务器的 IP 地址即可启动连接。


老的:

虽然一切进展顺利:
<computer_name>/<sql_server_name>

我无法使用127.0.0.1或本地连接到 SQL 服务器127.0.0.1, <port>
连接到本地主机的正确语法是什么?

一些建议是使用逗号分隔 IP 和端口:
<x.x.x.x>/<SQL_server_name>, <PortNumber>

使用冒号也能起到同样的作用吗?
<x.x.x.x>:<portNumber>/<SQL_server_name>

答案1

完全卸载 SQL Server,安装一个较旧版本的 SQL Server。以相同的方式设置,问题解决。也更新了问题。

答案2

就我的情况 (SQL Server 2019) 而言,以上方法均无效。问题与 Hyper-V 有关。我怀疑它创建的网桥与 SQL Server 网络设置冲突。卸载 Hyper-V 可恢复正常运行。可能只需停用 Hyper-V 网桥也可以。

相关内容