暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

master -数据库

Ty3306 2024-03-18
66

master 数据库

  •  

master 数据库记录 SQL Server 系统的所有系统级信息。 这包括实例范围的元数据(例如登录帐户)、端点、链接服务器和系统配置设置。 在 SQL Server 中,系统对象不再存储在 master 数据库中,而是存储在 Resource 数据库中。 此外,master 数据库还记录了所有其他数据库的存在、数据库文件的位置以及 SQL Server 的初始化信息。 因此,如果 master 数据库不可用,则 SQL Server 无法启动。

 重要

对于 Azure SQL 数据库单一数据库和弹性池,仅 master 数据库和 tempdb 数据库适用。 有关详细信息,请参阅什么是 Azure SQL 数据库服务器。 有关 Azure SQL 数据库上下文中关于 tempdb 的讨论,请参阅 Azure SQL 数据库中的 tempdb 数据库。 对于 Azure SQL 托管实例,所有系统数据库都适用。 若要详细了解 Azure SQL 数据库托管实例,请参阅什么是托管实例

master 数据库的物理属性

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

文件逻辑名称物理名称文件增长
主数据master.mdf以 10% 的速度自动增长到磁盘充满为止。
日志mastlogmastlog.ldf以 10% 的速度自动增长到最大 2 TB。

有关如何移动 master 数据和日志文件的信息,请参阅 移动系统数据库。

 重要

对于 Azure SQL 数据库服务器,用户无法控制 master 数据库的大小。

数据库选项

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

 重要

对于 Azure SQL 数据库单一数据库和弹性池,用户无法控制这些数据库选项。

数据库选项默认值是否可修改
ALLOW_SNAPSHOT_ISOLATIONON
ANSI_NULL_DEFAULTOFF
ANSI_NULLSOFF
ANSI_PADDINGOFF
ANSI_WARNINGSOFF
ARITHABORTOFF
AUTO_CLOSEOFF
AUTO_CREATE_STATISTICSON
AUTO_SHRINKOFF
AUTO_UPDATE_STATISTICSON
AUTO_UPDATE_STATISTICS_ASYNCOFF
CHANGE_TRACKINGOFF
CONCAT_NULL_YIELDS_NULLOFF
CURSOR_CLOSE_ON_COMMITOFF
CURSOR_DEFAULTGLOBAL
数据库可用性选项ONLINE

MULTI_USER

READ_WRITE




DATE_CORRELATION_OPTIMIZATIONOFF
DB_CHAININGON
加密OFF
MIXED_PAGE_ALLOCATIONON
NUMERIC_ROUNDABORTOFF
PAGE_VERIFYCHECKSUM
PARAMETERIZATIONSIMPLE
QUOTED_IDENTIFIEROFF
READ_COMMITTED_SNAPSHOTOFF
RECOVERYSIMPLE
RECURSIVE_TRIGGERSOFF
Service Broker 选项DISABLE_BROKER
TRUSTWORTHYOFF

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

限制

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

  • 添加文件或文件组。
  • 备份,主数据库上只能执行完整的数据库备份。
  • 更改排序规则。 默认排序规则为服务器排序规则。
  • 更改数据库所有者。 master 的所有者是 sa
  • 创建全文目录或全文索引。
  • 在数据库的系统表上创建触发器。
  • 删除数据库。
  • 从数据库中删除 guest 用户。
  • 启用变更数据捕获。
  • 参与数据库镜像。
  • 删除主文件组、主数据文件或日志文件。
  • 重命名数据库或主文件组。
  • 将数据库设置为 OFFLINE。
  • 将数据库或主文件组设置为 READ_ONLY。

建议

使用 master 数据库时,请考虑下列建议:

  • 始终有一个 master 数据库的当前备份可用。

  • 执行下列操作后,尽快备份 master 数据库:

    • 创建、修改或删除任意数据库
    • 更改服务器或数据库的配置值
    • 修改或添加登录帐户
  • 不要在 master中创建用户对象。 否则,必须更频繁地备份 master 。

  • 不要针对 master 数据库将 TRUSTWORTHY 选项设置为 ON。

当 master 不可用时怎么办

如果 master 数据库不可用,则可以通过下列两种方式之一将该数据库返回到可用状态:

  • 从当前数据库备份还原 master 。

    如果你可以启动服务器实例,则应该能够从完整数据库备份还原 master 。 有关详细信息,请参阅还原 master 数据库 (Transact-SQL)。

  • 完全重新生成 master 。

    如果由于 master 严重损坏而无法启动 SQL Server,则必须重新生成 master。 有关详细信息,请参阅 重新生成系统数据库。

     重要

    重新生成 master 将重新生成所有系统数据库。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论