SQL Server隐藏实例会导致Alwasy on手动故障转移时报error 26

这篇具有很好参考价值的文章主要介绍了SQL Server隐藏实例会导致Alwasy on手动故障转移时报error 26。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SQL Server的配置管理器(SQL Server Configuration Manager)下,你可以隐藏数据库实例,设置了隐藏实例后, SQL Server Browser不会对此服务器实例的相关信息做出响应,(当 SQL Server 客户端请求 SQL Server 资源时,客户端将使用 1434 端口向服务器发送一条 UDP 消息。SQL Server 浏览器将用请求的实例的 TCP/IP 端口或命名管道做出响应。然后,客户端应用程序将使用所需实例的端口或命名管道向服务器发送请求来完成连接。),此时,如果你没有提供正确的端口号或命名管道,由于SQL Server Browser又不会对客户端的连接做出响应,那么除非你指定实例名和端口号,否则就会连接不上SQL Server。有些公司的安全规范,会要求设置隐藏SQL Server实例。这样防止别人扫描获取SQL Server数据库实例信息。

如何隐藏SQL Server实例:

  1. 在“SQL Server 配置管理器”中,展开“SQL Server 网络配置”、右键单击“<服务器实例> 的协议”,然后选择“属性”。

  2. 在 “标志” 选项卡的 “隐藏实例” 框中,选择 “是” ,然后单击 “确定” 关闭对话框。 对于新连接,更改会立即生效

如果SQL Server AlwaysOn的实例设置隐藏实例后,手动故障转移时,你可能连接不到辅助节点。此时你可能遇到下面错误(这里的测试环境为SQL Server 2019, Tcp端口设置为静态端口14033): SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified

SQL Server隐藏实例会导致Alwasy on手动故障转移时报error 26

遇到这个错误的时候,一般会从下面几个方面去排查:

  1. 确保服务器名称或IP正确无误,例如,服务器名称上没有错别字。
  2. 确保实例名称(Server Instance)正确无误。
  3. 确保服务器机器是可访问的,例如,DNS可以正确解析,你可以ping服务器(并不总是true)。
  4. 确保 SQL Browser 服务正在服务器上运行。
  5. 如果在服务器上启用了防火墙,则需要将sqlbrowser.exe和/或UDP端口1434置于例外状态。

这几方面都排查过后,检测发现1434 UDP端口状态异常,防火墙也放开了UDP 1434端口

SQL Server隐藏实例的情况

C:\PortQryUI>portqry.exe -n 192.168.63.217 -p udp  -e 1434

Querying target system called:

 192.168.63.217

Attempting to resolve IP address to a name...


IP address resolved to ****

querying...

UDP port 1434 (ms-sql-m service): LISTENING or FILTERED

Sending SQL Server query to UDP port 1434...

UDP port 1434 (ms-sql-m service): FILTERED

SQL Server取消隐藏实例的情况

C:\PortQryUI>portqry.exe -n 192.168.63.217 -p udp  -e 1434

Querying target system called:

 192.168.63.217

Attempting to resolve IP address to a name...


IP address resolved to ****

querying...

UDP port 1434 (ms-sql-m service): LISTENING or FILTERED

Sending SQL Server query to UDP port 1434...

Server's response:

ServerName ****
InstanceName MSSQLSERVER
IsClustered No
Version 15.0.2000.5
tcp 14033



==== End of SQL Server query response ====

UDP port 1434 is LISTENING

官方文档[1]还提示,隐藏实例可能会导致“故障转移群集资源死锁”,如下所示:

如果隐藏群集命名实例,当 LastConnect 注册表项 (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI11.0\LastConnect) 具有的端口与SQL Server 正在侦听的端口不同时,群集服务可能无法连接到 SQL Server。 如果群集服务无法建立与 SQL Server的连接,则你可能会看到类似于以下内容的错误:

事件 ID:1001:事件名称:故障转移群集资源死锁

参考资料

[1]

官方文档: https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/hide-an-instance-of-sql-server-database-engine?view=sql-server-ver16文章来源地址https://www.toymoban.com/news/detail-837640.html

到了这里,关于SQL Server隐藏实例会导致Alwasy on手动故障转移时报error 26的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows故障转移集群

    Windows2012作为根域 两台Windows2008加入域 创建三台Windows 分别是Windows2012和两台Windows2008  并选择其环境   创建三个十g的卷,连接至Windows2012   清理三台主机的后台数据 然后修改三台主机的IP  本机IP要相对应 Windows2008-1主机IP 第二块网卡不需要填写网关及dns服务器IP地址 Windo

    2024年02月12日
    浏览(29)
  • SQL Server实例间同步登录用户

    问题痛点 :由于AlwaysOn和数据库镜像无法同步数据库外实例对象,例如 登录用户、作业、链接服务器等,导致主库切换之后,应用连接不上数据库或者作业不存在导致每晚跑批任务漏跑等 目前来看,作业等其他实例对象的同步还比较难实现,比如作业分为很多步骤,而且作

    2024年02月09日
    浏览(29)
  • WindowsServer2016配置故障转移群集

    准备工作 首先准备两台以上服务器的,并记录下IP地址和主机名。 IP: 172.31.217.67 主机名:WIN-1L7C679HLDE IP:172.31.211.29 主机名:WIN-93RVOMN5NN0 修改Host host文件地址 C:WindowsSystem32driversetc 修改后如下图所示。 添加DNS后缀 计算机属性更改设置更改其他。输入后缀后保存。 接着需要

    2024年02月04日
    浏览(27)
  • winserver 2019搭建故障转移集群

    实验环境: 准备三台主机 、一台做iSCSI、 两台做故障转移集群、两台故障转移集群提前连接好iSCSI服务 操作步骤 : 1、安装服务 (两台主机都需要安装服务) 2、在所有故障转移节点上配置多路径 I/O,打开工具点击MPIO ,重启主机,重启之后 确保已经添加对iSCSI设备的支持

    2024年02月14日
    浏览(64)
  • 【远程连接 多个SQL SERVER数据库实例】

    在公司电脑上同时安装了SQL SERVER2012和SQL SERVER2019,分别设置了不同的实例,现用VPN连接公司电脑上的两个数据库实例,做一些记录。 如图所示,分别有MSSQLSERVER2012与MSSQLSERVER2019两个不同的实例,分别查看实例对应的TCP/IP 为数据库引擎访问配置 Windows 防火墙 - SQL Server | Micro

    2024年02月07日
    浏览(38)
  • ElasticSearch集群8.0版本搭建、故障转移

           ELasticsearch的集群是由多个节点组成的,通过cluster.name设置集群名称,并且用于区分其它的集群,每个节点通过node.name指定节点的名称。 在Elasticsearch中,节点的类型主要有4种: master节点 配置文件中node.master属性为true(默认为true),就有资格被选为master节点。master节

    2024年02月11日
    浏览(26)
  • 【Kubernetes】 故障转移和自愈能力机制详解

    ubernetes是一个开源的容器编排平台,可以自动化管理容器的部署、伸缩和升级。它可以减轻开发者的负担,并提高应用程序的可靠性和可扩展性。Kubernetes 成功的一个原因是它的自动化故障转移和自愈能力,这些功能使它成为云原生应用开发的首选平台之一。 故障转移功能

    2024年02月01日
    浏览(33)
  • 【ElasticSearch】ES集群搭建、监控、故障转移

    单机的ES做数据存储与搜索,必然面临两个问题: 海量数据存储问题 单点故障问题 因此,考虑使用ES集群: 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点。如此,ES的存储能力就是所有节点存储能力的总和 单点故障问题:将分片数据 在不同

    2024年02月16日
    浏览(47)
  • 快速彻底卸载SQL Server及实例的方法分享

    Win+R打开运行命令管理器输入services.msc查看所有服务,停止所有与Sql Server有关的服务。 通过控制面板进入程序卸载界面 如果要删除实例,一定先选择sql主程序,右击卸载,在弹出的窗口点击删除,一路默认下一步删除要删除的实例和配置为文件即可,如果要删除多个实例请

    2024年02月11日
    浏览(24)
  • 您试图连接的 SQL Server 2016 实例未安装

    解决问题的灵感 https://social.msdn.microsoft.com/Forums/lync/zh-CN/bcf58e7c-14b4-4d3a-8a5f-47be93915251/3033124405sql-server-2016-25552310342641023433350132345420363?forum=sqlserverzhchs 复制数据库 sqlserver 名称

    2024年02月15日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包