今回は、SQLServer サービスの開始/停止についてです。
Part01 で紹介した参照設定に下記のコンポーネントを追加する必要があります。
・Microsoft.SqlServer.Management.Smo.Wmi
(C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.WmiEnum.dlll)
使用するクラスは、 ManagedComputer クラスと Service クラスです。
ManagedComputer クラスは、 SQLServer のインスタンスのWMI(Windows Management Instrumentation)
を表現しています。
Service クラスは、 SQLServer サービスのインスタンスを表現しています。
Service クラスは、コンストラクタが存在しないため、インスタンスができませんので、 ManagedComputer
オブジェクト経由で取得するようになります。
コードとしては、下記のようになります。
ManagedComputer managedComputer = new ManagedComputer();
Service service = managedComputer.Services[サービス名];
サービス名は、既定のインスタンスであれば "MSSQLSERVER" で、名前付きインスタンスであれば
"MSSQL$インスタンス名"になります。
Service オブジェクトが作成できたので、後は該当のメソッドを呼び出すだけになります。
サービスの開始であれば、 service.Start() でサービスは開始されます。
サービスの停止であれば、service.Stop() でサービスは停止されます。
サービスの状態を判断したい場合は、 service.ServiceState で取得できます。