从客户端检查与SQL Server的连接的简便方法


18

为了进行故障排除,我希望能够检查客户端是否可以连接到SQL Server实例,而与可能无法连接到SQL Server的应用程序无关。

是否有一种简单的方法(即不必安装第三方软件)使用默认的Windows系统工具来执行此操作?也许使用脚本或网络应用程序?


在我的笔记本上,我可以创建一个sqlserver odbc连接并测试对sqlserver的访问。但是我不是不是可以在所有配置为访问sqlserver的客户端上找到sqlserver odc驱动程序。但是如果可以找到,这将是在使用telnet检查服务器的sqlserver prot的可达性之后的下一个测试。
miracle173 2012年

Answers:


15

如果服务器使用的是TCP / IP,则简单的方法是仅telnet到SQL Server端口并查看其是否连接。默认情况下,该端口为1433,因此应该可以使用:

telnet servername 1433

在大多数情况下,这可能是适当的。

如果使用的是其他端口或动态端口(与命名实例共用),则需要确定当前正在侦听的端口。检查SQL Server配置管理器以查看它是特定端口还是动态端口。如果它正在使用动态端口,那么只要您在服务器上没有多个实例,netstat -abn它可能就是查找正在使用的内容的最简单方法。否则,请在Windows事件日志或SQL Server错误日志中进行挖掘,以获取指示实例正在使用哪个端口的消息。

如果SQL Server使用的是命名管道,那么我相信如果您能够访问计算机上的共享,则您具有足够的网络连接。本文说,您可以进一步尝试连接IPC $共享:

http://msdn.microsoft.com/zh-cn/library/aa275787%28v=sql.80%29.aspx

net use \\servername\IPC$

那是为SQL Server 2000写的,但是我想这方面并没有太大变化。


2
那看不到客户端是否可以“连接到SQL Server实例”。这只是测试,以查看端口是否正在侦听。
Thomas Stringer 2012年

4
...这表明客户端系统是否“可以连接到SQL Server实例,而独立于可能无法连接到SQL Server的应用程序”。网络连接以外的任何事物都在处理应用程序问题。
db2 2012年

22

SQL连接的一种简单测试方法是创建一个空文本文件,文件扩展名为“ UDL”。您可以在记事本中创建它。它可以有任何名称。我使用“ TestSQL.UDL”

将其保存在Windows PC的桌面上,然后双击它。

将弹出“数据链接属性”对话框,您可以在其中输入SQL Server的IP地址以及SQL用户名和密码。

单击“测试连接”按钮以查看是否可以连接。

在此处输入图片说明


确保单击“提供程序”选项卡并选择正确的OLE DB提供程序:“ SQL Server的Microsoft OLE DB提供程序”
DaveB

戴夫,欢迎您,好的回答。您可以编辑帖子(左下角)以添加此其他信息。然后删除您的评论。
Michael Green

这确实是一个很好的答案,因为它几乎可以在任何服务器上运行,无论安装了什么或未安装什么。您只需要记事本。感谢您的出色回答,确实帮助我说服了客户SQL连接正常。
罗宾尼克

8

只要您Microsoft.SqlServer.Smo在本地计算机上的GAC中拥有该程序集,就可以使用PowerShell轻松完成此操作:

[Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | Out-Null

$server = New-Object Microsoft.SqlServer.Management.Smo.Server("YourSqlServerName")

# do a simple operation to see if you can get data
Try {
    $server.Version | Out-Null
    Write-Host "SQL Server connection successful!!!"
}
Catch [System.Exception] {
    Write-Host "Error connecting to SQL Server..."
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.