Prijavite se pomoću Microsoft naloga
Prijavite se ili kreirajte nalog.
Zdravo,
Izaberite drugi nalog.
Imate više naloga
Odaberite nalog pomoću kojeg želite da se prijavite.

Simptomi

Razmotrite sledeći scenario:

  • Imate dve tabele sa particijama u sistemu Microsoft SQL Server 2014, a particije prve tabele mapirane su u različite datoteke i grupe datoteka pomoću iste šeme particija i funkcije.

  • Jednu od tih particija prebacite na drugu tabelu, a zatim skratite drugu tabelu.

  • Otpustite datoteke i grupe datoteka koje su mapirane na zamenjenu particiju.

  • Pokrenete izvod SELECT na drugoj tabeli.

U ovom scenariju dobijate sledeću poruku o grešci:

Msg 606, nivo 21, nedoslednost države 1Metadata. ID datoteke<datoteke> naveden za ime <tabele> ne postoji. Pokrenite DBCC CHECKDB ili CHECKCATALOG.

Kada pokrenete DBCC CHECKDB/CHECKTABLE, dobijate sledeću poruku o grešci:

Nije moguće obraditi indeks <IndexName> tabele <TableName> zato što je grupa datoteka (FileGroup ID <FileGroupNumber>) nevažeća.

Rešenje

Problem je prvi put otklonjen u sledećim kumulativnim ispravkama sistema SQL Server:

Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Preporučujemo da preuzmete i instalirate najnovije kumulativne ispravke za SQL Server:

Napomena Ova ispravka samo sprečava buduća pojavljivanja ovog problema. Ako već imate ovaj problem, izvezite podatke u svežu bazu podataka bez postojećeg oštećenja metapodataka. Da biste to uradili, sledite ove korake:

  1. Da biste utvrdili da li particija ima nevažeću grupu datoteka, pokrenite sledeći upit da biste videli da li daje rezultat:

    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. Ponovo učinite tabelu sa oštećenjem metapodataka. Ako upit iz koraka 1 vrati rezultat, particija sa oštećenim metapodacima sprečava prikazivanje (izaberite * iz) bilo kog reda u tabeli. Da biste otklonili ovaj problem, uklonite tu lošu particiju.Napomena Loša particija bi trebalo da bude prazna. U suprotnom, datoteke i grupa datoteka u kojima se bila nisu mogli biti ispušteni ili izbrisani. Da biste to uradili, premestite ovu particiju u drugu tabelu koja koristi istu šemu particija. Ovaj sto moћe da bude samo glupi sto. Koristite container_id upita u koraku 1 i uparite ga sa partition_id sys.particija. (Uverite se da ste zanemeli partition_number.) Koristite partition_number da biste izvršili alter TABLE SWITCH PARTICIJU iz tabele koja je bila neopoziva u lažnu tabelu. Lažna tabela bi trebalo da ima isti skup kolona i da koristi istu šemu particija. Upit za pronalaženje nedosledne particije može da liči na sledeću:

    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 nepoželjane tabele u novu bazu podataka.

Status

Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom jezika?
Šta je uticalo na vaše iskustvo?

Hvala vam na povratnim informacijama!

×