Simulei uma corrupção do banco de dados do modelo no ambiente de teste apenas para fins de aprendizado. Ao ler outros blogs e artigos sobre isso, fiquei na pergunta: qual é a diferença entre iniciar o SQL Server Service com sinalizadores -T3608 e -f não documentados?
Quando tentei iniciar o serviço com -f, recebi uma mensagem de erro e o serviço não foi iniciado. No entanto, no caso de -T3608, começou sem problemas. Para o sinalizador -T3608, li que -T3608 inicia todos os bancos de dados sem executar a recuperação e -f inicia a instância com configurações mínimas. O que é configuração mínima, não consigo encontrar informações sobre isso.
Digamos que você alocou algo muito grande para a memória da máquina. Fechaduras, por exemplo. O SQL Server tenta criar essa quantidade de memória, mas ela não está disponível, portanto, o SQL Server não é iniciado. Este é o cenário em que -f entra. Hoje em dia, há alguma segurança embutida no sp_configure para evitar valores ridículos (como memória máxima do servidor muito baixa), então pode não ser fácil chegar a esse ponto em primeiro lugar. Outra coisa que -f faz é criar tempdb onde master.mdf está, em vez de onde você disse que deveria ser criado (imagine um disco tempdb travado - e o SQL Server não pode viver sem tempdb).
Acima é muito diferente de não realizar a recuperação de inicialização dos bancos de dados na inicialização, que é o que 3608 significa.