Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Sintomi

Considerare lo scenario descritto di seguito:

  • Sono disponibili due tabelle partizionate in Microsoft SQL Server 2014 e le partizioni della prima tabella sono mappate a file e gruppi di dati diversi usando lo stesso schema di partizione e la stessa funzione.

  • Si passa una di queste partizioni alla seconda tabella e si tronca la seconda tabella.

  • Si eliminano file e gruppi di dati mappati alla partizione commutata.

  • Si esegue un'istruzione SELECT nella seconda tabella.

In questo scenario viene visualizzato il messaggio di errore seguente:

Msg 606, livello 21, stato 1Metadata incoerenza. ID filegroup<ID filegroup> specificato per la tabella <nome tabella> non esiste. Eseguire DBCC CHECKDB o CHECKCATALOG.

Quando si esegue DBCC CHECKDB/CHECKTABLE, viene visualizzato il messaggio di errore seguente:

Non è possibile elaborare l'indice <indexname> della tabella <TableName> poiché il filegroup (ID filegroup <FileGroupNumber>) non è valido.

Risoluzione

Il problema è stato risolto per la prima volta nei seguenti aggiornamenti cumulativi di SQL Server:

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. È consigliabile scaricare e installare gli aggiornamenti cumulativi più recenti per SQL Server:

Nota Questa correzione impedisce solo le occorrenze future del problema. Se si sta già verificando questo problema, esportare i dati in un nuovo database senza danneggiare i metadati esistenti. A tal fine, attenersi alla seguente procedura:

  1. Per determinare se una partizione ha un filegroup non valido, eseguire la query seguente per verificare se restituisce un risultato:

    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. Rendere di nuovo visibile la tabella con il danneggiamento dei metadati. Se la query del passaggio 1 restituisce un risultato, la partizione con metadati danneggiati impedisce la visualizzazione (selezionare * da) tutte le righe della tabella. Per risolvere il problema, rimuovere la partizione errata.Nota La partizione non valida deve essere vuota. In caso contrario, i file e il filegroup in cui si trovavano non potevano essere rimossi o eliminati. A questo scopo, Trasferisci la partizione in un'altra tabella che usa lo stesso schema di partizionamento. Questa tabella può essere solo una tabella fittizia. Usare la container_id della query nel passaggio 1 e confrontarla con il partition_id da sys. partizioni. Verificare che sia nota la partition_number. Usare la partition_number per eseguire una partizione di cambio tabella ALTERAta dalla tabella che non è possibile visualizzare nella tabella fittizia. La tabella fittizia dovrebbe avere lo stesso set di colonne e usare lo stesso schema di partizione. La query per trovare la partizione incoerente può essere simile alla seguente:

    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. Copiare i dati dalla tabella precedente non visualizzabile nel nuovo database.

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×