用SQLDMO
Private Sub Command1_Click()
    Dim a As SQLDMO.SQLServer
    
    Set a = CreateObject("SQLDMO.SQLServer")
    
    a.Start False, "服务器名"
    MsgBox "OK!"
    a.Stop
End Sub
引用Microsoft SQLDMO Object Library,可以获得对服务器
的完整控制能力。

解决方案 »

  1.   

    to junglerover(灌木丛)
    如何启动,停止 Distributed Transaction Coordinator
      

  2.   

    靠,这个就比较麻烦了,只能用SQL-SCM你可以调用BINN目录下w95scm.dll中提供的方法(可以参考wn95scm.h)
    在VB中写出这些API的定义;不过我看最简单的办法是用BINN目录下的SCM.exe,如:
    shell "d:\mssql7\binn\scm.exe -action 1 -service msdtc"
    就可以了。
    action 1是启动,6是停止。
      

  3.   

    to : junglerover(灌木丛) 
    我的是sql2000
    在“D:\Program Files\Microsoft SQL Server\MSSQL\BINN“里并未发现SCM.exe
    那么,我如何引用WN95SCM.DLL里的函数呢?
    谢谢
      

  4.   

    我也不知道该怎样在VB里声明,反正这个函数的原型是这样的:
    BOOL _declspec(dllimport)   SQLSCMLocalServiceControlW(LPWSTR lpszSvc,int iCommand,LPDWORD pdwErr,int iCount,void *lpStartParameter);
    琢磨琢磨在VB里怎么声明吧。
    lpszSvc是服务名,如“MSDTC”;iCommand是命令。
      

  5.   

    to junglerover(灌木丛) 
    http://www.csdn.net/expert/topic/437/437903.shtm
      

  6.   

    帮帮忙,用SQLDMO吧!放着这么好的类型库不用干嘛非得累死累活的去找API
      

  7.   

    public老兄,我刚装了SQL SERVER 2000,结果发现在
    Microsoft SQL Server\80\Tools\Binn目录下同样有scm.exe文件!SHELL它肯定可以解决你的这个问题。不过,关于一种通用的将C写的API在VB里声明的问题,仍然很值得研究。
    (应该也有现成的答案吧?)
      

  8.   

    firmbird,你有本事用SQLDMO把这个题做给我看?
    仔细看题先!
      

  9.   

    to junglerover(灌木丛)
    老兄我来了,看到了,是有个scm.exe文件。
    我去试试。至于那个c写的api,我是怎么也搞不定了。
      

  10.   

    呵呵,不好意思,没看清题目,不要火气这么大
    Set objServer as New SQLServer
    objServer.Connect ServerName,UserID,Password
    objServer.Pause                    '//暂停
    objServer.Stop                     '//停止
    objServer.Start ...                '//起动
    不知道你想要那个?