Sintomas
Durante a inicialização do Microsoft SQL Server 2016 e do 2017, se um usuário tentar para se conectar a um banco de dados antes de ser iniciado, a sessão do usuário pode causar o banco de dados para ser iniciado automaticamente. Quando isso ocorre, se o banco de dados contém um Filetable e with FILESTREAM non_transacted_access habilitado e, em seguida, o nível de banco de dados O diretório filetable não pode ser acessado após a inicialização do banco de dados. Se você tentar acessar a pasta por meio do explorador de arquivos, isso pode indicar que a pasta é indisponível. Quando você executa um comando "dir" do prompt de comando, ele retorna "o sistema não pode encontrar o arquivo especificado."
Além disso, você pode ver os erros a seguir no log de erros que indicam que uma sessão do usuário acionou o banco de dados para iniciar automaticamente:
DateTime Erro de logon: 18456, severidade: 14, estado: 38.
DateTime Falha no logon de logon do usuário ' nome_do_usuário '. Motivo: falha ao abrir o banco de dados do banco de dados explicitamente especificado ' DatabaseName '. [Cliente: IPNumber]
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Resolução
Esse problema foi corrigido nas seguintes atualizações cumulativas do SQL Server:
Sobre atualizações cumulativas do SQL Server:
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Solução alternativa
A solução alternativa para esse problema é desabilitar e habilitar novamente a non_transacted_access FILESTREAM do banco de dados.
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK Immediate
ALTER DATABASE [DatabaseName] Set FILESTREAM (NON_TRANSACTED_ACCESS = off)
ALTER DATABASE [DatabaseName] Set FILESTREAM (NON_TRANSACTED_ACCESS = Full)
ALTER DATABASE [DatabaseName] Set MULTI_USER with Rollback Immediate
Referências
Saiba mais sobre oterminologia usada pela Microsoft para descrever atualizações de software.