KB4492899 - FIX: map op databaseniveau van FileTable is niet toegankelijk na het opstarten van de database in SQL Server 2016 en 2017

Van toepassing op
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer Windows SQL Server 2017 Enterprise Windows SQL Server 2017 Enterprise Core Windows SQL Server 2017 Standard Windows

Symptomen

Als een gebruiker tijdens het opstarten van Microsoft SQL Server 2016 en 2017 verbinding probeert te maken met een database voordat deze is gestart, kan de gebruikerssessie tot gevolg hebben dat de database automatisch wordt gestart. Als dit gebeurt en de database een FileTable bevat en FILESTREAM non_transacted_access is ingeschakeld, is de FileTable-map op databaseniveau niet toegankelijk na het opstarten van de database. Als u probeert de map te openen via Bestandenverkenner, kan dit erop wijzen dat de map niet beschikbaar is. Wanneer u een opdracht 'dir' uitvoert vanaf de opdrachtprompt, is het resultaat 'Het systeem kan het opgegeven bestand niet vinden'.

Daarnaast ziet u mogelijk de volgende fouten in het foutenlogboek die aangeven dat een gebruikerssessie ervoor zorgt dat de database automatisch wordt gestart:

DateTime Aanmeldingsfout: 18456, ernst: 14, status: 38.

DateTime Aanmelden is mislukt voor gebruiker 'UserName'. Reden: Kan de expliciet opgegeven database 'Databasenaam' niet openen. [CLIENT: IPNumber]

Status

Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in het gedeelte 'Van toepassing op'.

Oplossing

Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:

Over cumulatieve updates voor SQL Server:

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:

Tijdelijke oplossing

De tijdelijke oplossing voor dit probleem is het in- en uitschakelen van de non_transacted_access FILESTREAM van de database.

ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

ALTER DATABASE [Databasenaam] SET FILESTREAM ( NON_TRANSACTED_ACCESS = UIT )

ALTER DATABASE [Databasenaam] SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL )

ALTER DATABASE [DatabaseName] SET MULTI_USER MET ONMIDDELLIJKE TERUGDRAAIACTIE

Meer informatie

Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.