Rimozione di filegroup inattivi (SQL Server)Remove Defunct Filegroups (SQL Server)

In questo argomento viene descritto come rimuovere filegroup inattivi in SQL Server 2017SQL Server 2017 utilizzando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to remove defunct filegroups in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

  • Le informazioni in questo argomento sono rilevanti per database di SQL ServerSQL Server che contengono più file o filegroup nonché, nel modello con registrazione minima, solo per i filegroup di sola lettura.This topic is relevant for SQL ServerSQL Server databases that contain multiple files or filegroups; and, under the simple model, only for read-only filegroups.

  • Lo stato di tutti i file di un filegroup è defunct quando si rimuove un filegroup offline.All files in a filegroup become defunct when an offline filegroup is removed.

Indicazioni Recommendations

  • Se non sarà mai necessario ripristinare un filegroup non ripristinato, è possibile rendere il filegroup inattivo rimuovendolo dal database.If an unrestored filegroup will never have to be restored, you can make the filegroup defunct by removing it from the database. Il filegroup inattivo non potrà mai essere ripristinato in questo database, ma i relativi metadati verranno mantenuti.The defunct filegroup can never be restored to this database, but its metadata remains. Dopo che il filegroup è reso inattivo, è possibile riavviare il database. Il recupero renderà il database consistente rispetto ai filegroup ripristinati.After the filegroup is defunct, the database can be restarted, and recovery will make the database consistent across the restored filegroups.

    Ad esempio, rendere un filegroup inattivo è un'opzione per risolvere le transazioni posticipate causate da un filegroup offline che si desidera escludere dal database.For example, making a filegroup defunct is an option for resolving deferred transactions that were caused by an offline filegroup that you no longer want in the database. Quando il filegroup in questione diventa offline, lo stato di transazione posticipata viene annullato.Transactions that were deferred because the filegroup was offline are moved out of the deferred state after the filegroup becomes defunct. Per altre informazioni, vedere Transazioni posticipate (SQL Server).For more information, see Deferred Transactions (SQL Server).

Sicurezza Security

Autorizzazioni Permissions

È richiesta l'autorizzazione ALTER per il database.Requires ALTER permission on the database.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per rimuovere filegroup inattiviTo remove defunct filegroups

  1. In Esplora oggetticonnettersi a un'istanza del Motore di database di SQL ServerSQL Server Database Engine , quindi espandere questa istanza.In Object Explorer, connect to an instance of the Motore di database di SQL ServerSQL Server Database Engine and then expand that instance.

  2. Espandere Database, fare clic con il pulsante destro del mouse sul database da cui eliminare il file e quindi scegliere Proprietà.Expand Databases, right-click the database from which to delete the file, and then click Properties.

  3. Selezionare la pagina File .Select the Files page.

  4. Nella griglia File di database selezionare i file da eliminare, fare clic su Rimuovie quindi su OK.In the Database files grid, select the files to delete, click Remove, and then click OK.

  5. Fare clic sulla pagina Filegroup .Select the Filegroups page.

  6. Nella griglia Righe selezionare il filegroup da eliminare, fare clic su Rimuovie quindi su OK.In the Rows grid, select the filegroup to delete, click Remove, and then click OK.

Utilizzo di Transact-SQL Using Transact-SQL

Per rimuovere filegroup inattiviTo remove defunct filegroups

  1. Connettersi al Motore di databaseDatabase Engine.Connect to the Motore di databaseDatabase Engine.

  2. Dalla barra Standard fare clic su Nuova query.From the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. Nota: in questo esempio si presuppone che i file e il filegroup siano già presenti.(Note: This example assumes that the files and filegroup already exist. Per creare questi oggetti, vedere l'esempio B nell'argomento Opzioni per file e filegroup ALTER DATABASE. Nel primo esempio vengono rimossi i file test1dat3 e test1dat4 dal filegroup inattivo tramite l'istruzione ALTER DATABASE con la clausola REMOVE FILE.To create these objects, see example B in the ALTER DATABASE File and Filegroup Options topic.) The first example removes the test1dat3 and test1dat4 files from the defunct filegroup by using the ALTER DATABASE statement with the REMOVE FILE clause. Nel secondo esempio viene rimosso il filegroup Test1FG1 inattivo tramite la clausola REMOVE FILEGROUP.The second example removes the defunct filegroup Test1FG1by using the REMOVE FILEGROUP clause.

USE master;  
GO  
ALTER DATABASE AdventureWorks2012  
REMOVE FILE test1dat3 ;  
ALTER DATABASE AdventureWorks2012  
REMOVE FILE test1dat4 ;  
GO  
USE master;  
GO  
ALTER DATABASE AdventureWorks2012  
REMOVE FILEGROUP Test1FG1 ;  
GO  

Vedere ancheSee Also

Opzioni per file e filegroup ALTER DATABASE (Transact-SQL) ALTER DATABASE File and Filegroup Options (Transact-SQL)
Transazioni posticipate (SQL Server) Deferred Transactions (SQL Server)
Ripristini di file (Modello di recupero con registrazione completa) File Restores (Full Recovery Model)
Ripristini di file (modello di recupero con registrazione minima) File Restores (Simple Recovery Model)
Ripristino online (SQL Server) Online Restore (SQL Server)
Ripristino di pagine (SQL Server) Restore Pages (SQL Server)
Ripristini a fasi (SQL Server) Piecemeal Restores (SQL Server)