抱歉,这个问题太开放了,但是,
我有一台 Windows Server 2008 R2 Standard。它运行 SQL Server 2008 数据库服务器。(如果重要的话,全部是 64 位)。今天早些时候他们停电了。恢复供电后,除了服务器本身之外,没有客户端可以从任何机器连接到数据库。
我确保共享内存、TCP/IP 和命名管道仍然处于启用状态(确实如此),并且 SQL Server(MSSQLSERVER)和 SQL Server Browser 服务正在运行。
我在同一个网络上有一个运行 php 应用程序的网络服务器,自从断电后就无法再连接。
我仍然可以 ping 数据库服务器,并且可以本地连接到数据库。知道问题可能出在哪里吗?
答案1
答案2
- 检查计算机管理(compmgmt.msc)中的系统和应用程序日志中的事件
- 检查 MS SQL 服务器的所有服务的状态
- 在防火墙 (firewall.cpl) 上 - 高级设置为端口 TCP 1433 创建新的入站规则
- 禁用防火墙并从客户端测试连接(仅用于测试,测试后启用防火墙)。
答案3
正如其他人在评论中所说,这听起来确实是一个名称解析问题。要么就是您在计算机上实际上有另一个命名的 SQL Server 实例,并且该实例的服务未运行。根据您的描述,我有点怀疑情况并非如此,但无论如何还是要说出来。
您的服务器是否配置为从 DHCP 获取 IP(我真的希望不是)?如果是这样,那么它是一个保留地址吗?如果不是,那么这可能是您的问题。服务器从 DHCP 获取的 IP 地址与之前使用的 IP 地址不同。
您如何在网络内部进行名称解析?您的 ISP 托管的名称服务器上的 DNS 区域中是否有内部地址?如果没有,并且您确定没有内部 DNS 服务器,则 Web 服务器和客户端必须在 SQL 服务器的 hosts 文件中有一个条目。检查以确保 hosts 文件条目与 SQL 框的 IP 地址相同。
答案4
这些都是很棒的回复,我很感谢你们的帮助。问题出在这里。似乎“网络位置”设置已更改为“公共”。我个人不明白停电怎么会造成这种情况,但我想奇怪的事情已经发生了。我将其更改为“私人”,一切恢复正常。