Condividi tramite


Panoramica su file e gruppi di file

Aggiornamento: novembre 2007

Definendo e utilizzando gruppi di file aggiuntivi, è possibile migliorare le prestazioni del database e gestire meglio il backup e il ripristino degli oggetti di database. Ad esempio, è possibile definire gruppi di file su dischi fisici differenti per ridurre il tempo di accesso. Associando tutti gli oggetti di database di uno schema a un particolare gruppo di file, sarà in seguito possibile eseguire il backup e il ripristino simultaneo di tali oggetti. Per ulteriori informazioni sui gruppi di file, vedere File e filegroup fisici del database.

Comportamento

Prima di definire file e gruppi di file nel progetto di database, è necessario considerare i comportamenti seguenti in modo da distinguere tra il comportamento previsto e i problemi inaspettati.

Aggiornamento a Service Release 1

Se in Visual Studio Team System Database Edition sono stati definiti dei gruppi di file prima di aver installato Service Release 1 (SR1), questi sono stati definiti come oggetti dello schema. Inoltre, si sono definiti i file associati nel file storage.sql che fa parte dello script post-distribuzione. Una volta installato SR1, si definiscono i gruppi di file e i file come proprietà del progetto di database. Se si utilizza SR1 per aprire un progetto di database contenente file o gruppi di file creati prima di SR1, le definizioni dei file e dei gruppi di file vengono convertite da oggetti dello schema in proprietà del progetto. Inoltre, le sezioni corrispondenti nel file storage.sql vengono convertite in commenti. Tuttavia, la conversione non influirà sulle altre istruzioni nel file storage.sql o nelle definizioni di gruppi di file e file presenti in altri script.

Importazione di schemi

Quando si importa uno schema da un database esistente, si importano anche le definizioni di gruppi di file e file del database. Se il database da cui è stato importato lo schema contiene gruppi di file aggiuntivi definiti, viene visualizzato un avviso simile a questo:

Avviso: sono state generate istruzioni ADD FILEGROUP che includono la creazione di un file per ogni gruppo di file. È necessario verificare la coerenza del nome file e del percorso dei file con gli altri file nel server.

Confronto di schemi

Confrontando gli schemi, è possibile determinare se oggetti denominati in modo identico sono stati creati su gruppi di file che hanno nomi diversi. È anche possibile determinare se un gruppo di file è stato aggiunto o rimosso dall’ origine ma non dalla destinazione. Tuttavia, non è possibile determinare se gruppi di file contengono gli stessi file perché i gruppi di file appariranno sempre come identici. Per ulteriori informazioni su come confrontare gli schemi, vedere Procedura: confrontare gli schemi di due database.

Compilazione e distribuzione di progetti di database

Non è possibile rendere file e gruppi di file specifici di particolari configurazioni della build. Tuttavia, è possibile definire i file in termini di variabili di MSBuild che possono essere specifiche di una configurazione. Utilizzando questo approccio è possibile, ad esempio, utilizzare percorsi e nomi file nell'ambiente di sviluppo isolato differenti da quelli nel server temporaneo.

Eliminazione di gruppi di file, file e file di log

Se si elimina un gruppo di file da un progetto di database, è possibile distribuire tale modifica a un database nuovo, ma la modifica viene ignorata se viene distribuita a un database esistente. Quando si elimina un gruppo di file da un progetto di database, si elimina anche qualsiasi file associato a tale gruppo di file. Qualsiasi oggetto nel progetto di database presente nel gruppo di file eliminato verrà visualizzato in uno stato dell'errore. Per risolvere gli errori è necessario ricreare il gruppo di file o modificare le definizioni di oggetto per associarle a un altro gruppo di file. In questo caso, non è possibile distribuire il progetto di database fino a quando gli errori non vengono risolti.

Non è possibile eliminare il gruppo di file principale. È necessario avere un gruppo di file predefinito specificato. Se si rimuove l’unico file in un gruppo di file, verrà visualizzato un avviso nella finestra Elenco errori per indicare che la definizione del gruppo di file è incompleta. Inoltre, non è possibile rimuovere l’unico file di log in un progetto di database. Un progetto di database deve sempre avere almeno un file di log definito.

Limiti

Quando si distribuiscono modifiche a gruppi di file, si rinominano gruppi di file e si definiscono oggetti di database su gruppi di file di sola lettura, è possibile incontrare le limitazioni seguenti.

Distribuzione delle modifiche

Se si aggiunge un gruppo di file in un progetto di database, è possibile distribuire tale modifica a un database nuovo o esistente. Se si elimina un gruppo di file o si modificano i file o le proprietà, è possibile distribuire tali modifiche a un database nuovo. Tuttavia, eliminazioni e modifiche di gruppi di file vengono ignorate se si distribuisce il progetto a un database esistente. Se il nome di un gruppo di file nel progetto di database corrisponde al nome di un gruppo di file sulla destinazione, si presuppone che i gruppi di file siano gli stessi.

Se si rinomina un gruppo di file e si distribuisce a un database esistente, viene creato un gruppo di file con il nome nuovo e il gruppo di file esistente non cambia.

Ridenominazione di gruppi di file nelle definizioni di oggetto

Non è possibile utilizzare il refactoring per aggiornare nomi di gruppi di file nelle definizioni di oggetti di database. È necessario aggiornare tali nomi manualmente o tramite la funzionalità di ricerca. Per ulteriori informazioni, vedere Finestra Trova e sostituisci.

Definizione di oggetti su gruppi di file di sola lettura

Anche se per un gruppo di file si seleziona la casella di controllo Sola lettura, è ancora possibile definire gli oggetti su tale gruppo di file nel progetto di database. Se si tenta di distribuire tali modifiche a un database esistente, l'operazione avrà esito negativo. Quando si distribuiscono tali modifiche a un database nuovo, gli oggetti vengono creati come se la casella di controllo Sola lettura fosse deselezionata. Una volta creati gli oggetti, il gruppo di file è impostato come di sola lettura sul database.

Vedere anche

Attività

Procedura: specificare script pre-distribuzione o di post-distribuzione

Procedura: aggiungere file e gruppi di file

Concetti

Panoramica delle impostazioni del progetto di database

Panoramica sulla terminologia di Database Edition