2010-05-21 58 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 $)。

相關問題