Database model
Il database modello viene usato come modello per tutti i database creati in un'istanza di SQL Server. Poiché tempdb viene creato ogni volta che viene avviato SQL Server, il database modello deve essere sempre presente in un sistema di SQL Server. L'intero contenuto del database model , incluse le opzioni del database, viene copiato nel nuovo database. Alcune delle impostazioni del modello vengono usate anche per la creazione di un nuovo tempdb durante l'avvio, pertanto il database modello deve essere sempre presente in un sistema di SQL Server.
I database utente appena creati utilizzano lo stesso modello di recupero del database model. La stringa predefinita è configurabile dall'utente. Per informazioni sul modello di recupero corrente, vedere Visualizzare o modificare il modello di recupero di un database (SQL Server).
Importante
Se si modifica il database modello con le informazioni sul modello specifiche dell'utente, è consigliabile eseguire il backup del modello. Per altre informazioni, vedere Backup e ripristino di Database di 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. Le proprietà dei file del database model rappresentano un'eccezione e vengono ignorate, eccetto le dimensioni iniziali del file di dati.
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 questi file possono variare leggermente per le diverse edizioni di SQL Server.
File | Nome logico | Nome fisico | Aumento di dimensioni del file |
---|---|---|---|
Dati primari | modeldev | model.mdf | Aumento automatico del 10% fino a quando il disco risulta pieno. |
File di log | modellog | modellog.ldf | Aumento automatico del 10% fino a un massimo di 2 terabyte. |
Per spostare il database modello o i file di log, vedere Spostare i 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, usare 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 | SEMPLICE | 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 verificare il modello di recupero corrente del database, vedere Visualizzare o modificare il modello di recupero di un database (SQL Server) o sys.databases (Transact-SQL).
Per una descrizione di queste opzioni di database, vedere ALTER DATABASE (Transact-SQL).For a description of these database options, see 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. model è di proprietà di sa.
Eliminazione del database.
Eliminazione dell'utente guest dal database.
Abilitazione 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 filegroup primario o del database.
Impostazione del database su OFFLINE.
Impostazione del filegroup primario 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 usati solo in model.