Aggiunta ed eliminazione di file di dati e del log delle transazioni

È possibile aggiungere file di dati e del log delle transazioni per espandere un database oppure eliminarli per ridurre il numero di file presenti in un database.

ms191433.note(it-it,SQL.90).gifImportante:
In SQL Server 2005 i file di dati e del log delle transazioni non devono essere inseriti in file system compressi. Database e filegroup secondari di sola lettura possono tuttavia essere inseriti in un file system mediante la compressione NTFS. Per ulteriori informazioni, vedere Filegroup di sola lettura e compressione.

In SQL Server viene utilizzata una strategia di riempimento proporzionale di tutti i file all'interno di ogni filegroup e viene scritta una quantità di dati proporzionale allo spazio libero nel file in modo che il nuovo file possa essere immediatamente utilizzato. Di conseguenza, lo spazio disponibile viene esaurito quasi contemporaneamente in tutti i file. I file del log delle transazioni non possono tuttavia essere inclusi in un filegroup e vengono mantenuti separati tra loro. Mentre vengono registrate le informazioni nel log delle transazioni, viene riempito completamente il primo file di log, quindi il secondo e così via in base a una strategia di riempimento in sequenza anziché una strategia di riempimento proporzionale. Pertanto, quando si aggiunge un file di log, a volte potrebbe non essere utilizzato dal log delle transazioni finché gli altri file non vengono riempiti completamente.

Aggiunta di file

Quando un file viene aggiunto, può essere utilizzato immediatamente dal database. Quando si aggiungono file al database, è possibile specificarne le dimensioni. Se non si specificano le dimensioni del file primario, il Motore di database utilizza le dimensioni del file primario del database model. Se si specifica un file di dati o un file di log secondario senza indicarne le dimensioni, il Motore di database crea un file di 1 MB. Le dimensioni specificate per il file primario devono essere uguali almeno alle dimensioni del file primario del database model. Per ulteriori informazioni, vedere Database model.

È possibile impostare le dimensioni massime che possono essere raggiunte dal file se lo spazio disponibile nel file viene esaurito, nonché il valore di cui il file deve aumentare ogni volta che si rende necessario l'aumento delle dimensioni. Se non vengono specificate le dimensioni massime, le dimensioni del file aumentano fino a quando il disco non risulta pieno. Se non si specifica il valore di aumento, il valore predefinito è 1 MB per i file di dati e 10% per i file di log. Il valore minimo è 64 KB.

È possibile specificare il filegroup a cui appartiene il file. I filegroup sono raccolte di file denominate e vengono utilizzati per semplificare il posizionamento dei dati e le attività amministrative quali le operazioni di backup e ripristino. Per ulteriori informazioni, vedere Utilizzo di file e filegroup.

Eliminazione di file

Se si elimina un file di dati o un file del log delle transazioni, il file viene rimosso dal database. Non è possibile eliminare un file dal database se include dati o informazioni di log delle transazioni. Affinché possa essere rimosso, il file deve essere completamente vuoto. Per svuotare un file di dati spostando i dati da tale file ad altri file nello stesso filegroup, utilizzare l'istruzione DBCC SHRINKFILE e specificare la clausola EMPTYFILE. Poiché il Motore di database non consente più di collocare i dati nel file dopo l'operazione di compattazione, il file vuoto può essere rimosso tramite l'istruzione ALTER DATABASE o tramite SQL Server Management Studio.

Non è possibile spostare i dati del log delle transazioni da un file di log a un altro per svuotare un file del log delle transazioni. Per eliminare le transazioni inattive da un file del log delle transazioni, è necessario eseguire il backup del log delle transazioni oppure troncarlo. Quando il file del log delle transazioni non include più alcuna transazione attiva o inattiva, è possibile rimuoverlo dal database. Per ulteriori informazioni, vedere Gestione del log delle transazioni.

ms191433.note(it-it,SQL.90).gifImportante:
Dopo aver aggiunto o eliminato file, eseguire immediatamente il backup del database. Non eseguire il backup del log delle transazioni se prima non è stato eseguito il backup completo del database.

Per aggiungere file di dati o file del log a un database o per eliminarli

Vedere anche

Attività

Procedura: Compattazione di un file (SQL Server Management Studio)

Concetti

Utilizzo di file e filegroup per la gestione dell'aumento delle dimensioni del database
File e filegroup fisici del database

Altre risorse

sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
sys.data_spaces (Transact-SQL)
sys.filegroups (Transact-SQL)
DBCC SHRINKFILE (Transact-SQL)
Informazioni sull'architettura del log delle transazioni

Guida in linea e informazioni

Assistenza su SQL Server 2005