MSSQLSERVER_7995MSSQLSERVER_7995

DettagliDetails

Nome prodottoProduct Name SQL ServerSQL Server
ID eventoEvent ID 79957995
Origine eventoEvent Source MSSQLSERVERMSSQLSERVER
ComponenteComponent SQLEngineSQLEngine
Nome simbolicoSymbolic Name DBCC2_SYSTEM_CATALOGS_CORRUPTDBCC2_SYSTEM_CATALOGS_CORRUPT
Testo del messaggioMessage Text Database 'NOMEDB': impossibile eseguire ulteriori elaborazioni DBCC NOMECONTROLLO a causa di errori di consistenza nei cataloghi di sistema.Database 'DBNAME': consistency errors in system catalogs prevent further DBCC CHECKNAME processing.

SpiegazioneExplanation

Il processo DBCC CHECKDB è composto dalle tre fasi seguenti:The DBCC CHECKDB process consists of the following three stages:

  1. Controlli di allocazione,Allocation checks. che equivalgono all'esecuzione di DBCC CHECKALLOC.This is equivalent to running DBCC CHECKALLOC.

  2. Controlli di consistenza delle tabelle di sistema,System tables consistency checks. che equivalgono all'esecuzione di DBCC CHECKTABLE in un elenco di piccole dimensioni di tabelle di base di sistema necessarie.This is equivalent to running DBCC CHECKTABLE on a small list of necessary system base tables.

  3. Controllo di consistenza dei database completi.Complete database consistency checks.

L'errore MSSQLEngine_7995 viene generato nella fase 2 e indica che DBCC CHECKDB ha rilevato errori che il comando non è in grado di correggere oppure che l'istruzione REPAIR non è stata specificata.MSSQLEngine_7995 is raised in stage 2 to indicate that DBCC CHECKDB has found errors that the command cannot repair or that REPAIR has not been specified. DBCC CHECKDB non è in grado di continuare con la fase 3 poiché le tabelle di base di sistema in questione archiviano i metadati di tutti gli oggetti nel database oppure sono danneggiate.DBCC CHECKDB cannot continue with stage 3 because either the system base tables in question store the metadata for all objects in the database or the system base tables are corrupted.

Azione dell'utenteUser Action

Individuare errori hardwareLook for Hardware Failure

Eseguire gli strumenti di diagnostica hardware e risolvere eventuali problemi.Run hardware diagnostics and correct any problems. Esaminare inoltre il registro di sistema di MicrosoftMicrosoft Windows e il registro delle applicazioni, nonché il log degli errori di SQL ServerSQL Server per stabilire se l'errore è dovuto a un problema hardware.Also examine the MicrosoftMicrosoft Windows system and application logs and the SQL ServerSQL Server error log to see whether the error occurred as the result of hardware failure. Risolvere tutti i problemi relativi all'hardware indicati nei log.Fix any hardware-related problems that are contained in the logs.

In caso di problemi persistenti che provocano il danneggiamento dei dati, provare a sostituire i vari componenti hardware per isolare il problema.If you have persistent data corruption problems, try to swap out different hardware components to isolate the problem. Verificare che nel sistema non sia abilitata la memorizzazione nella cache in scrittura sul controller del disco.Check to make sure that the system does not have write-caching enabled on the disk controller. Se si ritiene che il problema sia dovuto alla memorizzazione nella cache in scrittura, rivolgersi al fornitore dell'hardware.If you suspect write-caching to be the problem, contact your hardware vendor.

Infine, potrebbe essere conveniente passare a un nuovo sistema hardware.Finally, you might find it useful to switch to a new hardware system. A tale scopo può essere necessario riformattare le unità disco e reinstallare il sistema operativo.This switch may include reformatting the disk drives and reinstalling the operating system.

Eseguire un ripristino da backupRestore from Backup

Se il problema non è correlato all'hardware ed è disponibile un backup valido noto, ripristinare il database dal backup.If the problem is not hardware related and a known clean backup is available, restore the database from the backup.

Eseguire DBCC CHECKDBRun DBCC CHECKDB

Se non è disponibile un backup valido, eseguire DBCC CHECKDB senza la clausola REPAIR per determinare l'entità del danno.If no clean backup is available, run DBCC CHECKDB without a REPAIR clause to determine the extent of the corruption. Verrà automaticamente suggerita la clausola REPAIR da usare.DBCC CHECKDB will recommend a REPAIR clause to use. Eseguire quindi DBCC CHECKDB con la clausola REPAIR appropriata per correggere il database.Then, run DBCC CHECKDB with the appropriate REPAIR clause to repair the corruption.

Attenzione

Se non si è certi dell'effetto prodotto sui dati dall'esecuzione di DBCC CHECKDB con la clausola REPAIR, contattare il personale del supporto tecnico prima di eseguire l'istruzione.If you are not sure what effect DBCC CHECKDB with a REPAIR clause has on your data, contact your primary support provider before running this statement.

Se l'esecuzione di DBCC CHECKDB con una clausola REPAIR non consente di risolvere il problema, contattare il personale del supporto tecnico.If running DBCC CHECKDB with one of the REPAIR clauses does not correct the problem, contact your primary support provider.

Risultati dell'esecuzione delle opzioni REPAIRResults of Running REPAIR Options

Esaminare l'elenco di errori per vedere quale effetto avrà l'istruzione REPAIR su ognuno di loro.Examine the list of errors to see what REPAIR will do for each.