MSSQLSERVER_2534MSSQLSERVER_2534

In questo argomento si applica a: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

DettagliDetails

Nome prodottoProduct Name SQL ServerSQL Server
ID eventoEvent ID 25342534
Origine eventoEvent Source MSSQLSERVERMSSQLSERVER
ComponenteComponent SQLEngineSQLEngine
Nome simbolicoSymbolic Name DBCC_PAGE_ALLOCATED_TO_OTHER_OBJECTDBCC_PAGE_ALLOCATED_TO_OTHER_OBJECT
Testo del messaggioMessage Text Errore di tabella: la pagina P_ID, la cui intestazione indica che è allocata all'ID di oggetto ID O_ID, con ID di indice I_ID, ID di partizione PN_ID e ID di unità di allocazione ID A_ID (tipo TYPE), è allocata da un altro oggetto.Table error: Page P_ID, whose header indicates it as being allocated to object ID O_ID, index ID I_ID, partition ID PN_ID, alloc unit ID A_ID (type TYPE), is allocated by another object.

SpiegazioneExplanation

L'intestazione della pagina contiene l'ID di unità di allocazione A_ID, ma nessuna delle pagine della mappa di allocazione degli indici (IAM, Index Allocation Map) relativa a tale unità di allocazione alloca la pagina.The header of the page contains the allocation unit ID, A_ID, but none of the Index Allocation Map (IAM) pages of that allocation unit allocates the page. L'intestazione della pagina contiene pertanto l'ID di unità di allocazione errato e la pagina restituirà un corrispondente errore MSSQLServer_2533 in cui viene indicato l'ID di unità di allocazione a cui la pagina è effettivamente allocata.Therefore, the header of the page contains the wrong allocation unit ID, and the page will have a matching MSSQLServer_2533 error that corresponds to the allocation unit ID to which the page is actually allocated.

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

L'istruzione REPAIR ricompila l'indice se esistente.REPAIR will rebuild the index if an index exists.

Attenzione

L'esecuzione di REPAIR per l'errore MSSQLSERVER_2533 corrispondente dealloca la pagina prima della ricompilazione.Running REPAIR for the matching MSSQLSERVER_2533 error deallocates the page before the rebuild.

Attenzione

L'operazione di correzione può comportare la perdita di dati.This repair may cause data loss.