Pergunta
- É seguro iniciar e parar os serviços do SQL usando comandos
Start-Service
eStop-Service
comandos do PowerShell? - Caso contrário, existe uma maneira recomendada de iniciar e interromper os serviços do SQL por meio da automação?
Informação adicional
Estamos no processo de criação de scripts para desativar nossos sistemas de forma limpa antes das janelas de manutenção e, em seguida, trazê-los de volta. Por limpo, quero dizer que ele interrompe os serviços do aplicativo e, em seguida, interrompe os serviços do banco de dados (ou seja, na ordem de dependência), definindo tudo como DESATIVADO, para que a equipe de infraestrutura possa aplicar atualizações do Windows / executar qualquer trabalho, reinicializando os servidores com segurança conforme necessário, antes de executar o scripts para restaurar o sistema na ordem correta (com reconhecimento de dependência).
Nosso DBA mencionou que a forma correta de parar os serviços é através do Configuration Manager do SQL; implicando que isso é diferente de apenas usar services.msc
(ou para automação, stop-service
arquivos sc \\someServer stop someService
.
- A nota na parte superior deste artigo sugere algo semelhante: https://technet.microsoft.com/en-us/library/ms175516(v=sql.105).aspx
- Este artigo aponta que o SQL Server Configuration Manager tem algumas vantagens para algumas funções: https://msdn.microsoft.com/en-us/library/ms174212.aspx
No entanto, não consegui encontrar nada explicitamente dizendo que é incorreto iniciar/interromper serviços pelos meios regulares ou que proteção/funcionalidade extra o SQL Configuration Manager fornece em relação a simplesmente iniciar e interromper serviços.
Você está seguro de qualquer maneira que você vá. As linhas de comando SERVICES.MSC e POWERSHELL são funções IGUAL ao gerenciador de configuração MSSQL...
O gerenciador de configuração também é usado para controlar instâncias, etc etc, mas a função de iniciar e parar um serviço é a mesma, independentemente do método escolhido.
Algumas pessoas têm suas próprias maneiras de fazer as coisas, por exemplo, para sair de um aplicativo, você pode fazer Arquivo > Sair. Ou você pode fazer ALT+F4, ambos são a mesma função...
Por favor, veja este link abaixo para obter informações adicionais e detalhes úteis. Isso abrange todos os diferentes métodos (gerente de configuração SQL, SSMS, linha de comando, etc.)
https://msdn.microsoft.com/en-us/library/hh403394.aspx
ATUALIZAÇÃO sobre instância de cluster de failover ...
Se a instância estiver em cluster , o uso de qualquer uma das sugestões acima não se aplica e não deve ser usado. Para uma FCI, você precisa utilizar o Cluster Manager ou os comandos do módulo FailoverClusters PowerShell.
A maneira recomendada é sempre usar o gerenciador de configuração por dois motivos:
i) Se você deseja alterar a senha, usando o gerenciador de configuração, não é necessário reiniciar o mecanismo SQL ou os serviços do agente para que a nova senha entre em vigor. Mais detalhes podem ser encontrados aqui.
ii) Se você estiver gerenciando um cluster sql e tentar modificar a senha por meio de services.msc, ele fará failover para outro nó durante a reinicialização do node1, o gerenciador de configuração sql evita isso.
Dito isto, não tenho um script para fazer todas as tarefas através do gerenciador de configuração, seria interessante saber se alguém o tem :).
Nas ferramentas de configuração do Microsoft SQL Server, clique com o botão direito do mouse em SQL Server Services e pare.
OU Usando Transact-SQL
DESLIGAR;
Para interromper o Mecanismo de Banco de Dados imediatamente, execute a instrução a seguir. DESLIGAR COM NOWAIT;
Veja o link Iniciar, Parar, Pausar, Continuar, Reiniciar o Mecanismo de Banco de Dados