SQL Server 代理使用 msdb 数据库来计划警报和作业,以及 SQL Server Management Studio、Service Broker 和数据库邮件等其他功能。
例如,SQL Server 会在 msdb 中的表中自动维护完整的联机备份和还原历史记录。 此信息包括执行备份的参与方的名称、备份的时间以及存储备份的设备或文件。 SQL Server Management Studio 使用此信息来建议用于还原数据库并应用任何事务日志备份的计划。 即使使用自定义应用程序或第三方工具创建备份事件,也会记录所有数据库的备份事件。 例如,如果使用调用 SQL Server 管理对象 (SMO) 对象的 Microsoft Visual Basic 应用程序来执行备份作,则会在 msdb 系统表、Microsoft Windows 应用程序日志和 SQL Server 错误日志中记录该事件。 为了帮助保护存储在 msdb 中的信息,建议考虑将 msdb 事务日志置于容错存储上。
默认情况下, msdb 使用简单的恢复模式。 如果使用 备份和还原历史记录 表,建议使用 msdb 的完整恢复模式。 有关详细信息,请参阅恢复模式 (SQL Server)。 请注意,安装或升级 SQL Server 时,每当使用 Setup.exe 重新生成系统数据库时, msdb 的恢复模式将自动设置为简单。
重要
在更新 msdb 的任何作(例如备份或还原任何数据库)之后,建议备份 msdb。 有关详细信息,请参阅备份和还原系统数据库 (SQL Server)。
msdb 的物理属性
下表列出了 msdb 数据和日志文件的初始配置值。 对于不同版本的 SQL Server 数据库引擎,这些文件的大小可能会略有不同。
文件 | 逻辑名称 | 物理名称 | 文件增长 |
---|---|---|---|
主要数据 | MSDBData | MSDBData.mdf | 自动增长 10%,直到磁盘已满。 |
日志 | MSDBLog | MSDBLog.ldf | 自动增长 10%, 最大为 2 TB。 |
若要移动 msdb 数据库或日志文件,请参阅 移动系统数据库。
数据库选项
下表列出了 msdb 数据库中每个数据库选项的默认值,以及是否可以修改该选项。 若要查看这些选项的当前设置,请使用 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)。
限制
无法对 msdb 数据库执行以下作:
更改排序规则。 默认排序规则是服务器排序规则。
删除数据库。
从数据库中删除 来宾 用户。
启用变更数据捕获。
参与数据库镜像操作。
删除主文件组、主数据文件或日志文件。
重命名数据库或主文件组。
将数据库设置为 OFFLINE。
将主文件组设置为READ_ONLY。