1
我需要從VB.Net程序中枚舉SQL Server。如果SQL瀏覽器服務未打開,這將失敗。默認安裝似乎已禁用。我可以用smo啓動sql server瀏覽器服務嗎?
如何測試服務狀態,如果需要,啓用它並啓動它?
我需要從VB.Net程序中枚舉SQL Server。如果SQL瀏覽器服務未打開,這將失敗。默認安裝似乎已禁用。我可以用smo啓動sql server瀏覽器服務嗎?
如何測試服務狀態,如果需要,啓用它並啓動它?
你不一定需要SMO。您可以使用ServiceController類。下面是啓動未運行的服務的一個簡單的例子:
' don't forget to reference the System.ServiceProcess and Imports System.Management DLLs
imports System
imports System.ServiceProcess
imports System.Management
public module MyModule
Sub Main()
Dim serviceName as String = "SQLBrowser"
Dim sc As ServiceController = New ServiceController(serviceName)
' make sure start mode is automatic
Dim path As String = "Win32_Service.Name='" & serviceName & "'"
Dim p As New ManagementPath(path)
Dim ManagementObj As New ManagementObject(p)
Dim parameters As Object() = New Object(0) {}
Dim value As String = "Automatic"
parameters(0) = value
ManagementObj.InvokeMethod("ChangeStartMode", parameters)
if sc.Status = ServiceControllerStatus.Stopped or sc.Status = ServiceControllerStatus.Paused then
Console.WriteLine(serviceName + " is starting.")
sc.Start()
else
Console.WriteLine(serviceName + " is running.")
end if
End Sub
末模塊
更新程式碼的簡單使用... –
這看起來不錯。殘疾人服務會發生什麼?我如何啓用它? – GilShalit
要處理一個disbled服務,有一個不同的API。請參閱此處的示例:http://social.msdn.microsoft.com/forums/en-US/vbgeneral/thread/086b4d8b-18d1-41d4-82d6-66509c726614 –