Database modelmodel Database

Il database model viene usato come modello per tutti i database creati in un'istanza di SQL ServerSQL Server.The model database is used as the template for all databases created on an instance of SQL ServerSQL Server. Poiché il database tempdb viene creato ogni volta che SQL ServerSQL Server viene avviato, il database model deve essere sempre presente in un sistema SQL ServerSQL Server .Because tempdb is created every time SQL ServerSQL Server is started, the model database must always exist on a SQL ServerSQL Server system. L'intero contenuto del database model , incluse le opzioni del database, viene copiato nel nuovo database.The entire contents of the model database, including database options, are copied to the new 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 ServerSQL Server deve essere sempre presente.Some of the settings of model are also used for creating a new tempdb during start up, so the model database must always exist on a SQL ServerSQL Server system.

I database utente appena creati utilizzano lo stesso modello di recupero del database model.Newly created user databases use the same recovery model as the model database. La stringa predefinita è configurabile dall'utente.The default is user configurable. Per informazioni sull'attuale modello di recupero, vedere Visualizzazione o modifica del modello di recupero di un database (SQL Server).To learn the current recovery model of the model, see View or Change the Recovery Model of a Database (SQL Server).

Importante

Se si modifica il database modello con le informazioni sul modello specifiche dell'utente, è consigliabile eseguire il backup del modello.If you modify the model database with user-specific template information, we recommend that you back up model. Per altre informazioni, vedere Backup e ripristino di database di sistema (SQL Server).For more information, see Back Up and Restore of System Databases (SQL Server).

Utilizzo del database modelmodel Usage

Quando viene eseguita un'istruzione CREATE DATABASE, la prima parte del database viene creata copiando i contenuti del database model .When a CREATE DATABASE statement is issued, the first part of the database is created by copying in the contents of the model database. La parte restante del nuovo database viene riempita con pagine vuote.The rest of the new database is then filled with empty pages.

Se si modifica il database model , le modifiche vengono ereditate da tutti i database creati successivamente.If you modify the model database, all databases created afterward will inherit those changes. È ad esempio possibile impostare autorizzazioni o opzioni di database oppure aggiungere oggetti, ad esempio tabelle, funzioni o stored procedure.For example, you could set permissions or database options, or add objects such as tables, functions, or stored procedures. Le proprietà dei file del database model rappresentano un'eccezione e vengono ignorate, eccetto le dimensioni iniziali del file di dati.File properties of the model database are an exception, and are ignored except the initial size of the data file. La dimensione iniziale predefinita del file di dati e di log del database modello è 8 MB.The default initial size of the model database data and log file is 8 MB.

Proprietà fisiche del database modelPhysical Properties of model

Nella tabella seguente sono illustrati i valori di configurazione iniziali dei file di dati e di log del database model .The following table lists initial configuration values of the model data and log files.

FileFile Nome logicoLogical name Nome fisicoPhysical name Aumento di dimensioni del fileFile growth
Dati primariPrimary data modeldevmodeldev model.mdfmodel.mdf Aumento automatico di 64 MB fino a quando il disco risulta pieno.Autogrow by 64 MB until the disk is full.
File di logLog modellogmodellog modellog.ldfmodellog.ldf Aumento automatico di 64 MB fino a un massimo di 2 terabyte.Autogrow by 64 MB to a maximum of 2 terabytes.

Per le versioni precedenti a SQL Server 2016SQL Server 2016, vedere Database modelloper i valori di aumento predefinito dei file.For versions before SQL Server 2016SQL Server 2016, see model Databasefor default file growth values.

Per spostare il database modello o i file di log, vedere Spostare i database di sistema.To move the model database or log files, see Move System Databases.

Opzioni di databaseDatabase Options

Nella tabella seguente vengono elencati i valori predefiniti per ogni opzione di database del database model ed è indicato se è possibile modificare le varie opzioni.The following table lists the default value for each database option in the model database and whether the option can be modified. Per visualizzare le impostazioni correnti di queste opzioni, usare la vista del catalogo sys.databases .To view the current settings for these options, use the sys.databases catalog view.

Opzione di databaseDatabase option Valore predefinitoDefault value ModificabileCan be modified
ALLOW_SNAPSHOT_ISOLATIONALLOW_SNAPSHOT_ISOLATION OFFOFF Yes
ANSI_NULL_DEFAULTANSI_NULL_DEFAULT OFFOFF Yes
ANSI_NULLSANSI_NULLS OFFOFF Yes
ANSI_PADDINGANSI_PADDING OFFOFF Yes
ANSI_WARNINGSANSI_WARNINGS OFFOFF Yes
ARITHABORTARITHABORT OFFOFF Yes
AUTO_CLOSEAUTO_CLOSE OFFOFF Yes
AUTO_CREATE_STATISTICSAUTO_CREATE_STATISTICS ONON Yes
AUTO_SHRINKAUTO_SHRINK OFFOFF Yes
AUTO_UPDATE_STATISTICSAUTO_UPDATE_STATISTICS ONON Yes
AUTO_UPDATE_STATISTICS_ASYNCAUTO_UPDATE_STATISTICS_ASYNC OFFOFF Yes
CHANGE_TRACKINGCHANGE_TRACKING OFFOFF NoNo
CONCAT_NULL_YIELDS_NULLCONCAT_NULL_YIELDS_NULL OFFOFF Yes
CURSOR_CLOSE_ON_COMMITCURSOR_CLOSE_ON_COMMIT OFFOFF Yes
CURSOR_DEFAULTCURSOR_DEFAULT GLOBALGLOBAL Yes
Opzioni relative alla disponibilità del databaseDatabase Availability Options ONLINEONLINE

MULTI_USERMULTI_USER

READ_WRITEREAD_WRITE
NoNo

Yes

Yes
DATE_CORRELATION_OPTIMIZATIONDATE_CORRELATION_OPTIMIZATION OFFOFF Yes
DB_CHAININGDB_CHAINING OFFOFF NoNo
ENCRYPTIONENCRYPTION OFFOFF NoNo
MIXED_PAGE_ALLOCATIONMIXED_PAGE_ALLOCATION ONON NoNo
NUMERIC_ROUNDABORTNUMERIC_ROUNDABORT OFFOFF Yes
PAGE_VERIFYPAGE_VERIFY CHECKSUMCHECKSUM Yes
PARAMETERIZATIONPARAMETERIZATION SIMPLESIMPLE Yes
QUOTED_IDENTIFIERQUOTED_IDENTIFIER OFFOFF Yes
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT OFFOFF Yes
RECOVERYRECOVERY Dipende dall'edizione di SQL ServerSQL Server Depends on SQL ServerSQL Server edition Yes
RECURSIVE_TRIGGERSRECURSIVE_TRIGGERS OFFOFF Yes
Opzioni relative a Service BrokerService Broker Options DISABLE_BROKERDISABLE_BROKER NoNo
TRUSTWORTHYTRUSTWORTHY OFFOFF NoNo

Per verificare l'attuale modello di recupero del database, vedere Visualizzazione o modifica del modello di recupero di un database (SQL Server) o sys.databases (Transact-SQL).To verify the current recovery model of the database, see View or Change the Recovery Model of a Database (SQL Server) or 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).

RestrizioniRestrictions

Nel database model non è possibile eseguire le operazioni seguenti:The following operations cannot be performed on the model database:

  • Aggiunta di file o di filegroup.Adding files or filegroups.

  • Modifica delle regole di confronto.Changing collation. Le regole di confronto predefinite corrispondono a quelle del server.The default collation is the server collation.

  • Modifica del proprietario del database.Changing the database owner. model è di proprietà di sa.model is owned by sa.

  • Eliminazione del database.Dropping the database.

  • Eliminazione dell'utente guest dal database.Dropping the guest user from the database.

  • Abilitazione dell'acquisizione dei dati delle modifiche.Enabling change data capture.

  • Partecipazione al mirroring del database.Participating in database mirroring.

  • Rimozione del filegroup primario, del file di dati primario o del file di log.Removing the primary filegroup, primary data file, or log file.

  • Ridenominazione del filegroup primario o del database.Renaming the database or primary filegroup.

  • Impostazione del database su OFFLINE.Setting the database to OFFLINE.

  • Impostazione del filegroup primario su READ_ONLY.Setting the primary filegroup to READ_ONLY.

  • Creazione di procedure, viste o trigger utilizzando l'opzione WITH ENCRYPTION.Creating procedures, views, or triggers using the WITH ENCRYPTION option. La chiave di crittografia è correlata al database in cui viene creato l'oggetto.The encryption key is tied to the database in which the object is created. Gli oggetti crittografati creati nel database model possono essere usati solo in model.Encrypted objects created in the model database can only be used in model.

Database di sistema.System Databases

sys.databases (Transact-SQL)sys.databases (Transact-SQL)

sys.master_files (Transact-SQL)sys.master_files (Transact-SQL)

Spostare file del databaseMove Database Files