PARANDUS: Metaandmete vastuolu viga pärast lüliti tabeli partitsioone ja drop vastavad failid ja filegroups

NB! Artikkel on tõlgitud Microsofti masintõlketarkvaraga ja seda saab parandada Kogukonnapõhise tõlkeraamistiku (CTF) tehnoloogiaga. Microsoft pakub masintõlgitud, kogukonna järeltöödeldud ja inimtõlgitud artikleid, et anda mitmekeelne juurdepääs kõigile meie teabebaasi artiklitele. Masintõlgitud ja järeltöödeldud artiklites võib olla sõnavara-, süntaksi- ja/või grammatikavigu. Microsoft ei vastuta mingite ebatäpsuste, tõrgete ega kahjude eest, mis on tulenenud sisu valest tõlkest või selle kasutamisest meie klientide poolt. Lisateavet CTF-i kohta leiate aadressilt http://support.microsoft.com/gp/machine-translation-corrections/et.

Artikli ingliskeelse versiooni kuvamiseks klõpsake siin: 3095958
Sümptomid
Kujutage ette järgmist stsenaariumi.
  • Microsoft SQL Server 2014 on kaks sektsioonitabelid ja esimese tabeli sektsioonid on vastendatud erinevaid faile ja filegroups sama partitsiooni kava ja funktsiooni abil.
  • Üks partitsioonid aktiveerige teine tabel ja seejärel kärbite teises tabelis.
  • Te drop failid ja filegroups vastendatud kommuteeritava partitsiooni.
  • Käivitate SELECT-lause teises tabelis.
Selle stsenaariumi puhul saate järgmise tõrketeate:

MSG 606, tase 21 olek 1
Metaandmete vastuolu. Failirühma idfailirühma id> määratud tabeltabeli nimi> pole olemas. Käivitage DBCC CHECKDB või CHECKCATALOG.

DBCC CHECKDB/CHECKTABLE käivitamisel kuvatakse järgmine tõrketeade:

Ei saa töödelda registerIndexName> TabelTableName> Kuna failirühma (failirühma IDFileGroupNumber>) ei sobi.
Lahendus
See probleem parandati esmakordselt SQL serveri järgmiste kumulatiivseid värskendusi: Soovitus: Installige uusim koondvärskendus SQL Server
Iga uue SQL serveri koondvärskendus sisaldab kõiki Kiirparandusi ja kõiki turbeparandusi, mis sisaldusid eelmises koondvärskenduses. Soovitame teil alla laadida ja kumulatiivseid värskendusi installida SQL Server:


Märkus. Seda parandust ainult takistab tulevaste sündmuste probleemi. Kui olete juba ilmnenud probleemi, ekspordi andmete värske andmebaasi ilma ühtegi olemasolevat metaandmete rike. Selleks toimige järgmiselt.
  1. Kontrollimaks, kas partitsioon on kehtetu failirühma, päringut järgmine näha, kui see funktsioon tagastab väärtuse:
    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. Metaandmete rikutud tabel uuesti vaadatav teha.

    Kui 1. samm: päring tagastab väärtuse, sektsiooni rikutud metaandmed on takistada vaatamise (valige *:) tabeli iga rida. Selle probleemi lahendamiseks eemaldage halb partitsioonil.

    Märkus
    halb sektsiooni peaks olema tühi. Muul juhul faile ja failirühma, et see oli saanud ei on langenud või kustutatud.

    Selleks teisaldage selle partitsiooni teise tabelisse, mis kasutab sama eraldamine kava. Selles tabelis saab ainult fiktiivne tabeli. Kasutage container_id päringu 1. sammus ja sobitada partition_id alates sys.partitions. (Veenduge, et partition_number üles.) Kasutada on partition_number olnud unviewable näiva tabeli tabelist on ALTER TABLE LÜLITI PARTITSIOONI. Fiktiivne tabel peaks olema samade veergude ja kasutada sama sektsiooni kava. Teie päringule vastuolus sektsiooni leidmiseks sarnaneda järgmisega:

    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. Kopeerige andmed varem unviewable tabelist uus andmebaas.
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "Kehtib järgmiste toodete kohta" loetletud Microsofti toodetel.

Hoiatus. See artikkel on masintõlgitud.

Atribuudid

Artikli ID: 3095958 – viimati läbi vaadatud: 04/12/2016 00:46:00 – redaktsioon: 2.0

Microsoft SQL Server 2014 Service Pack 1

  • kbfix kbqfe kbexpertiseadvanced kbsurveynew kbmt KB3095958 KbMtet
Tagasiside