Korriger: Metadata inkonsekvens feil vises etter at du bytter tabellen partisjoner og tilhørende filer og filegroups

VIKTIG: Denne artikkelen ble oversatt med maskinoversettelsesprogramvare fra Microsoft og muligens redigert av Microsoft Community via CTF-teknologi i stedet for av en oversetter. Microsoft tilbyr både menneskelig oversatte og maskinoversatte/Community-redigerte artikler, slik at du får tilgang til alle artiklene i vår Knowledge Base på ditt eget språk. En maskinoversatt eller Community-redigert artikkel er imidlertid ikke alltid perfekt. Den kan inneholde feil i vokabular, syntaks eller grammatikk, mye likt en fremmedspråklig som forsøker å snakke språket ditt. Microsoft har ikke ansvar for unøyaktige opplysninger, feil eller skade forårsaket av feilaktig oversettelse av innholdet eller kundenes bruk av informasjonen. Microsoft oppdaterer jevnlig maskinoversettelsesprogramvaren og -verktøyene for å forbedre redigering av maskinoversatte tekster.

Den engelske versjonen av denne artikkelen er den følgende: 3095958
Symptom
Tenk deg følgende:
  • Du har to partisjonert tabeller i Microsoft SQL Server-2014 og partisjonene på den første tabellen er tilordnet til andre filer og filegroups ved hjelp av samme partisjon oppsett og funksjon.
  • Du bytter en av disse partisjonene til den andre tabellen, og deretter du avkorte den andre tabellen.
  • Du kan slette filer og filegroups som er tilordnet den svitsjede partisjonen.
  • Du kan kjøre en SELECT-setning i den andre tabellen.
I dette scenariet får du følgende feilmelding:

Msg 606, nivå 21, tilstand 1
Inkonsekvens i metadata. Filgruppe-idfilgruppe-id> angitt for tabellentabellnavn> finnes ikke. Kjøre DBCC CHECKDB eller CHECKCATALOG.

Når du kjører DBCC CHECKDB/CHECKTABLE, får du følgende feilmelding:

Kan ikke behandle indeksIndexName> for tabellTabellnavn> fordi filgruppe (filgruppe-IDFileGroupNumber>) er ugyldig.
Løsning
Problemet ble først løst i følgende kumulative oppdateringer for SQL Server: Anbefaling: Installere den nyeste kumulative oppdateringen for SQL Server
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Vi anbefaler at du laster ned og installerer de nyeste kumulative oppdateringene for SQL Server:


Obs! Denne hurtigreparasjonen forhindrer bare fremtidige forekomster av dette problemet. Hvis du allerede har dette problemet, kan du eksportere dataene til en ny database uten noen eksisterende diskmetadata. Følg denne fremgangsmåten:
  1. Hvis du vil kontrollere om en partisjon er en ugyldig filgruppe, kan du kjøre følgende spørring for å se om den returnerer et resultat:
    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. Gjøre tabellen med metadata kan føre til minnefeil vises på nytt.

    Hvis spørringen fra trinn 1, returnerer et resultat, partisjon med skadede metadata forhindrer visning (Velg * fra) alle radene i tabellen. Du kan omgå dette problemet ved å fjerne skadede partisjonen.

    Merk
    ugyldig partisjonen må være tom. Hvis ikke, filene og filgruppen som den var i kan ikke er fjernet eller slettet.

    Hvis du vil gjøre dette, kan du flytte denne partisjonen i en annen tabell som bruker det samme oppsettet for partisjonering. Denne tabellen kan være bare en midlertidig tabell. Bruk container_id fra spørringen i trinn 1, og at de stemmer overens med mediesiden fra sys.partitions. (Pass på at du legger merke til partition_number.) Bruk av partition_number til å utføre en endre TABELLEN bryter partisjon fra tabellen som var umulig å vise til den midlertidige tabellen. Den midlertidige tabellen skal ha det samme settet med kolonner og bruke samme partisjon. Spørringen etter inkonsekvent partisjonen kan ligne på følgende:

    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. Kopi dataene fra tidligere umulig å vise tabellen til den nye databasen.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Advarsel: Denne artikkelen er autooversatt

Egenskaper

Artikkel-ID: 3095958 – Forrige gjennomgang: 04/12/2016 01:30:00 – Revisjon: 2.0

Microsoft SQL Server 2014 Service Pack 1

  • kbfix kbqfe kbexpertiseadvanced kbsurveynew kbmt KB3095958 KbMtno
Tilbakemelding