Sintomi
Durante l'avvio di Microsoft SQL Server 2016 e 2017, se un utente prova per connettersi a un database prima che venga avviato, la sessione utente può causare la database da avviare automaticamente. Quando si verifica questo problema, se il database contiene un FileTable e ha NON_TRANSACTED_ACCESS FILESTREAM abilitato, quindi il livello di database La directory FileTable non è accessibile dopo l'avvio del database. Se si prova ad accedere alla cartella tramite Esplora file, potrebbe essere indicato che la cartella è disponibile. Quando si esegue un comando "dir" da prompt dei comandi, viene restituito "il sistema non riesce a trovare il file specificato".
Inoltre, potrebbe essere visualizzato il seguente errore nel log degli errori che indica che una sessione utente ha attivato il database per l'avvio automatico:
DateTime Errore di accesso: 18456, gravità: 14, stato: 38.
DateTime Accesso non riuscito per l'utente "nome utente". Motivo: non è possibile aprire il database specificato in modo esplicito "DatabaseName". [CLIENT: IPNumber]
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Informazioni sugli aggiornamenti cumulativi per SQL Server:
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Soluzione alternativa
La soluzione alternativa per questo problema consiste nel disabilitare e riabilitare la non_transacted_access FILESTREAM del database.
ALTER DATABASE [DatabaseName] SET SINGLE_USER con rollback immediate
ALTER DATABASE [DatabaseName] set FILESTREAM (NON_TRANSACTED_ACCESS = disattivato)
ALTER DATABASE [DatabaseName] set FILESTREAM (NON_TRANSACTED_ACCESS = FULL)
ALTER DATABASE [DatabaseName] set MULTI_USER con rollback immediate
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.