Condividi tramite


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 SQL Server viene avviato, il database modello deve esistere sempre in un sistema SQL Server. L'intero contenuto del database modello , incluse le opzioni di 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 SQL Server.

I database utente appena creati usano lo stesso modello di recupero del database modello. Il valore predefinito è 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 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 modello

Quando viene eseguita un'istruzione CREATE DATABASE, la prima parte del database viene creata copiando il contenuto del database modello . Il resto del nuovo database viene quindi riempito con pagine vuote.

Se si modifica il database modello , tutti i database creati in seguito erediteranno tali modifiche. Ad esempio, è possibile impostare autorizzazioni o opzioni di database o aggiungere oggetti come tabelle, funzioni o stored procedure. Le proprietà dei file del database modello sono un'eccezione e vengono ignorate, ad eccezione delle dimensioni iniziali del file di dati.

Proprietà fisiche del modello

Nella tabella seguente sono elencati i valori di configurazione iniziali dei file di dati e di log del modello . Le dimensioni di questi file possono variare leggermente per le diverse edizioni di SQL Server.

Documento Nome logico Nome fisico Aumento di dimensioni del file
Dati primari modeldev model.mdf Crescita automatica del 10% finché il disco non è completamente pieno.
Registro modellog modellog.ldf Aumento automatico del 10% a un massimo di 2 terabyte.

Per spostare il database modello o i file di log, vedere Spostare database di sistema.

Opzioni database

La tabella seguente elenca il valore predefinito per ogni opzione di database nel database modello e indica se è possibile modificare l'opzione. Per visualizzare le impostazioni correnti di queste opzioni, usare la vista del catalogo sys.databases .

Opzione di database Valore predefinito Modificabile
ALLOW_SNAPSHOT_ISOLATION SPENTO
ANSI_NULL_DEFAULT (Impostazione predefinita per ANSI NULL) SPENTO
ANSI_NULLS SPENTO
ANSI_PADDING (impostazione di riempimento ANSI) SPENTO
ANSI_WARNINGS SPENTO
ARITHABORT SPENTO
CHIUSURA_AUTOMATICA SPENTO
CREA_AUTOMATICAMENTE_STATISTICHE ATTIVO
AUTO_SHRINK SPENTO
AGGIORNAMENTO_AUTOMATICO_STATISTICHE ATTIVO
AUTO_UPDATE_STATISTICS_ASYNC SPENTO
Tracciamento Modifiche SPENTO NO
CONCAT_NULL_YIELDS_NULL (Quando concatenato a NULL, il risultato è NULL) SPENTO
CHIUSURA_CURSORI_SUL_COMMIT SPENTO
CURSORE_PREDEFINITO GLOBALE
Opzioni di disponibilità del database IN LINEA

multiutente

LETTURA_SCRITTURA
NO



OTTIMIZZAZIONE_CORRELAZIONE_DATE SPENTO
DB_CHAINING SPENTO NO
CRIPTAZIONE SPENTO NO
NUMERIC_ROUNDABORT SPENTO
VERIFICA_PAGINA CHECKSUM
PARAMETRIZZAZIONE SEMPLICE
IDENTIFICATORE_QUOTATO SPENTO
READ_COMMITTED_SNAPSHOT (istantanea impegnata letta) SPENTO
GUARIGIONE Dipende dall'edizione1 di SQL Server
Trigger Ricorsivi SPENTO
Opzioni di Service Broker DISABLE_BROKER NO
AFFIDABILE SPENTO 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

Non è possibile eseguire le operazioni seguenti nel database modello :

  • Aggiunta di file o gruppi di file.

  • Modifica della collazione. La collatione predefinita è quella del server.

  • Modifica del proprietario del database. il modello è di proprietà di sa.

  • Eliminazione del database.

  • Eliminazione dell'utente guest dal database.

  • Abilitazione del Change Data Capture.

  • 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 tramite l'opzione WITH ENCRYPTION. La chiave di crittografia è associata al database in cui viene creato l'oggetto. Gli oggetti crittografati creati nel database modello possono essere usati solo nel modello.

Database di sistema

sys.databases (Transact-SQL)

sys.master_files (Transact-SQL)

Spostare file del database