Eu tenho a necessidade de reiniciar o grupo de serviços do Microsoft SQL Server em um determinado computador, remotamente, por meio de algum tipo de método programático que eu possa inserir em um fluxo de trabalho. Estou procurando a melhor maneira de fazer isso, já vi algumas maneiras diferentes e gostaria de saber se está faltando alguma coisa:
- Use
Net Stop
andNet Start
- Isso funcionaria se eu precisasse apenas reiniciar o SQL Service e não houvesse dependências, não é realmente uma opção se o SQL Server Agent estiver em execução. - Use
SC //<computername
Isso me permitiria algum acesso paraservicecontroller
que eu pudesse consultar se há ou não um serviço dependente em execução. - Use o método .NET
Servicecontroller
, que me permite criar uma matriz de serviços em execução no computador de destino e, em seguida, iterá-los para interromper o que preciso interromper.
Estou perdendo alguma maneira?
Consulte http://technet.microsoft.com/en-us/library/hh403394.aspx - você perdeu, por exemplo, PowerShell.
Preste atenção extra se estiver usando uma instância em cluster.