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
不安定なサービスを処理するには、別のAPIがあります。 http://social.msdn.microsoft.com/forums/en-US/vbgeneral/thread/086b4d8b-18d1-41d4-82d6-66509c726614 –