Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.

Sümptomid

Arvestage järgmise stsenaariumiga.

  • Teil on Microsoft SQL Server 2014 kaks sektsioonitud tabelit ja esimese tabeli sektsioonid vastendatakse eri failide ja filegroups, kasutades sama partitsiooni skeemi ja funktsiooni.

  • Vahetate ühe partitsiooni teise tabelisse ja seejärel kärpite teise tabeli.

  • Kukutate failid ja filegroups, mis on vastendatud vahetatud partitsiooniga.

  • Teine tabel käivitab SELECT-lause.

Selle stsenaariumi korral kuvatakse järgmine tõrketeade:

MSG 606, tase 21, riigi 1Metadata vastuolu. Failirühma ID<failirühma id> määratud tabeli <tabeli nimi> pole olemas. Käivitage DBCC CHECKDB või CHECKCATALOG.

Kui käivitate DBCC CHECKDB/CHECKTABLE, kuvatakse järgmine tõrketeade:

Ei saa töödelda indeksit <indeksinimi> tabeli <TableName> Kuna failirühma (failirühma ID <FileGroupNumber>) ei sobi.

Lahendus

Probleem parandati esmakordselt SQL serveri järgmiste kumulatiivsete värskendustega:

Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Soovitame teil alla laadida ja installida kumulatiivseid värskendusi SQL serveri jaoks:

Märkus. See parandus keelab ainult selle probleemi hilisemad esinemiskorrad. Kui teil on juba tekkinud probleem, saate andmed eksportida värskesse andmebaasi ilma olemasoleva metaandmete korruptsiooni. Selleks toimige järgmiselt.

  1. Kui soovite kindlaks teha, kas partitsioonil on kehtetu failirühma, käivitage järgmine päring, et näha, kas see annab tulemiks tulemi.

    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. Tehke tabel uuesti nähtavaks metaandmete korruptsiooniga. Kui päring juhisest 1 annab tulemiks tulemi, takistavad rikutud metaandmetega partitsioon sind kuvamist (valige * alates) tabeli ridadest. Selle probleemi lahendamiseks eemaldage see halb partitsioon.Märkus. Halb partitsioon peaks olema tühi. Vastasel juhul ei saanud faile ja failirühma, mida see oli, enam loobuda või kustutada. Selle toimingu tegemiseks viige see partitsioon teise tabelisse, mis kasutab sama sektsioonimise skeemi. See tabel võib olla vaid näiv tabel. Kasutage päringus container_id sammus 1 ja vastendage see partition_idga sys. Partitions. (Veenduge, et märgite partition_number.) Kasutage partition_number, et teha tabel, mis on tabelile, mis ei olnud vaade näiva tabelile, tabeli VAHETAmiseks. Näiv tabel peaks sisaldama sama veergude kogumit ja kasutama sama partitsiooni skeemi. Teie päring ebajärjekindla partitsiooni leidmiseks võib 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 varasemast väljavaateta tabelist uude andmebaasi.

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×