备份 model 和 msdb 数据库时的注意事项

执行任一更新数据库的操作后,必须备份 modelmsdb 数据库。备份是很重要的,例如,由于媒体故障导致数据库受损时能够可以利用备份进行还原:

  • 如果 msdb 被损坏,则 SQL Server 代理使用的所有计划信息都将丢失,并且必须手动重新创建。备份与还原历史记录信息也将丢失。

  • 如果 model 数据库损坏,而且当前没有可用的备份,则添加到 model 数据库中的所有用户特定模板信息都将丢失,必须手动重新创建。

备份 modelmsdb 数据库的方式与备份用户数据库相同。将定期检查 modelmsdb 数据库是否发生了更改,如果是,则进行备份。

model 和 msdb 数据库的概述

modelmsdb 数据库执行下列功能:

  • SQL Server、SQL Server Management Studio 和 SQL Server 代理使用 msdb 数据库来存储数据,包括计划信息以及备份与还原历史记录信息。

    SQL Server 将在 msdb 数据库中自动维护一份完整的联机备份与还原历史记录。这些信息包括执行备份一方的名称、备份时间和用来存储备份的设备或文件。SQL Server Management Studio 利用这些信息提出计划以还原数据库并应用事务日志备份。将会记录有关所有数据库的备份事件,即使它们是由自定义应用程序或第三方工具创建的。例如,如果使用调用 SQL Server 管理对象 (SMO) 对象的 Microsoft Visual Basic 应用程序执行备份操作,则事件将记录在 msdb 系统表、Microsoft Windows 应用程序日志和 SQL Server 错误日志中。

    默认情况下,msdb 使用简单恢复模式。如果在恢复用户数据库时使用 msdb 数据库中的备份与还原历史记录信息,建议对 msdb 数据库使用完整恢复模式,并建议考虑将 msdb 事务日志放置在容错存储设备中。

    重要说明重要提示

    当安装或升级 SQL Server 时,只要使用 Setup.exe 重新生成系统数据库,msdb 的恢复模式便会自动设置为 SIMPLE。

  • 创建用户数据库时,model 数据库是 Microsoft SQL Server 使用的模板。model 数据库的全部内容(包括数据库选项)都会被复制到新的数据库。启动期间,也可使用 model 数据库的某些设置创建新的 tempdb,因此 model 数据库必须始终存在于 SQL Server 系统中。

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

创建完整数据库备份

计划备份作业

何时备份 model 和 msdb 数据库

执行任一修改数据库的操作后,必须备份 modelmsdb 数据库。这些数据库是用下列方法修改的:

  • msdb 数据库由下列操作自动更新:

    • 计划任务。

    • 在 SQL Server 实例中通过导入/导出向导创建存储 Integration Services 包。

    • 维护联机备份与还原历史记录。

    • 复制。

    • Setup.exe 将恢复模式重置为 SIMPLE。

    • 对基于策略的管理策略或条件进行补充或更改。

    我们建议您不要在 msdb 数据库中创建用户对象。但如果选择在 msdb 数据库中创建用户对象,则备份计划应当足够频繁,以保护对用户对象所做的更改。

  • 只有用户更改才能更新 model 数据库。