SQL Server系统数据库备份最佳实践
首先了解主要的系统数据库:
master | 包含登录信息和其他数据库的核心信息 |
msdb | 存储作业、操作员、警报、备份还原历史。数据库邮件信息等等。 |
model | 所有新数据库的模型,如果希望新数据库都有某些对象,可以在这里创建。 |
tempdb | sql server重启时重建,所以不需要备份 |
除了以上四种,其实还有一个数据库:Resource
从2005就引入的,一个只读、隐藏的数据库,包含所有在sql server中的系统对象。由于SQL SERVER不支持备份还原Resource数据库。所以DBA需要复制Resource的mssqlsystemresource.mdf和mssqlsystemresource.ldf文件。
SQL Server 2005 中的Resource数据库在路径: “<drive>:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\” location
SQL Server 2008 中的Resource数据库在路径: “<drive>:\Program Files\Microsoft SQL Server\MSSQL10.<instance_name>\MSSQL\Binn\” location.
报表服务数据库:如果装了报表服务,将会看到这两个服务数据库
ReportServer
ReportServerTempDB
Replication System Database(复制服务系统数据库)
distribution - 当配置了复制服务时,将会看到这个数据库。
如果需要执行基于文件的备份功能来备份Resource数据库,则需要开启XP_CmdShell
使用下面语句可以把系统数据库备份到E盘的 SystemDatabaseBackups 文件夹中: