Tudo isso é detalhado exaustivamente nesta página.
Sendo sua pergunta especificamente "existe algum recomendado pela Microsoft ", estou inclinado a pensar que isso é contraproducente ter essa discussão aqui. O artigo detalha o processo através de
- Usando qualquer um
- linha de comando
- Powershell,
- GUI (SQL Server Management Studio)
- Para 2008, 2012, 2014, 2016.
- Para o
- Mecanismo de Banco de Dados
- ou, agente
Se essas etapas são satisfatórias ou não, seria minha opinião, o que você não deseja. Portanto, a resposta correta estará sempre mais atualizada lá.
Parando o serviço antes de desligar
é necessário ou recomendado fazê-lo antes de desligar um servidor que esteja executando serviços SQL.
Não, não é necessário. Quando o Kernel do Windows envia o sinal para desligar o SQL Server, ele o faz de maneira segura e o sistema aguarda a conclusão. Falando em termos gerais, qualquer coisa construído com a capacidade de desligamento com segurança não tem que ser desligado manualmente, e é lógico todas as aplicações Microsoft seguem sua própria API e procedimentos amarrando nos PRESHUTDOWN
, ou SHUTDOWN
fases. A partir dos documentos PRESHUTDOWN
, que eu assumo que eles estão usando,
Notifica um serviço que o sistema será desligado. Os serviços que precisam de tempo adicional para executar tarefas de limpeza além da restrição de tempo no desligamento do sistema podem usar esta notificação. O gerente de controle de serviço envia essa notificação aos aplicativos que se registraram para ele antes de enviar uma SERVICE_CONTROL_SHUTDOWN
notificação aos aplicativos que se registraram para essa notificação.
Um serviço que lida com essa notificação bloqueia o desligamento do sistema até que o serviço seja interrompido ou o tempo limite do pré-desligamento especificado até a SERVICE_PRESHUTDOWN_INFO
expiração. Como isso afeta a experiência do usuário, os serviços devem usar esse recurso apenas se for absolutamente necessário para evitar perda de dados ou tempo de recuperação significativo na próxima inicialização do sistema.
Conforme for necessário, presumo que é assim que o SQL Server funciona.