检查SQL Server是否存在的最佳方法是什么?
我正在尝试Microsoft.SqlServer.Management.Smo.Server.PingSqlServerVersion()
如果服务器存在且可用,则可以正常工作。
但是,如果没有这样的服务器,那将相当慢。
如果存在服务器,是否有足够快速的方法甚至无需定义用户凭据(仅服务器名称)就可以检查?
您建议使用什么?
最佳答案
您可以只使用TcpClient类查询服务器并检查是否打开了特定端口,可能是这样的:
using System.Net;
using System.Net.Sockets;
public bool CheckServerAvailablity(string serverIPAddress, int port)
{
try
{
IPHostEntry ipHostEntry = Dns.Resolve(serverIPAddress);
IPAddress ipAddress = ipHostEntry.AddressList[0];
TcpClient TcpClient = new TcpClient();
TcpClient.Connect(ipAddress , port);
TcpClient.Close();
return true;
}
catch
{
return false;
}
}
关于c# - 检查SQL Server可用性的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3257084/