如何判断sqlserver是否安装以及服务是否启动

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/4981/4981060.xml?temp=.1534387
      

  2.   

    fxy_2002(阿勇) :这种方法是不是必须得有sql server的客户端
      

  3.   

    '//////////////////////////////////////////////////////
    '函  数  名:f_Get_ServerStatus
    '输        入:  sServerName            SQL服务器名
    '               :  sUser              登陆用户
    '                :  sPassword          登陆密码
    '功能描述:得到SQL服务器的状态
    '调用模块:'引用:  Microsoft  SQLDMO  Object  Library
    '设计:  XXX
    '日 期:  2004年8月12日
    Function f_Get_ServerStatus(Optional ByVal sServerName$ = "", Optional ByVal sUser$ = "", Optional ByVal sPassword$ = "")
           Dim iSQLServer   As SQLDMO.SQLServer
           Dim iRe$
           On Error GoTo lb_Err
           Set iSQLServer = New SQLDMO.SQLServer
           With iSQLServer
                   If sUser = "" Then
                           .LoginSecure = True
                           .Connect sServerName
                   Else
                           .Connect sServerName, sUser, sPassword
                   End If
                   Select Case .status
                           Case SQLDMOSvc_Continuing
                                   iRe = "正在连接"
                           Case SQLDMOSvc_Paused
                                   iRe = "暂停"
                           Case SQLDMOSvc_Pausing
                                   iRe = "正在暂停"
                           Case SQLDMOSvc_Running
                                   iRe = "正在运行"
                           Case SQLDMOSvc_Starting
                                   iRe = "正在启动"
                           Case SQLDMOSvc_Stopped
                                   iRe = "停止"
                           Case SQLDMOSvc_Stopping
                                   iRe = "正在停止"
                           Case SQLDMOSvc_Unknown
                                   iRe = "未知"
                   End Select
                   .Disconnect
           End With
             
           GoTo lb_Exit
             
    lb_Err:
           'MsgBox "错误:" & Error, 48
           If Err.Number = -2147221504 Then
              iRe = "SQL Server 不存在或访问被拒绝."
           Else
              iRe = "错误"
           End If
    lb_Exit:
           If Not (iSQLServer Is Nothing) Then Set iSQLServer = Nothing
           f_Get_ServerStatus = iRe
    End Function
     Labelgo.Caption = Trim(f_Get_ServerStatus("DBServer", "sa", "zhgs"))