Symptom
Vid start av Microsoft SQL Server 2016 och 2017 om en användare försöker Om du vill ansluta till en databas innan den startas kan användarsessionen orsaka att databas som ska startas automatiskt. Om databasen innehåller en FileTable och har FILESTREAM non_transacted_access aktiverat, och sedan databas nivå FileTable-katalogen är inte tillgänglig efter att databasen har startats. Om du försöker komma åt mappen via Utforskaren kan det bero på att mappen är inte tillgänglig. När du kör kommandot "dir" från kommando tolken returneras "det går inte att hitta filen."
Dessutom kan du se följande fel i fel loggen som visar att en användarsession utlöste databasen för automatisk start:
DateTime Inloggnings fel: 18456, allvarlighets grad: 14, State: 38.
DateTime Inloggnings inloggningen misslyckades för användaren. Orsak: det gick inte att öppna den explicit angivna databasen "databasename". [Klient: IPNumber]
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Lösning
Det här problemet är åtgärdat i följande kumulativa uppdateringar för SQL Server:
Om kumulativa uppdateringar för SQL Server:
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Lösning
Lösningen för det här problemet är att inaktivera FILESTREAM-non_transacted_access i databasen.
ALTER DATABASE [databasename] ange SINGLE_USER med rollback-omedelbar
ALTER DATABASE [databasename] ange FILESTREAM (NON_TRANSACTED_ACCESS = av)
ALTERDatabase [databasnamn] ange FILESTREAM (NON_TRANSACTED_ACCESS = full)
ALTER DATABASE [databasename] ange MULTI_USER med rollback-omedelbar
Referenser
Lär dig mer omterminologi som Microsoft använder för att beskriva program varu uppdateringar.