FIX: Metagegevens inconsistentie foutbericht nadat u de Tabelpartities overschakelen en bijbehorende bestanden bestandsgroepen en

BELANGRIJK: Dit artikel is vertaald door middel van automatische vertalingssoftware van Microsoft en is mogelijk nabewerkt door de Microsoft Community via CTF-technologie (Community Translation Framework) of door een menselijke vertaler. Microsoft biedt zowel automatisch vertaalde, door mensen vertaalde en door de community nabewerkte artikelen aan, zodat er in meerdere talen toegang is tot alle artikelen in onze Knowledge Base. Een vertaald of bewerkt artikel kan fouten bevatten in vocabulaire, syntaxis of grammatica.. Microsoft is niet verantwoordelijk voor eventuele onjuistheden, fouten of schade ten gevolge van een foute vertaling van de inhoud van een bericht of het gebruik van deze vertaalde berichten door onze klanten.

De Engelstalige versie van dit artikel is de volgende: 3095958
Symptomen
Overweeg het volgende scenario:
  • U hebt twee gepartitioneerde tabellen in Microsoft SQL Server 2014, en de partities van de eerste tabel zijn toegewezen aan andere bestanden en bestandsgroepen met behulp van de functie en dezelfde partitieschema.
  • U een van deze partities overschakelt naar de tweede tabel en klikt u in de tweede tabel afkappen.
  • U kunt bestanden en bestandsgroepen die zijn toegewezen aan de geschakelde partitie neerzetten.
  • U voert een SELECT-instructie op de tweede tabel.
In dit scenario wordt het volgende foutbericht weergegeven:

Msg 606, 21, niveau 1 staat
Inconsistenties in de metagegevens. Bestandsgroep-idbestandsgroep-id> opgegeven voor tabelnaam van de tabel> bestaat niet. Voer DBCC CHECKDB of CHECKCATALOG uit.

Wanneer u DBCC CHECKDB/CHECKTABLE uitvoert, wordt het volgende foutbericht weergegeven:

Kan geen index verwerkenNaamCommunity> van tabelTabelnaam> omdat bestandsgroep (bestandsgroep-IDFileGroupNumber>) is ongeldig.
Oplossing
Het probleem is in eerste instantie opgelost in de volgende cumulatieve updates van SQL Server: Aanbeveling: Installeer de meest recente cumulatieve update voor SQL Server
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingscorrecties die zijn opgenomen in de vorige cumulatieve update. Het is raadzaam dat u downloadt en installeert de meest recente cumulatieve updates voor SQL Server:


Opmerking Deze oplossing voorkomt alleen dat toekomstige versies van dit probleem. Als u dit probleem al ondervindt, kunt u uw gegevens exporteren naar een nieuwe database zonder de bestaande metagegevens zijn beschadigd. Ga hiervoor als volgt te werk:
  1. Om te bepalen of een partitie een ongeldige bestandsgroep heeft, de volgende query uitvoeren om te zien als er een resultaat:
    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. De tabel met de metagegevens zijn beschadigd opnieuw zichtbaar te maken.

    Als u de query uit stap 1 als resultaat, de partitie met de beschadigde metagegevens wordt voorkomen door bekijken (Selecteer * uit) alle rijen in de tabel. U kunt dit probleem omzeilen die ongeldige partitie te verwijderen.

    Opmerking
    de ongeldige partitie moet leeg zijn. Anders wordt kunnen de bestanden en de bestandsgroep waarin deze zich bevond niet zijn verwijderd of verwijderd.

    U doet dit door deze partitie te verplaatsen in een andere tabel die gebruikmaakt van het partitieschema van dezelfde. Deze tabel is slechts een tijdelijke tabel. De ID_container uit de query gebruiken in stap 1 en vergelijken met de ID_partitie van sys.partitions. (Zorg ervoor dat u Let op de partition_number.) Gebruik de partition_number voor het uitvoeren van een partitie ALTER TABLE SWITCH uit de tabel die aan de tijdelijke tabel wordt niet weergegeven is. De tijdelijke tabel moet dezelfde reeks kolommen hebben en dezelfde partitieschema gebruiken. De query zoekt u de partitie niet consistent kan uitzien:

    SELECT au.container_id, au.data_space_id, p.partition_number FROM sys.partitions AS p JOIN sys.allocation_units AS au ON p.partition_id = au.container_id LEFT JOIN sys.filegroups AS fgs ON fgs.data_space_id = au.data_space_id WHERE object_id = OBJECT_ID('MyTableName') AND fgs.data_space_id IS NULL;
  3. Kopieer de gegevens die uit de tabel eerder wordt niet weergegeven in de nieuwe database.
Status
Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Waarschuwing: dit artikel is automatisch vertaald

Eigenschappen

Artikel-id: 3095958 - Laatst bijgewerkt: 04/12/2016 01:30:00 - Revisie: 2.0

Microsoft SQL Server 2014 Service Pack 1

  • kbfix kbqfe kbexpertiseadvanced kbsurveynew kbmt KB3095958 KbMtnl
Feedback