Backup e ripristino: interoperabilità e coesistenza (SQL Server)Backup and Restore: Interoperability and Coexistence (SQL Server)

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

In questo argomento vengono fornite alcune considerazioni sul backup e il ripristino di alcune funzionalità di SQL Server 2017SQL Server 2017,This topic describes backup-and-restore considerations for several features in SQL Server 2017SQL Server 2017. tra cui ripristino dei file e avvio del database, ripristino online e indici disabilitati, mirroring del database, ripristino a fasi e indici full-text.These features include: file restore and database startup, online restore and disabled indexes, database mirroring, and piecemeal restore and full-text indexes.

Contenuto dell'argomento:In this Topic:

Ripristino dei file e avvio del databaseFile Restore and Database Startup

Le informazioni contenute in questa sezione sono rilevanti solo per i database di SQL ServerSQL Server che includono più filegroup.This section is relevant only for SQL ServerSQL Server databases that have multiple filegroups.

Nota

Quando un database viene avviato, viene eseguito un recupero e attivata la modalità online solo per i filegroup i cui file erano online al momento della chiusura del database.When a database is started, only filegroups whose files were online when the database was closed are recovered and brought online.

Se si verifica un problema durante l'avvio del database, il recupero non riesce e il database viene contrassegnato come sospetto.If a problem is encountered during database startup, recovery fails, and the database is marked as SUSPECT. Se è possibile isolare uno o più file in cui è presente il problema, l'amministratore del database può attivare la modalità offline per i file e tentare di riavviare il database.If the problem can be isolated to a file or files, the database administrator can take the files offline and try to restart the database. Per attivare la modalità offline per un file, è possibile utilizzare l'istruzione ALTER DATABASE seguente:To take a file offline, you can use the following ALTER DATABASE statement:

ALTER DATABASE database_name MODIFY FILE (NAME ='filename', OFFLINE)ALTER DATABASE database_name MODIFY FILE (NAME ='filename', OFFLINE)

Se l'avvio ha esito positivo, tutti i filegroup che includono un file offline rimangono in modalità offline.If startup succeeds, any filegroup that contains an offline file remains offline.

Ripristino online e indici disabilitatiOnline Restore and Disabled Indexes

Le informazioni contenute in questa sezione sono rilevanti solo per i database che includono più filegroup e, in base al modello di recupero con registrazione minima, almeno un filegroup di sola lettura.This section is relevant only for databases that have multiple filegroups and, for the simple recovery model, at least one read-only filegroup.

In questi casi, se un database è online, è possibile creare, eliminare, abilitare o disabilitare l'indice solo se tutti i filegroup che contengono una parte qualsiasi dell'indice sono online.In these cases, when a database is online, the index can be created, dropped, enabled or disabled only if all filegroups holding any part of the index are online.

Per informazioni sul ripristino di filegroup offline, vedere Ripristino in linea(SQL Server).For information about restoring offline filegroups, see Online Restore (SQL Server).

Mirroring del database e procedure di backup e ripristinoDatabase Mirroring and Backup and Restore

Le informazioni contenute in questa sezione sono rilevanti solo per i database basati sul modello di recupero con registrazione completa che includono più filegroup.This section is relevant only for full-model databases that have multiple filegroups.

Nota

La funzionalità del mirroring di database verrà rimossa in una delle prossime versioni di Microsoft SQL ServerSQL Server.The database mirroring feature will be removed in a future version of Microsoft SQL ServerSQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. In alternativa, usare Gruppi di disponibilità Always OnAlways On availability groups .Use Gruppi di disponibilità Always OnAlways On availability groups instead.

Il mirroring del database è una soluzione per aumentare la disponibilità del database.Database mirroring is a solution for increasing database availability. Il mirroring viene implementato a livello di singolo database e funziona solo con database che utilizzano il modello di recupero con registrazione completa.Mirroring is implemented on a per-database basis and works only with databases that use the full recovery model. Per altre informazioni, vedere Mirroring del database (SQL Server).For more information, see Database Mirroring (SQL Server).

Nota

Per distribuire le copie di un subset dei filegroup in un database, è necessario replicare solo gli oggetti dei filegroup che si desidera copiare in altri server.To distribute copies of a subset of the filegroups in a database, use replication: replicate only those objects in the filegroups you want to copy to other servers. Per altre informazioni sulla replica, vedere Replica di SQL Server.For more information about replication, see SQL Server Replication.

Creazione del database mirrorCreating the Mirror Database

Il database mirror viene creato ripristinando i backup del database principale nel server mirror senza eseguirne il recupero (WITH NORECOVERY).The mirror database is created by restoring, WITH NORECOVERY, backups of the principal database on the mirror server. Il ripristino deve mantenere lo stesso nome del database.The restore must keep the same database name. Per altre informazioni, vedere Preparare un database mirror per il mirroring (SQL Server),For more information, see Prepare a Mirror Database for Mirroring (SQL Server).

È possibile creare il database mirror utilizzando una sequenza di ripristino a fasi, se supportata.You can create the mirror database by using use a piecemeal restore sequence, where supported. Non è tuttavia possibile avviare l'esecuzione del mirroring fino a quando non sono stati ripristinati tutti i filegroup e, in genere, fino a quando non sono stati ripristinati i backup del log necessari per portare il database mirror a un punto nel tempo sufficientemente vicino al database principale.However, you cannot start mirroring until you have restored all the filegroups and, typically, restored log backups to get the mirror database close enough in time with the principal database. Per altre informazioni, vedere Ripristini a fasi (SQL Server).For more information, see Piecemeal Restores (SQL Server).

Restrizioni relative a operazioni di backup e ripristino durante il mirroringRestrictions on Backup and Restore During Mirroring

Mentre è attiva una sessione di mirroring del database, vengono applicate le restrizioni seguenti:While a database mirroring session is active, the following restrictions apply:

  • Non sono consentite operazioni di backup e ripristino del database mirror.Backup and restore of the mirror database are not allowed.

  • È consentito il backup del database principale, ma non è consentito utilizzare BACKUP LOG WITH NORECOVERY.Backup of the principal database is allowed, but BACKUP LOG WITH NORECOVERY is not allowed.

  • Il ripristino del database principale non è consentito.Restoring the principal database is not allowed.

Ripristino a fasi e indici full-textPiecemeal Restore and Full-Text Indexes

Le informazioni contenute in questa sezione sono rilevanti solo per i database che includono più filegroup e, in base al modello di recupero con registrazione minima, solo per i filegroup in sola lettura.This section is relevant only for databases that contain multiple filegroups and, for the simple-model databases, only for read-only filegroups.

Gli indici full-text vengono archiviati nei filegroup del database e possono essere influenzati dall'esecuzione di un ripristino a fasi.Full-text indexes are stored in database filegroups and can be affected by a piecemeal restore. 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.If the full-text index resides in the same filegroup as any of the associated table data, piecemeal restore works as expected.

Nota

Per visualizzare l'ID del filegroup che contiene un indice full-text, selezionare la colonna data_space_id di sys.fulltext_indexes.To view the filegroup ID of the filegroup that contains a full-text index, select the data_space_id column of sys.fulltext_indexes.

Indici full-text e tabelle in filegroup distintiFull-Text Indexes and Tables in Separate Filegroups

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à online.If a full-text index resides in a separate filegroup from all of the associated table data, the behavior of piecemeal restore depends on which of the filegroups is restored and brought online first:

  • Se il ripristino e l'attivazione della modalità online 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 è online.If the filegroup that contains the full-text index is restored and brought online before the filegroups that contain the associated table data, full-text search works as expected as soon as the full-text index is online.

  • Se il ripristino e l'attivazione della modalità online 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.If the filegroup that contains the table data is restored and brought online before the filegroup that contains the full-text index, full-text behavior might be affected. Questa situazione si verifica poiché le istruzioni Transact-SQLTransact-SQL che attivano un popolamento, ricompilano il catalogo o riorganizzano il catalogo hanno esito negativo fino a quando non viene riattivata la modalità online per l'indice.This is because Transact-SQLTransact-SQL statements that trigger a population, rebuild the catalog, or reorganize the catalog fail until the index is brought online. Tali istruzioni includono CREATE FULLTEXT INDEX, ALTER FULLTEXT INDEX, DROP FULLTEXT INDEX e ALTER FULLTEXT CATALOG.These statements include CREATE FULLTEXT INDEX, ALTER FULLTEXT INDEX, DROP FULLTEXT INDEX, and ALTER FULLTEXT CATALOG.

    In questo caso, considerare in particolare i fattori seguenti:In this case, the following factors are significant:

    • 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à online per il filegroup.If the full-text index has change tracking, user DML will fail until the index filegroup is brought online. Anche l'operazione di eliminazione avrà esito negativo se il filegroup dell'indice non è online.Delete operation will also fail until the index filegroup is online.

    • Indipendentemente dal rilevamento delle modifiche, le query full-text hanno esito negativo perché l'indice non è disponibile.Regardless of change tracking, full-text queries fail because the index is not available. Se si tenta di eseguire una query full-text quando il filegroup contenente l'indice full-text è offline, viene restituito un errore.If a full-text query is tried when the filegroup that contains the full-text index is offline, an error is returned.

    • Le funzioni di stato, ad esempio FULLTEXTCATALOGPROPERTY, hanno esito positivo solo quando non devono accedere all'indice full-text.Status functions (such as FULLTEXTCATALOGPROPERTY) succeed only when they do not have to access full-text index. L'accesso ai metadati full-text online, ad esempio, ha esito positivo, mentre uniquekeycount, itemcount non riesce.For example, access to any online full-text metadata would succeed, but uniquekeycount, itemcount would fail.

      Dopo il ripristino e l'attivazione della modalità online per il filegroup dell'indice full-text, i dati dell'indice e delle tabelle risultano coerenti.After the full-text index filegroup is restored and brought online, the index data and table data are consistent.

    Non appena il filegroup della tabella di base e il filegroup dell'indice full-text sono online, qualsiasi popolamento full-text sospeso viene ripreso.As soon as both the base table filegroup and the full-text index filegroup are online, any paused full-text population is resumed.

Backup e ripristino di file e compressioneFile Backup and Restore and Compression

SQL ServerSQL Server supporta la compressione dei dati con il file system NTFS per i filegroup e i database in sola lettura. supports NTFS file system data compression of read-only filegroups and read-only databases.

Il ripristino dei file in un filegroup di sola lettura è supportato per i file NTFS compressi.Restoring files in a read-only filegroup is supported on compressed NTFS files. Il backup e il ripristino di questi filegroup vengono eseguiti sostanzialmente come per qualsiasi filegroup di sola lettura, con le eccezioni seguenti:Backup and restore of these filegroups works essentially as it would for any read-only filegroup, with the following exceptions:

  • Il ripristino di un file di lettura/scrittura, inclusi i file primari o di log di un database di lettura/scrittura, su un volume compresso ha esito negativo e viene visualizzato un messaggio di errore.Restoring a read-write file (including the primary or log files of a read-write database) to a compressed volume fails and displays an error.

  • Il ripristino di un database di sola lettura su un volume compresso è consentito.Restoring a read-only database to a compressed volume is allowed.

Nota

È consigliabile non memorizzare i file di log di database di lettura/scrittura in file system compressi.Log files of read/write databases should never be placed on compressed file systems.

Attività correlateRelated Tasks

Vedere ancheSee Also

Backup e ripristino di database SQL Server Back Up and Restore of SQL Server Databases
Backup e ripristino di database replicati Back Up and Restore Replicated Databases
Repliche secondarie attive: Backup in repliche secondarie (gruppi di disponibilità Always On)Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups)