Symptomen
Neem het volgende scenario:
-
U hebt een database van Microsoft SQL Server 2012 of een eerdere versie met meerdere bestandsgroepen, en de secundaire bestandsgroep is de standaardbestandsgroep.
-
U maakt een back-up van de database en zet deze weer in SQL Server 2014.
-
U stelt de primaire bestandsgroep in als de standaardbestandsgroep en probeert de secundaire bestandsgroep te verwijderen.
In dit scenario kunt u de secundaire bestandsgroep niet verwijderen, zelfs niet als alle gegevensbestanden worden verwijderd. In het foutbericht wordt aangegeven dat de secundaire bestandsgroep niet kan worden verwijderd omdat deze niet leeg is.
Oorzaak
Het probleem treedt op omdat bij de upgrade van databaseversies systeemobjecten worden gemaakt in de standaardbestandsgroep in plaats van de primaire bestandsgroep in SQL Server 2014. De secundaire bestandsgroep bevat nog steeds enkele systeemobjecten.
Oplossing
Deze oplossing introduceert de traceringsvlag 3861 om systeemtabellen naar de primaire bestandsgroep te verplaatsen. Wanneer u de hotfix die in dit artikel wordt beschreven, hebt toegepast en SQL Server wordt gestart met behulp van traceringsvlag 3861 als een opstartparameter, kunnen de systeemtabellen worden verplaatst naar de primaire bestandsgroep. Als u de back-up van de database nog niet hebt hersteld, kon u de vlag tracering inschakelen op serverniveau:
dbcc traceon(3861,-1)<Restore the database>dbcc traceoff(3861,-1)
Het probleem is voor het eerst opgelost in de volgende cumulatieve update van SQL Server.
Cumulatieve update 4 voor SQL Server 2014 /en-us/help/2999197
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.