Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie verfügen über eine Datenbank von Microsoft SQL Server 2012 oder einer früheren Version mit mehreren Dateigruppen, und die sekundäre Dateigruppe ist die Standarddateigruppe.
-
Sie sichern die Datenbank und stellen Sie dann auf SQL Server 2014 wieder her.
-
Sie legen die primäre Dateigruppe als Standarddateigruppe ab, und versuchen Sie dann, die sekundäre Dateigruppe zu entfernen.
In diesem Szenario können Sie die sekundäre Dateigruppe auch dann nicht löschen, wenn alle darunter liegenden Datendateien gelöscht wurden. Die Fehlermeldung zeigt, dass die sekundäre Dateigruppe nicht entfernt werden kann, da Sie nicht leer ist.
Ursache
Das Problem tritt auf, weil beim Upgrade der Datenbankversion Systemobjekte in der Standarddateigruppe anstelle der primären Dateigruppe in SQL Server 2014 erstellt werden. Die sekundäre Dateigruppe enthält weiterhin einige Systemobjekte.
Fehlerbehebung
Dieser Fix führt das Ablaufverfolgungsflag 3861 ein, um Systemtabellen in die primäre Dateigruppe zu verschieben. Nachdem Sie den in diesem Artikel beschriebenen Hotfix angewendet haben, können Sie beim Starten von SQL Server mithilfe des Ablaufverfolgungsflags 3861 als Startparameter die Systemtabellen in die primäre Dateigruppe verschieben. Wenn Sie die Datenbanksicherung noch nicht wiederhergestellt haben, können Sie das Ablaufverfolgungsflag auf Serverebene aktivieren:
dbcc traceon(3861,-1)<Restore the database>dbcc traceoff(3861,-1)
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 4 für SQL Server 2014 /en-us/help/2999197
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.