Symptomer
Hvis en bruger forsøger at oprette forbindelse til en database, før den startes, under Microsoft SQL Server 2016 og 2017 kan det i brugersessionen medføre, at databasen startes automatisk. Når dette sker, og databasen indeholder en filtabel og har FILESTREAM non_transacted_access aktiveret, så er filtabelmappen på databaseniveau utilgængelig efter databasens start. Hvis du forsøger at få adgang til mappen via Stifinder, kan det betyde, at mappen ikke er tilgængelig. Når du kører en "dir"-kommando fra kommandoprompten, returneres "Systemet kan ikke finde den angivne fil."
Derudover kan du få vist følgende fejl i fejlloggen, der angiver, at en brugersession udløste databasen til automatisk at starte:
DateTime Logonfejl: 18456, Alvorsgrad: 14, Tilstand: 38.
DateTime Logon logon mislykkedes for brugeren 'UserName'. Årsag: Den eksplicit angivne databasenavn kunne ikke åbnes. [KLIENT: IPNumber]
Status
Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Løsning
Dette problem er rettet i følgende kumulative opdateringer til SQL Server:
Om kumulative opdateringer til SQL Server:
Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:
Løsning
Løsningen på dette problem er at deaktivere og genaktivere FILESTREAM-non_transacted_access for databasen.
ALTER DATABASE [Databasenavn] INDSTIL SINGLE_USER MED ANNULLERING AF OPDATERING MED DET SAMME
ALTER DATABASE [Databasenavn] SET FILESTREAM ( NON_TRANSACTED_ACCESS = OFF )
ALTER DATABASE [Databasenavn] SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL )
ALTER DATABASE [Databasenavn] ANGIV MULTI_USER MED ANNULLERING AF OPDATERING MED DET SAMME
Referencer
Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer.