出于故障排除的目的,我希望能够检查客户端是否可以连接到 SQL Server 实例,而与可能无法连接到 SQL Server 的应用程序无关。
有没有一种简单的方法(也就是说,不必安装第 3 方软件)使用默认的 Windows 系统工具来做到这一点?也许使用脚本或网络应用程序?
出于故障排除的目的,我希望能够检查客户端是否可以连接到 SQL Server 实例,而与可能无法连接到 SQL Server 的应用程序无关。
有没有一种简单的方法(也就是说,不必安装第 3 方软件)使用默认的 Windows 系统工具来做到这一点?也许使用脚本或网络应用程序?
SQL 连接的一个简单测试方法是创建一个空文本文件,文件扩展名为“UDL”。您可以在记事本中创建它。它可以有任何名称。我使用“TestSQL.UDL”
将其保存在 Windows PC 的桌面上并双击它。
将弹出“数据链接属性”对话框,您可以在其中输入 SQL 服务器的 IP 地址以及 SQL 用户名和密码。
单击“测试连接”按钮,查看是否可以连接。
如果服务器使用 TCP/IP,那么简单的方法就是远程登录到 SQL Server 端口并查看它是否连接。默认情况下,这是端口 1433,所以这应该可以工作:
在大多数情况下,这可能是合适的。
如果它使用不同的端口或动态端口(与命名实例通用),那么您需要确定它当前正在侦听的端口。检查 SQL Server 配置管理器以查看它是特定端口还是动态端口。如果它使用动态端口,那么只要您在服务器上没有多个实例,这
netstat -abn
可能是找到它正在使用的最简单的方法。否则,请在 Windows 事件日志或 SQL Server 错误日志中挖掘指示实例正在使用哪个端口的消息。如果 SQL Server 使用命名管道,那么我相信如果您能够访问计算机上的共享,那么您就有足够的网络连接。本文说您可以进一步尝试连接到 IPC$ 共享:
http://msdn.microsoft.com/en-us/library/aa275787%28v=sql.80%29.aspx
这是为 SQL Server 2000 编写的,但我认为这方面没有太大变化,如果有的话。
如果您
Microsoft.SqlServer.Smo
在本地计算机上的 GAC 中有程序集,则可以使用 PowerShell 轻松完成:检查连接性的方法有很多——每次我需要检查 Windows、macOS、Linux 的 SQL 连接性时,我都厌倦了谷歌搜索;为了解决这个问题,我创建了一个 docker 镜像来测试 SQL 连接性。这是非常(非常)基本的,我可能会改进这个加班,但希望它可以节省人们的时间。好的,所以要测试 SQL 连接,只需运行以下命令:
docker run -it ssaadi/test-sql-conn
它会询问您主机名、实例、端口等,然后会尝试连接并运行
select @@servername
,如果失败则显示错误。该脚本是在 python 中创建的,并使用 pymssql 进行 sql 连接——非常基本的源代码可以在这里找到:https ://github.com/sameersaadi/test-sql-conn