Database model
Il database model viene utilizzato come modello per tutti i database creati in un'istanza di SQL Server. Poiché il database tempdb viene creato ogni volta che SQL Server viene avviato, il database model deve essere sempre presente in un sistema SQL Server.
Utilizzo del database model
Quando viene eseguita un'istruzione CREATE DATABASE, la prima parte del database viene creata copiando i contenuti del database model. La parte restante del nuovo database viene riempita con pagine vuote.
Se si modifica il database model, le modifiche vengono ereditate da tutti i database creati successivamente. È ad esempio possibile impostare autorizzazioni o opzioni di database oppure aggiungere oggetti, ad esempio tabelle, funzioni o stored procedure.
Proprietà fisiche del database model
Nella tabella seguente sono illustrati i valori di configurazione iniziali dei file di dati e di log del database model. Le dimensioni di tali file potrebbero essere leggermente diverse per le diverse versioni di SQL Server.
File |
Nome logico |
Nome fisico |
Aumento di dimensioni del file |
---|---|---|---|
File di dati primario |
modeldev |
model.mdf |
Aumento automatico dimensioni del 10% fino a riempimento del disco. |
File di log |
modellog |
modellog.ldf |
Aumento automatico dimensioni del 10% fino a un massimo di 2 TB. |
Per spostare il database model o i file di log, vedere Spostamento dei database di sistema.
Opzioni di database
Nella tabella seguente vengono elencati i valori predefiniti per ogni opzione di database del database model ed è indicato se è possibile modificare le varie opzioni. Per visualizzare le impostazioni correnti di queste opzioni, utilizzare la vista del catalogo sys.databases.
Opzione di database |
Valore predefinito |
Modificabile |
---|---|---|
ALLOW_SNAPSHOT_ISOLATION |
OFF |
Sì |
ANSI_NULL_DEFAULT |
OFF |
Sì |
ANSI_NULLS |
OFF |
Sì |
ANSI_PADDING |
OFF |
Sì |
ANSI_WARNINGS |
OFF |
Sì |
ARITHABORT |
OFF |
Sì |
AUTO_CLOSE |
OFF |
Sì |
AUTO_CREATE_STATISTICS |
ON |
Sì |
AUTO_SHRINK |
OFF |
Sì |
AUTO_UPDATE_STATISTICS |
ON |
Sì |
AUTO_UPDATE_STATISTICS_ASYNC |
OFF |
Sì |
CHANGE_TRACKING |
OFF |
No |
CONCAT_NULL_YIELDS_NULL |
OFF |
Sì |
CURSOR_CLOSE_ON_COMMIT |
OFF |
Sì |
CURSOR_DEFAULT |
GLOBAL |
Sì |
Opzioni relative alla disponibilità del database |
ONLINE MULTI_USER READ_WRITE |
No Sì Sì |
DATE_CORRELATION_OPTIMIZATION |
OFF |
Sì |
DB_CHAINING |
OFF |
No |
ENCRYPTION |
OFF |
No |
NUMERIC_ROUNDABORT |
OFF |
Sì |
PAGE_VERIFY |
CHECKSUM |
Sì |
PARAMETERIZATION |
SIMPLE |
Sì |
QUOTED_IDENTIFIER |
OFF |
Sì |
READ_COMMITTED_SNAPSHOT |
OFF |
Sì |
RECOVERY |
Dipende da SQL Server edizione1 |
Sì |
RECURSIVE_TRIGGERS |
OFF |
Sì |
Opzioni relative a Service Broker |
DISABLE_BROKER |
No |
TRUSTWORTHY |
OFF |
No |
1 Per controllare il modello di recupero corrente del database, vedere Procedura: Visualizzazione o modifica del modello di recupero di un database (SQL Server Management Studio) o sys.databases (Transact-SQL).
Per una descrizione di queste opzioni di database, vedere ALTER DATABASE (Transact-SQL).
Restrizioni
Nel database model non è possibile eseguire le operazioni seguenti:
Aggiunta di file o di filegroup.
Modifica delle regole di confronto. Le regole di confronto predefinite corrispondono a quelle del server.
Modifica del proprietario del database. Il proprietario di model è dbo.
Eliminazione del database.
Eliminazione dell'utente guest dal database.
Attivazione dell'acquisizione dei dati delle modifiche.
Partecipazione al mirroring del database.
Rimozione del filegroup primario, del file di dati primario o del file di log.
Ridenominazione del database o del filegroup primario.
Impostazione del database su OFFLINE.
Impostazione del filegroup primario o del database su READ_ONLY.
Creazione di procedure, viste o trigger utilizzando l'opzione WITH ENCRYPTION. La chiave di crittografia è correlata al database in cui viene creato l'oggetto. Gli oggetti crittografati creati nel database model possono essere utilizzati solo in model.