model 数据库

model 数据库用作在 SQL Server 实例上创建的所有数据库的模板。因为每次启动 SQL Server 时都会创建 tempdb,所以 model 数据库必须始终存在于 SQL Server 系统中。

model 的用法

当发出 CREATE DATABASE 语句时,将通过复制 model 数据库中的内容来创建数据库的第一部分,然后用空页填充新数据库的剩余部分。

如果修改 model 数据库,之后创建的所有数据库都将继承这些修改。例如,可以设置权限或数据库选项或者添加对象,例如,表、函数或存储过程。

model 的物理属性

下表列出了 model 数据和日志文件的初始配置值。对于不同版本的 SQL Server,这些文件的大小可能略有不同。

文件

逻辑名称

物理名称

文件增长

主数据

modeldev

model.mdf

以 10% 的速度自动增长到磁盘充满为止。

日志

modellog

modellog.ldf

以 10% 的速度自动增长到最大 2 TB。

若要移动 model 数据库或日志文件,请参阅移动系统数据库

数据库选项

下表列出了 model 数据库中每个数据库选项的默认值以及该选项是否可以修改。若要查看这些选项的当前设置,请使用 sys.databases 目录视图。

数据库选项

默认值

是否可修改

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

CONCAT_NULL_YIELDS_NULL

OFF

CURSOR_CLOSE_ON_COMMIT

OFF

CURSOR_DEFAULT

GLOBAL

数据库可用性选项

ONLINE

MULTI_USER

READ_WRITE

DATE_CORRELATION_OPTIMIZATION

OFF

DB_CHAINING

OFF

ENCRYPTION

OFF

NUMERIC_ROUNDABORT

OFF

PAGE_VERIFY

CHECKSUM

PARAMETERIZATION

SIMPLE

QUOTED_IDENTIFIER

OFF

READ_COMMITTED_SNAPSHOT

OFF

RECOVERY

取决于 SQL Server 的版本1

RECURSIVE_TRIGGERS

OFF

Service Broker 选项

DISABLE_BROKER

TRUSTWORTHY

OFF

1 若要查看数据库的当前恢复模式,请参阅如何查看或更改数据库的恢复模式 (SQL Server Management Studio)sys.databases (Transact-SQL)

有关这些数据库选项的说明,请参阅 ALTER DATABASE (Transact-SQL)

限制

不能在 model 数据库中执行下列操作:

  • 添加文件或文件组。

  • 更改排序规则。默认排序规则为服务器排序规则。

  • 更改数据库所有者。modeldbo 所有。

  • 删除数据库。

  • 从数据库中删除 guest 用户。

  • 启用变更数据捕获。

  • 参与数据库镜像。

  • 删除主文件组、主数据文件或日志文件。

  • 重命名数据库或主文件组。

  • 将数据库设置为 OFFLINE。

  • 将数据库或主文件组设置为 READ_ONLY。

  • 使用 WITH ENCRYPTION 选项创建过程、视图或触发器。加密密钥与在其中创建对象的数据库绑定在一起。在 model 数据库中创建的加密对象只能用于 model 中。