模型数据库

模型数据库用作在 SQL Server 实例上创建的所有数据库的模板。 由于每次启动 SQL Server 时都会创建 tempdb因此模型 数据库必须始终存在于 SQL Server 系统上。 模型数据库的整个内容(包括数据库选项)将复制到新数据库。 在启动时,model的某些设置也用于创建新的 tempdb,因此model数据库必须始终存在于 SQL Server 系统上。

新创建的用户数据库使用与模型数据库相同的 恢复模式 。 默认值是用户可配置的。 若要了解模型的当前恢复模式,请参阅 查看或更改数据库(SQL Server)的恢复模式

重要

如果使用用户特定的模板信息修改 模型 数据库,建议备份 模型。 有关详细信息,请参阅备份和还原系统数据库 (SQL Server)

模型用法

发出 CREATE DATABASE 语句时,通过复制 模型 数据库的内容创建数据库的第一部分。 新数据库的其余部分接下来将被填充为空页。

如果修改 模型 数据库,则之后创建的所有数据库都将继承这些更改。 例如,可以设置权限或数据库选项,或者添加表、函数或存储过程等对象。 模型数据库的文件属性是一个例外,除了数据文件的初始大小之外,将被忽略。

模型的物理属性

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

文件 逻辑名称 物理名称 文件增长
主要数据 modeldev model.mdf 自动增长 10%,直到磁盘已满。
日志 modellog modellog.ldf 自动增长 10%, 最大为 2 TB。

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

数据库选项

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

数据库选项 默认值 可以修改
ALLOW_SNAPSHOT_ISOLATION 关闭 是的
ANSI_NULL_DEFAULT选项 关闭 是的
ANSI_NULLS 关闭 是的
ANSI_PADDING 关闭 是的
ANSI_WARNINGS 关闭 是的
ARITHABORT 关闭 是的
自动关闭 关闭 是的
自动生成统计数据 是的
AUTO_SHRINK 关闭 是的
AUTO_UPDATE_STATISTICS 开 (assuming "ON" is used in the context of turning something on, like a switch) 是的
AUTO_UPDATE_STATISTICS_ASYNC(自动更新统计信息异步) 关闭 是的
变更跟踪 关闭
CONCAT_NULL_YIELDS_NULL(空值连接结果为空值) 关闭 是的
游标在提交时关闭 关闭 是的
CURSOR_DEFAULT 全球 是的
数据库可用性选项 在线

MULTI_USER

读写


是的

是的
日期相关优化 关闭 是的
数据库联接 关闭
加密 关闭
NUMERIC_ROUNDABORT 关闭 是的
页面验证 校验和 是的
参数化 简单 是的
引用标识符 关闭 是的
READ_COMMITTED_SNAPSHOT 关闭 是的
恢复 取决于 SQL Server 版本1 是的
递归触发器 关闭 是的
Service Broker 选项 禁用代理
值得 信赖 关闭

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

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

限制

无法对 模型 数据库执行以下操作。

  • 添加文件或文件组。

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

  • 更改数据库所有者。 模型sa 拥有。

  • 删除数据库。

  • 从数据库中删除 来宾 用户。

  • 启用变更数据捕获。

  • 参与数据库镜像操作。

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

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

  • 将数据库设置为 OFFLINE。

  • 将主文件组设置为READ_ONLY。

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

系统数据库

sys.databases (Transact-SQL)

sys.master_files(Transact-SQL)

移动数据库文件