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

ANSI_NULL_DEFAULT

OFF

ANSI_NULLS

OFF

ANSI_PADDING

OFF

ANSI_WARNINGS

OFF

ARITHABORT

OFF

AUTO_CLOSE

OFF

AUTO_CREATE_STATISTICS

ON

AUTO_SHRINK

OFF

AUTO_UPDATE_STATISTICS

ON

AUTO_UPDATE_STATISTICS_ASYNC

OFF

CHANGE_TRACKING

OFF

No

CONCAT_NULL_YIELDS_NULL

OFF

CURSOR_CLOSE_ON_COMMIT

OFF

CURSOR_DEFAULT

GLOBAL

Opzioni relative alla disponibilità del database

ONLINE

MULTI_USER

READ_WRITE

No

DATE_CORRELATION_OPTIMIZATION

OFF

DB_CHAINING

OFF

No

ENCRYPTION

OFF

No

NUMERIC_ROUNDABORT

OFF

PAGE_VERIFY

CHECKSUM

PARAMETERIZATION

SIMPLE

QUOTED_IDENTIFIER

OFF

READ_COMMITTED_SNAPSHOT

OFF

RECOVERY

Dipende da SQL Server edizione1

RECURSIVE_TRIGGERS

OFF

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.