Momentan sunteți offline, așteptați să vă reconectați la internet

Browserul dvs. nu este acceptat

Trebuie să vă actualizați browserul pentru a utiliza site-ul.

Actualizați la cea mai recentă versiune Internet Explorer

"Msg 8992" mesaj de eroare şi metadatele inconsistente în SQL Server sistem de cataloage

IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât şi articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuşi, un articol tradus automat nu este întotdeauna perfect. Acesta poate conţine greşeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greşeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conţinutului sau de utilizarea traducerii necorespunzătoare de către clienţii nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 2787112
Simptome
Vă confruntaţi cu unul dintre următoarele probleme în Microsoft SQL Server.

Numarul 1

Presupune să creaţi o inconsecvenţă în sistem de metadate, când actualizaţi manual tabelele de sistem într-o bază acoperire de date SQL Server. Apoi, încercaţi să executaţi comanda DBCC CHECKDB pentru a identifica inconsistenţe în sistem de metadate tabele. În această situaţie, este returnat următorul mesaj de eroare:
MSG 8992, nivel 16, stat 1, linia 1
Verificaţi Catalogul Msg 3853, stat 1: Atribut (referenced_object_id =ID obiect>, key_index_id =Index ID>) de rând (object_id =ID obiect>) în sys.foreign_keys nu are un rând de potrivire (object_id =ID obiect>, index_id =Index ID>) în sys.indexes.

Numarul 2

Când actualizaţi tabelele de sistem din SQL server, primiţi un mesaj de avertizare care seamănă cu următorul:
Avertisment: Sistem tabel IDID tabel> a fost actualizat direct în baza acoperire de date de IDID-ul bazei acoperire de date> şi memoria cache coerenţa nu poate au fost menţinute. SQL Server trebuie să fie repornit.
În această situaţie, dacă executaţi o comanda DBCC CHECKDB sau DBCC CHECKCATALOG , mesajul de avertizare, precum și data și ora la care în cataloage de sistem au fost modificate ultima sunt returnate. În plus, următorul mesaj de avertizare este, de asemenea, înregistrate în jurnalul de SQL Server:
Avertisment: Catalogul de sistem au fost actualizate direct în baza acoperire de date de IDID-ul bazei acoperire de date>, cel mai recent, laJurnal de marcă de timp>.
Notă Această informaţie este stocată în antetul acoperire de date şi persistă pentru durata de viaţă a bazei acoperire de date.
Cauză
Această problemă se produce deoarece SQL Server nu acceptă actualizări manual pentru tabele de sistem. Tabelele de sistem trebuie actualizată numai de motorul de baze acoperire de date SQL Server.

Notă Puteţi vizualiza datele în tabele de sistem prin utilizarea vizualizărilor de Catalogul de sistem.
Rezoluţie
Pentru a rezolva această problemă, utilizaţi una dintre următoarele metode.

Metoda 1

Dacă aveţi o copie curată de baza acoperire de date, restaurarea bazei acoperire de date din copia de rezervă.

Notă Această metodă funcţionează numai în cazul în care copia de rezervă nu are incoerenţe în metadate.

Metoda 2

Dacă nu se poate restaura baza acoperire de date dintr-o copiere de rezervă, exporta datele şi obiectele la o bază acoperire de date. Apoi, se transferă conţinutul bazei acoperire de date actualizate manual în noua bază acoperire de date. NotăNu se poate repara inconsistenţe în sistem de cataloage utilizând opţiunile de reparare în comenzile DBCC CHECKDB . Prin urmare, deoarece comanda nu se poate repara metadate corupţiei, comanda nu oferă orice nivel recomandat de reparare.
Informaţii suplimentare
Pentru mai multe informaţii despre regula consilier de centrul de sistem care detectează modificările efectuate la sistemul de cataloage, faceţi clic pe următorul număr de articol pentru a vedea articolul în bază de cunoştinţe Microsoft:
2688307 ID eveniment 17659 şi event ID 3859 sunt înregistrate când actualizaţi tabelele de sistem într-o bază acoperire de date SQL Server
Următorul tabel listează erorile care indică inconsistenţe în sistem de cataloage. De obicei, următoarele erori sunt generate împreună cu un cod de eroare "8992".
Eroaremesaj text
3851Un rând nevalid (% ls) a fost găsit în sistemul de masă sys.%ls%ls
3852Rând (% ls) în sys.%ls%ls nu are un rând potrivire (% ls) în sys.%ls%ls.
3853Atribut (% ls) de rând (% ls) în sys.%ls%ls nu are un rând potrivire (% ls) în sys.%ls%ls.
3854Atribut (% ls) de rând (% ls) în sys.%ls%ls are un rând potrivire (% ls) in sys.%ls%ls care nu este valid.
3855Atribut (% ls) există fără rând (% ls) în sys.%ls%ls.
3856Atribut (% ls) există, dar ar trebui să nu pentru rând (% ls) în sys.%ls%ls.
3857Atributul (% ls) este necesar, dar lipsește pentru rând (% ls) în sys.%ls%ls.
3858Atributul (% ls) de rând (% ls) în sys.%ls%ls are o valoare nevalidă.
3859Avertisment: Catalogul de sistem au fost actualizate direct în baza acoperire de date de ID % d, cel mai recent la % S_DATE.
Următoarele sunt exemple de mesaje de eroare care poate primi atunci când vă confruntaţi cu aceste probleme:
Server: Msg 2513, nivel 16, stat 1, linia 1
Eroare de masă: ID obiectID obiect> (obiect "ID obiect> ") nu se potriveşte între"SYSCOLUMNS"şi"SYSOBJECTS".

MSG 3853, nivel 16, stat 1, linia 2
Atribut (object_id =ID obiect>) de rând (object_id =ID obiect>, index_id =Index ID>) în sys.indexes nu are un rând de potrivire (object_id =ID obiect>) în sys.objects.

MSG 3855, nivel 16, stat 1, linia 2
Atribut (data_space_id = 1) există un rând (object_id =ID obiect>, index_id =Index ID>) în sys.indexes.

MSG 3852, nivel 16, stat 1, linia 1
Rând (object_id =ID obiect>, index_id = 1) în sys.indexes (tip = U) nu are un rând de potrivire (clasa = 0, objid =ID obiect>, indexid =Index ID>, rowsetnum = 1) în sys.sysrowsetrefs.

MSG 3852, nivel 16, stat 1, linia 1
Rând (object_id =ID obiect>, index_id = 1) în sys.indexes (tip = U) nu are un rând de potrivire (clasa = 0, objid =ID obiect>, indexid =Index ID>, rowsetnum = 1) în sys.sysrowsetrefs.

MSG 3853, nivel 16, stat 1, linia 1
Atribut (default_object_id =ID obiect>) de rând (object_id =ID obiect>, column_id =Coloană ID>) în sys.columns nu are un rând de potrivire (object_id =ID obiect>) în sys.objects.

MSG 8992, nivel 16, stat 1, linia 1
Verificaţi Catalogul Msg 3853, stat 1: Atribut (object_id =ID obiect>) de rând (object_id =ID obiect>, column_id =Coloană ID>) în sys.columns nu are un rând de potrivire (object_id =ID obiect>) în sys.objects.

DBCC executarea finalizat. Dacă DBCC imprimat mesajele de eroare, contactați administrator de sistem.
În plus, este posibil să primiţi un "Msg 211" mesaj de eroare care seamănă cu următoarele, dacă tu a verifica consistenţa unei baze acoperire de date prin rularea unui comenzii CHECKDB .
MSG 211, nivelul 23, stat 230, linia 1
Schemă posibil corupţiei. A alerga DBCC CHECKCATALOG.

MSG 0, nivelul de 20, stat 0, linia 0
Eroare gravă pe comanda curentă. Rezultatele, dacă este cazul, ar trebui să fie ignorate
Acest mesaj de eroare indică, de asemenea, că sistemul de cataloage conţine metadate inconsistente.

NotăDacă verificaţi consistenţa unei baze acoperire de date care a fost actualizat la SQL Server 2000 prin executarea unei comenzi de CHECKDB , comanda poate returna o eroare "8992" cod şi raportul incoerenţe în sistemul de cataloage. Acest comportament se produce deoarece comanda DBCC CHECKDB în SQL Server 2000 nu include funcţionalitatea de comanda DBCC CHECKCATALOG . Prin urmare, tu ar detectează aceste probleme în SQL Server 2000 excepţia cazului în care aţi executat comanda DBCC CHECKCATALOG .

Pentru mai multe informaţii despre cum să utilizaţi comanda DBCC CHECKDB , du-te la următorul site Web Microsoft:
Referinţe
Pentru informaţii suplimentare despre problemele care pot apărea atunci când un tabel SQL Server sistem manual este actualizat, faceţi clic pe următorul număr de articol pentru a vedea articolul în bază de cunoştinţe Microsoft:

2688307 ID eveniment 17659 şi event ID 3859 sunt înregistrate când actualizaţi tabelele de sistem într-o bază acoperire de date SQL Server


Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 2787112 - Ultima examinare: 02/04/2013 20:28:00 - Revizie: 3.0

  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Standard
  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2787112 KbMtro
Feedback
pt" async=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("