2010-05-21 46 views
-2

我正在开发一个使用连接到远程SQL Server的应用程序(Delphi 7,Windows XP)。有时候,服务器关闭了,我想做一些事情来启动它。我试图在本地环境中启动SQL Server,这很好,它工作...但重点是我必须从远程机器启动它。如何使用Delphi代码在远程计算机上启动SQL Server?

我可以从远程服务器上看到SQL Server状态,但是我无法启动它......可能由于用户和密码而导致问题,但是指定登录到远程机器的位置?

你有什么想法做到这一点?

对于我的英语很抱歉。

谢谢。

回答

1

1)使用批处理文件中的sc.exe 2)通过代码使用Service Control Manager API。您可能需要更改进程安全上下文(即调用ImpersonateLoggedOnUser)以使用正确的用户凭据执行所需的操作。

0

使用OpenSCManager获取(远程计算机)服务控制管理器的句柄,然后使用OpenService获取SQL Server服务的句柄,最后使用StartService启动它。

如果您想在另一个帐户下执行此操作,可以使用WNetAddConnection(2)函数与证书连接(例如\\ machine \ ipc $或\\ machine \ admin $)。

相关问题