直接用尝试连接的方式判断速度太慢了。能不能有非常快的方式判断sql server是否起动

解决方案 »

  1.   

    1 直接连接try 很慢
    2 获取服务器列表,查看是否在里面,但是要使你提供的用户名,密码不对,服务器存在也不能证明
    你可以连接上
      

  2.   

    获取服务器列表
    procedure TForm1.Button4Click(Sender: TObject);
    var
     SQLServer:Variant;
     ServerList:Variant;
     i,nServers:integer;
     sRetValue:String;
    begin
     SQLServer := CreateOleObject('SQLDMO.Application');
     ServerList:= SQLServer.ListAvailableSQLServers;
     nServers:=ServerList.Count;
     for i := 1 to nservers do
        ListBox1.Items.Add(ServerList.Item(i));
     SQLServer:=NULL;
     serverList:=NULL;
    end;
      

  3.   

    为什么楼上的代码 到CreateOleObject 这里就出错了呢?
    这个函数是不是我没有引用啊?
      

  4.   

    SQLDMO只能在安装了SQL客户端或服务器端才有,这不是一个好办法.
    我没有什么思路,不知道可不可以用向SQL Server的监听端口发数据包来判断呢?