Ripristino a fasi e indici full-text

 Le informazioni contenute in questo argomento sono pertinenti solo per i database che includono più filegroup e, nel caso di database che utilizzano il modello di recupero con registrazione minima, solo per i filegroup di sola lettura.

Gli indici full-text vengono archiviati nei filegroup del database e possono essere influenzati dall'esecuzione di un ripristino a fasi. Se l'indice full-text si trova nello stesso filegroup di uno o più dati della tabella associati, il ripristino a fasi verrà eseguito nel modo previsto.

Nota

Per visualizzare l'ID del filegroup che contiene un indice full-text, selezionare la colonna data_space_id di sys.fulltext_indexes.

Indici full-text e tabelle in filegroup distinti

Se un indice full-text si trova in un filegroup distinto rispetto ai dati delle tabelle associati, il funzionamento del ripristino a fasi dipenderà dal primo filegroup di cui viene eseguito il ripristino e per cui viene attivata la modalità in linea.

  • Se il ripristino e l'attivazione della modalità in linea vengono eseguiti prima per il filegroup contenente l'indice full-text e quindi per il filegroup contenente i dati delle tabelle associati, il funzionamento della ricerca full-text è quello previsto non appena l'indice full-text è in linea.

  • Se il ripristino e l'attivazione della modalità in linea vengono eseguiti prima per il filegroup contenente i dati delle tabelle e poi per il filegroup contenente l'indice full-text, è possibile che il comportamento della funzionalità full-text risulti diverso. Questa situazione si verifica poiché le istruzioni Transact-SQL che attivano un popolamento, ricostruiscono il catalogo o riorganizzano il catalogo hanno esito negativo fino a quando non viene riattivata la modalità in linea per l'indice. Tali istruzioni includono CREATE FULLTEXT INDEX, ALTER FULLTEXT INDEX, DROP FULLTEXT INDEX e ALTER FULLTEXT CATALOG.

    In questo caso, considerare in particolare i fattori seguenti:

    • Se all'indice full-text è associato il rilevamento delle modifiche, le istruzioni DML eseguite dall'utente avranno esito negativo fino a quando non viene attivata la modalità in linea per il filegroup. Anche l'operazione di eliminazione avrà esito negativo se il filegroup dell'indice non è in linea.

    • Indipendentemente dal rilevamento delle modifiche, le query full-text hanno esito negativo perché l'indice non è disponibile. Se si tenta di eseguire una query full-text quando il filegroup contenente l'indice full-text non è in linea, viene restituito un errore.

    • Le funzioni di stato, ad esempio FULLTEXTCATALOGPROPERTY, hanno esito positivo solo quando non devono accedere all'indice full-text. L'accesso ai metadati full-text in linea, ad esempio, ha esito positivo, mentre uniquekeycount, itemcount ha esito negativo.

    Dopo il ripristino e l'attivazione della modalità in linea per il filegroup dell'indice full-text, i dati dell'indice e delle tabelle risultano coerenti.

Non appena il filegroup della tabella di base e il filegroup dell'indice full-text sono in linea, qualsiasi popolamento full-text sospeso viene ripreso.