SQL Server 代理 利用msdb数据库来调度警报和作业。 其他使用msdb的功能包括 SQL Server Management Studio、Service Broker 和 数据库邮件。
例如,SQL Server 会自动维护完整的在线备份和恢复历史,存储在 中的msdb表中。 这些信息包括执行备份的方名称、备份时间以及存储备份的设备或文件。 SQL Server Management Studio 利用这些信息来提出计划,以还原数据库和应用任何事务日志备份。 系统会记录所有数据库的备份事件,即使这些事件是由自定义应用程序或第三方工具创建的。 例如,如果你使用一个调用 SQL Server 管理对象(SMO)进行备份操作的 C# 应用程序,该事件会被记录在msdb系统表、Windows 应用日志和 SQL Server 错误日志中。 为了保护存储 msdb 的信息,考虑将交易日志放在 msdb 容错存储上。
默认情况下,使用 msdb 简单的恢复模型。 如果你使用备份和恢复历史表,请使用完整的恢复模型。msdb 有关详细信息,请参阅 恢复模型(SQL Server)。 当你安装或升级SQL Server或使用 Setup.exe 重建系统数据库时,安装会自动将恢复msdb模型设置为简单。
重要
在进行任何更新 msdb操作后,比如备份或恢复任何数据库,都会备份 msdb。 有关详细信息,请参阅备份和还原:系统数据库(SQL Server)。
msdb该数据库在 Azure SQL 托管实例 中提供了不同的选项。 更多信息请参见 备份透明度。
MSDB的物理性质
下表列出了数据和日志文件的 msdb 初始配置值。 这些文件的大小可能会因不同版本的 SQL Server 数据库引擎 略有差异。
| 文件 | 逻辑名称 | 物理名称 | 文件增长量 |
|---|---|---|---|
| 原始数据 | MSDBData |
MSDBData.mdf |
以 10% 的速度自动增长到磁盘充满为止。 |
| 日志 | MSDBLog |
MSDBLog.ldf |
以 10% 的速度自动增长到最大 2 TB。 |
要移动 msdb 数据库或日志文件,请参见 “移动系统数据库”。
数据库选项
下表列出了数据库中每个选项 msdb 的默认值,以及你是否可以修改该选项。 若要查看这些选项的当前设置,请使用 sys.databases 目录视图。
| 数据库选项 | 默认值 | 是否可修改 |
|---|---|---|
ALLOW_SNAPSHOT_ISOLATION |
ON |
否 |
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 |
是 |
| 数据库可用性选项 | ONLINEMULTI_USERREAD_WRITE |
否 是 是 |
DATE_CORRELATION_OPTIMIZATION |
OFF |
是 |
DB_CHAINING |
ON |
是 |
ENCRYPTION |
OFF |
否 |
MIXED_PAGE_ALLOCATION |
ON |
否 |
NUMERIC_ROUNDABORT |
OFF |
是 |
PAGE_VERIFY |
CHECKSUM |
是 |
PARAMETERIZATION |
SIMPLE |
是 |
QUOTED_IDENTIFIER |
OFF |
是 |
READ_COMMITTED_SNAPSHOT |
OFF |
否 |
RECOVERY |
SIMPLE |
是 |
RECURSIVE_TRIGGERS |
OFF |
是 |
| Service Broker 选项 | ENABLE_BROKER |
是 |
TRUSTWORTHY |
ON |
是 |
有关这些数据库选项的描述,请参见 ALTER DATABASE。
局限性
你不能对数据库执行以下操作 msdb :
更改排序规则。 默认排序规则为服务器排序规则。
删除数据库。
从数据库中删除 guest 用户。
启用变更数据捕获。
参与数据库镜像。
删除主文件组、主数据文件或日志文件。
重命名数据库或主文件组。
将数据库设置为
OFFLINE。将主文件组
READ_ONLY设置为 。
建议
使用数据库时 msdb ,请考虑以下建议:
一定要随时准备数据库的最新备份
msdb。在完成以下操作后尽快备份
msdb数据库:- 创建、修改或删除任何作业、警报、代理或维护计划
- 添加、更改或删除 数据库邮件 配置文件
- 添加、修改或删除基于策略的管理策略
不要在
msdb. 如果有,就更频繁地倒车msdb。把数据库当
msdb作高度敏感,没有必要不要授权任何人访问。 系统管理员固定服务器角色的成员通常也拥有 SQL Server 代理 作业。 确保没有人能篡改运行的代码。审计 中对象的任何变更
msdb。