如果使用ssms连接SQLserver的时候出现无法连接到服务器。

如果使用ssms连接SQLserver的时候出现无法连接到服务器。

  Lan   2020-03-29 22:11   329 人阅读  0 条评论

image.png

标题: 连接到服务器

------------------------------

无法连接到 xxxxx。

------------------------------

其他信息:

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接) (Microsoft SQL Server,错误: 2)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476

------------------------------

因为你没开启image.png

首先,Win + R

打开

image.png

输入

services.msc

回车

找到image.png

右键启动image.png

即可

本文地址: https://www.lanol.cn/post/101.html
版权声明:本文为原创文章,版权归  Lan 所有,欢迎分享本文,转载请保留出处!
赞赏 打赏二维码

文章导航

### 关于 SSMS 连接数据库时找不到网络路径的解决方案 当使用 SQL Server Management Studio (SSMS) 连接到远程数据库实例时,如果出现“找不到网络路径”的错误提示,通常是由以下几个原因引起: #### 1. **网络配置问题** 如果目标服务器位于局域网或广域网环境中,则需要确保客户端能够通过网络访问该服务器。可以通过 `ping` 命令测试与目标服务器之间的连通性[^1]。 ```bash ping <目标服务器IP地址> ``` 如果无法成功 ping 到目标服务器,则说明可能存在防火墙阻止、路由器设置不当或其他网络层面上的问题。 #### 2. **SQL Server 配置管理器设置不正确** 确认目标 SQL Server 实例是否启用了 TCP/IP 协议支持。打开 SQL Server Configuration Manager 工具,在左侧导航栏找到 “SQL Server Network Configuration”,然后选择对应的实例名称并启用 TCP/IP 支持[^2]。 #### 3. **Windows 防火墙规则未开放必要端口** 默认情况下,SQL Server 使用的是动态分配的端口号来监听传入连接请求。为了简化配置过程,建议固定一个静态端口(比如常见的 1433)。之后需在 Windows 防火墙上创建一条允许此特定端口通信的新规。 ```powershell New-NetFirewallRule -DisplayName "Allow MSSQL" -Direction Inbound -LocalPort 1433 -Protocol TCP -Action Allow ``` #### 4. **DNS 解析失败或者主机名输入有误** 当尝试按名字而非 IP 地址连接至远端机器时,务必保证本地计算机可以解析出正确的域名对应关系。检查 hosts 文件是否有相应条目定义,或者确认 DNS 查询服务工作正常。 #### 5. **共享文件夹权限不足** 若涉及备份恢复操作而指定了 UNC 路径作为源/目的地之一的话,请核实账户拥有足够的读写权利去存取那个目录下的资源。 --- ### 示例代码:验证TCP/IP状态及修改默认端口 以下是用于查看当前运行中的 SQL Server 是否正在侦听某个具体端口号的一个简单查询语句: ```sql SELECT local_net_address, local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID; ``` 另外,下面这段 PowerShell 脚本可以帮助更改指定实例所使用的通讯端口: ```powershell $InstanceName = 'MSSQLSERVER' # 替换成实际的目标实例名 $newPortNumber = 1433 # 设定新的端口号 # 加载必要的 .NET 类型 [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | Out-Null; # 获取服务器对象 $sqlServerObject = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $env:COMPUTERNAME\$InstanceName; foreach ($ipAddress in $sqlServerObject.Settings.IPAddresses){ foreach($ipProperty in $ipAddress.IPProperties){ if ($ipProperty.Name -eq "TcpDynamicPorts"){ Write-Host ("Disabling dynamic ports on {0}" -f $ipAddress.IPAddress); $ipProperty.Value = ""; } elseif ($ipProperty.Name -eq "TcpPort") { Write-Host ("Setting static port to {0} on {1}" -f $newPortNumber,$ipAddress.IPAddress); $ipProperty.Value = "$newPortNumber"; } } } Write-Host "Restarting the service..." $sqlServerObject.Alter(); ``` --- ### 总结 综上所述,“找不到网络路径”这一类别的错误往往源于多种因素共同作用的结果,包括但不限于上述提到的各项可能性。逐一排查这些问题点直至定位根本原因是解决问题的关键所在。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值