Database model

Il database model viene usato 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 . L'intero contenuto del database model , incluse le opzioni del database, viene copiato nel nuovo database. Alcune impostazioni del database model vengono inoltre usate per la creazione di un nuovo database tempdb all'avvio, pertanto in un sistema il database model SQL Server deve essere sempre presente.

I database utente appena creati utilizzano lo stesso modello di recupero del database model. La stringa predefinita è configurabile dall'utente. Per informazioni sull'attuale modello di recupero, vedere Visualizzazione o modifica del 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 tali file potrebbero essere leggermente diverse per le diverse versioni 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
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 SEMPLICE
QUOTED_IDENTIFIER OFF
READ_COMMITTED_SNAPSHOT OFF
RECOVERY Dipende dall' SQL Server edizione1
RECURSIVE_TRIGGERS OFF
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).

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.

Database di sistema.

sys.databases (Transact-SQL)

sys.master_files (Transact-SQL)

Spostare file del database