MSSQL 2016: errore di tabella: il test non è riuscito. Nello slot l'offset specificato è sovrapposto alla riga precedente

Microsoft.SQLServer.2016.Table_error___Test_failed._Slot_overlaps_with_the_prior_row_1_5_Rule (Rule)

L'offset dello slot S_ID nella matrice di offset degli slot non è maggiore o uguale alla fine dello slot precedente, quindi gli slot si sovrappongono. TEST è 'sorted [i].offset >= max', dove il valore lhs dell'espressione è ADDRESS e 'max' è la fine dello slot precedente.

Knowledge Base article:

Cause

L'offset dello slot S_ID nella matrice di offset degli slot non è maggiore o uguale alla fine dello slot precedente, quindi gli slot si sovrappongono. TEST è 'sorted [i].offset >= max', dove il valore lhs dell'espressione è ADDRESS e 'max' è la fine dello slot precedente.

Soluzioni

ERRORE HARDWARE

Eseguire gli strumenti di diagnostica hardware e risolvere eventuali problemi. Esaminare inoltre i registri di sistema e delle applicazioni di Microsoft Windows NT nonché il log degli errori di SQL Server per verificare se l'errore è stato causato da un guasto dell'hardware. Risolvere tutti gli eventuali problemi relativi all'hardware.

Se i problemi di danneggiamento dei dati persistono, provare a sostituire i vari componenti hardware per isolare il problema. Verificare che nel sistema non sia stata abilitata la memorizzazione nella cache in scrittura per il controller del disco. Se si ritiene che il problema possa essere questo, contattare il fornitore dell'hardware.

Infine, potrebbe essere utile passare a un sistema hardware completamente nuovo, eseguendo anche la riformattazione delle unità disco e la reinstallazione del sistema operativo.

RIPRISTINO DAL BACKUP

Se il problema non è correlato all'hardware ed è disponibile un backup valido noto, ripristinare il database dal backup.

DBCC CHECKDB

Se non è disponibile una copia di backup valida, eseguire DBCC CHECKDB senza una clausola di correzione per determinare l'entità del problema. DBCC CHECKDB consiglierà una clausola di correzione da usare. Eseguire quindi DBCC CHECKDB con la clausola di correzione appropriata per correggere il problema.

ATTENZIONE: se non si è certi dell'effetto sui dati provocato dall'esecuzione di DBCC CHECKDB con una clausola di correzione, contattare il supporto tecnico prima di eseguire questa istruzione.

La correzione dipende dal tipo di pagina (vedere i tipi di pagina elencati nell'errore 8938):

Qualsiasi tipo di pagina con un ID di pagina NULL:

Deallocare la pagina e ricompilare gli indici di cui la pagina faceva parte.

Qualsiasi pagina non di allocazione:

Deallocare la pagina e ricompilare gli indici di cui la pagina faceva parte.

Pagina GAM, SGAM o ML_MAP_PAGE (se è specificata l'opzione di correzione non documentata):

Riformattare e ricompilare la pagina.

Pagina DIFF_MAP_PAGE:

Riformattare la pagina e cancellare la mappa di bit.

Impostare il database in modo che non disponga di un backup completo, per impedire di eseguire backup differenziali finché non viene terminato un backup.

Pagina PFS_PAGE e tutte le altre pagine di allocazione:

Non è possibile eseguire alcuna correzione.

ATTENZIONE: l'operazione di correzione può comportare la perdita di dati.

Se l'esecuzione di DBCC CHECKDB con una clausola di correzione non consente di risolvere il problema, rivolgersi al servizio di supporto tecnico.

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Abilitato

Abilita o disabilita il flusso di lavoro.

Priorità

Definisce la priorità dell'avviso.

1

Gravità

Definisce la gravità dell'avviso.

1

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID8942
Event Source$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2016: errore di tabella: il test non è riuscito. Nello slot l'offset specificato è sovrapposto alla riga precedente
{0}
Event LogApplication
CommentMom2016ID='{9BCC85D0-C711-4365-A7EC-918096505BDA}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2016.Table_error___Test_failed._Slot_overlaps_with_the_prior_row_1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{9BCC85D0-C711-4365-A7EC-918096505BDA}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>8942</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2016.Table_error___Test_failed._Slot_overlaps_with_the_prior_row_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>