master 数据库记录 SQL Server 系统的所有系统级信息。 这包括实例范围的元数据,例如登录帐户、终结点、链接服务器和系统配置设置。 在 SQL Server 中,系统对象不再存储在 master 数据库中;而是存储在 资源数据库中。 此外, master 是记录所有其他数据库是否存在的数据库以及这些数据库文件的位置,并记录 SQL Server 的初始化信息。 因此,如果 master 数据库不可用,SQL Server 将无法启动。
主控物的物理属性
下表列出了 主 数据和日志文件的初始配置值。 对于不同版本的 SQL Server,这些文件的大小可能会略有不同。
文件 | 逻辑名称 | 物理名称 | 文件增长 |
---|---|---|---|
主要数据 | 大师 | master.mdf | 自动增长 10%,直到磁盘已满。 |
日志 | mastlog | mastlog.ldf | 自动增长 10%, 最大为 2 TB。 |
有关如何移动 主 数据和日志文件的信息,请参阅 移动系统数据库。
数据库选项
下表列出了 master 数据库中每个数据库选项的默认值,以及是否可以修改该选项。 若要查看这些选项的当前设置,请使用 sys.databases 目录视图。
数据库选项 | 默认值 | 可以修改 |
---|---|---|
允许快照隔离 | 打开 | 否 |
ANSI_NULL_DEFAULT选项 | 关闭 | 是的 |
ANSI_NULLS | 关闭 | 是的 |
ANSI_PADDING | 关闭 | 是的 |
ANSI_WARNINGS | 关闭 | 是的 |
ARITHABORT | 关闭 | 是的 |
自动关闭 | 关闭 | 否 |
自动生成统计数据 | 开 | 是的 |
自动缩小 | 关闭 | 否 |
AUTO_UPDATE_STATISTICS | 开启 | 是的 |
AUTO_UPDATE_STATISTICS_ASYNC(自动更新统计信息异步) | 关闭 | 是的 |
变更跟踪 | 关闭 | 否 |
CONCAT_NULL_YIELDS_NULL(空值连接结果为空值) | 关闭 | 是的 |
游标在提交时关闭 | 关闭 | 是的 |
默认光标 | 全球 | 是的 |
数据库可用性选项 | 在线 多用户 读写权限 |
否 否 否 |
日期相关优化 | 关闭 | 是的 |
数据库联接 | 开 | 否 |
加密 | 关闭 | 否 |
NUMERIC_ROUNDABORT (数值舍入中止) | 关闭 | 是的 |
页面验证 | 校验和 | 是的 |
参数化 | 简单 | 是的 |
引用标识符 | 关闭 | 是的 |
READ_COMMITTED_SNAPSHOT(已提交读取快照) | 关闭 | 否 |
恢复 | 简单 | 是的 |
递归触发器 | 关闭 | 是的 |
Service Broker 选项 | 禁用代理 | 否 |
值得 信赖 | 关闭 | 是的 |
有关这些数据库选项的说明,请参阅 ALTER DATABASE(Transact-SQL)。
限制
不能对 master 数据库执行以下操作。
添加文件或文件组。
更改排序规则。 默认排序规则是服务器排序规则。
更改数据库所有者。 主控归sa所有。
创建全文目录或全文索引。
在数据库中的系统表上创建触发器。
删除数据库。
从数据库中删除 来宾 用户。
启用变更数据捕获。
参与数据库镜像操作。
删除主文件组、主数据文件或日志文件。
重命名数据库或主文件组。
将数据库设置为 OFFLINE。
将数据库或主文件组设置为READ_ONLY。
建议
使用 master 数据库时,请考虑以下建议:
始终提供 master 数据库的当前备份。
在执行以下作后尽快备份 master 数据库:
创建、修改或删除任何数据库
更改服务器或数据库配置值
修改或添加登录帐户
不要在 master 中创建用户对象。 如果这样做,则必须更频繁地备份 master 。
不要将 MASTER 数据库的 TRUSTWORTHY 选项设置为 ON。
如果主控无法使用,该怎么办
如果 master 变得不可用,则可以通过以下方式之一将数据库返回到可用状态:
从当前数据库备份还原 master 。
如果可以启动服务器实例,则应能够从完整数据库备份还原 master 。 有关详细信息,请参阅还原 master 数据库(Transact-SQL)。
完整重建 主模板。
如果 主数据库 严重损坏导致无法启动 SQL Server,则必须重建 主数据库。 有关详细信息,请参阅 重新生成系统数据库。
重要
重新生成 主数据库 将重新生成所有系统数据库。