Primjenjuje se na
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Simptomi

Razmotrite sljedeći scenarij:

  • Imate dvije podijeljene tablice u programu Microsoft SQL Server 2014, a particije prve tablice mapirane su na druge datoteke i grupe datoteka pomoću iste sheme particija i funkcije.

  • Jednu od tih particija prebacite u drugu tablicu, a zatim odsijecate drugu tablicu.

  • Možete odbaciti datoteke i grupe datoteka koje su mapirani na zamijenjena particija.

  • U drugoj tablici pokrenete naredbu SELECT.

U ovom scenariju prikazat će se sljedeća poruka o pogrešci:

MSG 606, razina 21, nedosljednost stanja 1Metapodataka. ID grupe grupu datoteka<ID grupe grupu datoteka> naveden za tablicu <naziv tablice> ne postoji. Pokrenite DBCC CHECKDB ili CHECKCATALOG.

Kada pokrenete DBCC CHECKDB/CHECKTABLE, prikazat će vam se sljedeća poruka o pogrešci:

Nije moguće obraditi indeks <indexname> tablice <tablename> budući da grupa grupu datoteka (ID grupe datoteka <datoteka>) nije valjana.

Rješenje

Problem je prvi put riješen u sljedećim kumulativnim ažuriranjima sustava SQL Server:

Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Preporučujemo da preuzmete i instalirate najnovija kumulativna ažuriranja za SQL Server:

Napomena Ovim se ispravkom sprječava i buduća pojava tog problema. Ako već nailazite na taj problem, izvezite podatke u svježu bazu podataka bez ikakvih postojećih oštećenja metapodataka. Da biste to učinili, slijedite ove korake:

  1. Da biste odredili ima li particija datoteka koja nije valjana, pokrenite sljedeći upit da biste provjerili vraća li rezultat:

    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. Stvaranje tablice s oštećenjem metapodataka ponovno je vidljivo. Ako upit iz prvog koraka vraća rezultat, particija s oštećenih metapodataka sprječava vas da pogledate (Odaberite * iz) bilo koje retke u tablici. Da biste zaobišli taj problem, uklonite tu lošu particiju.Napomena Loša particija trebala bi biti prazna. U suprotnom, datoteke i grupa datoteka u kojoj se nalazi nisu mogli biti odbačene ili izbrisane. Da biste to učinili, premjestite ovu particiju u drugu tablicu koja koristi istu shemu particioniranja. Ova tablica može biti samo lažna tablica. Upotrijebite container_id iz upita u prvom koraku, a zatim ga Uskladi s partition_id iz sys. particija. (Provjerite jeste li zabilježili partition_number.) Pomoću partition_number možete izvesti PARTICIJU za prebacivanje promjena tablice iz tablice koja je nevidljiva u kartici pseudo. U tablici lažna tablica trebala bi biti ista skupa stupaca i koristiti istu shemu particija. Upit da biste pronašli nedosljedno dijeljenje može nalikovati na sljedeće:

    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. Kopirajte podatke iz prethodno nevidljive tablice u novu bazu podataka.

Status

Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.