SQL Server系统数据库备份最佳实践

原文: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

USE master
GO
sp_configure 'show advanced options'
GO
/* 0 = Disabled , 1 = Enabled */
sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE WITH OVERRIDE
GO

使用下面语句可以把系统数据库备份到E盘的 SystemDatabaseBackups  文件夹中:

USE master
GO
SELECT GETDATE() AS 'System Database Backup Start Time'
GO
/* Backup Distribution Database */
BACKUP DATABASE Distribution
TO DISK = 'E:\SystemDatabaseBackups\Distribution.BAK'
WITH INIT
GO
/* Backup ReportServer Database */
BACKUP DATABASE ReportServer
TO DISK = 'E:\SystemDatabaseBackups\ReportServer.BAK'
WITH INIT
GO
/* Backup ReportServerTempDB Database */
BACKUP DATABASE ReportServerTempDB
TO DISK = 'E:\SystemDatabaseBackups\ReportServerTempDB.BAK'
WITH INIT
GO
/* Backup Master Model */
BACKUP DATABASE Model
TO DISK = 'E:\SystemDatabaseBackups\Model.BAK'
WITH INIT
GO
/* Backup Master Database */
BACKUP DATABASE Master
TO DISK = 'E:\SystemDatabaseBackups\Master.BAK'
WITH INIT
GO
/* Backup Master MSDB */
BACKUP DATABASE MSDB
TO DISK = 'E:\SystemDatabaseBackups\MSDB.BAK'
WITH INIT
GO
/* Copy Resource Database Files Using XP_CMDSHELL */
EXEC xp_cmdshell 'COPY /Y "D:\Program Files\Microsoft SQL Server\MSSQL10.
SQL2008\MSSQL\Binn\mssqlsystemresource.mdf" "E:\SystemDatabaseBackups"'
GO
EXEC xp_cmdshell 'COPY /Y "D:\Program Files\Microsoft SQL Server\MSSQL10.
SQL2008\MSSQL\Binn\mssqlsystemresource.ldf" "E:\SystemDatabaseBackups"'
GO
SELECT GETDATE() AS 'System Database Backup End Time'
GO
时间: 2025-01-19 10:08:15

SQL Server系统数据库备份最佳实践的相关文章

SQL Server 系统数据库恢复

原文:SQL Server 系统数据库恢复 标签:SQL SERVER/MSSQL SERVER/数据库/DBA/故障恢复/master 概述      SQL Server 维护一组系统级数据库(称为"系统数据库"),这些数据库对于服务器实例的运行至关重要.每次进行大量更新后,都必须备份多个系统数据库.必须备份的系统数据库包括 msdb.master 和 model.如果有任何数据库在服务器实例上使用了复制,则还必须备份 distribution 系统数据库.备份这些系统数据库,就可

如何解决Sql Server 2008数据库备份还原后出现“受限制用户”

Sql Server 2008 在备份还原后经常出现数据库"受限制用户"的问题,可以通过设置数据库属性->选项->状态->限制访问,一般情况选中"Multiple"即可.

深入了解SQL Server系统数据库工作原理

数据库管理员(DBA)的一项基本的技能是对SQL数据库引擎的系统数据库的深刻理解.数据库开发人员了解SQLSERVER自带的系统数据库也是十分有用的.下面就列出了其中的一些系统数据库.(注:如果你决定研究一下这些系统数据库,那么你需要有一个开发数据库.) Master Master数据库保存有放在SQLSERVER实体上的所有数据库,它还是将引擎固定起来的粘合剂.由于如果不使用主数据库,SQLSERVER就不能启动,所以你必须要小心地管理好这个数据库.因此,对这个数据库进行常规备份是十分必要的.

Sql Server系统数据库有什么作用

Master Master数据库保存有放在SQLSERVER实体上的所有数据库,它还是将引擎固定起来的粘合剂.由于如果不使用主数据库,SQLSERVER就不能启动,所以你必须要小心地管理好这个数据库.因此,对这个数据库进行常规备份是十分必要的. 这个数据库包括了诸如系统登录.配置设置.已连接的SERVER等信息,以及用于该实体的其他系统和用户数据库的一般信息.主数据库还存有扩展存储过程,它能够访问外部进程,从而让你能够与磁盘子系统和系统API调用等特性交互.这些过程一般都用像C++这样的现代编程

sql server 2005数据库备份还原图文教程_mssql2005

首先.点击桌面的"SQL Server Management Studio"打开,sql2005的管理器,点击"连接"登录,如图: 一.新建数据库 1.新建数据库 右键点击"数据库"--"新建数据库",如图: MSSQL2005备份还原图文教程 填写数据库名,如mydata,选择数据库保存路径,一般可以保持默认地址,点击"确定". 2.新建用户 右键点击"安全性"--"登录名&

SQL Server 2005报表设计:最佳实践和指导

本文包含了Microsoft SQL Server报表服务报表设计的技巧和最佳实践.本文提供一些基本的设计问题和一些报表服务的功能. 关于这篇文档 从使用数据控件,到使用什么格式,到如何分发报表,报表制作者面对着很多种选择.Microsoft SQL Server 报表服务提供了丰富的报表设计和格式的支持,从基于纸介质表格报表到带有图片和钻取功能的交互式报表 这篇文档包括了报表制作和设计中的指导.建议和技巧.本文档的目的在于解释一般性的问题并对初学者提供指导建议.报表服务联机丛书提供了报表的制作

SQL Server 实现数据库备份的维护计划

       有了上面的基础,我们加入了数据库的备份元素,通过维护计划来生成数据库的备份文件,这包括两种文件,数据库的完全备份与差异备份,有了这两个文件,我们可以通过SQL Server 备份和还原全攻略(图形操作)或者SQL Server 数据库最小宕机迁移方案(代码操作)的方法来还原我们的数据:   二.场景设计 假设我们的数据库不是很大,但是我们的数据会比较重要,大概一天一个备份就能满足我们的业务需要,那我们应该如何设计我们的备份方案呢? 星期天晚上02:00做一次数据库的完全备份,其它时

重建 SQL Server 系统数据库!

server|数据|数据库 1.停止数据库服务,以单用户模式启动数据库,方法是在命令提示符下输入: sqlservr -c -f -m 2.进入查询分析器,运行如下命令: restore database master from disk='c:\master' 注意:恢复系统数据库的顺序为:master->msdb->model

SQL SERVER 2000 数据库备份与还原

server|备份|数据|数据库 备份数据库,例如: BACKUP DATABASE Northwind    TO DISK = 'c:\Northwind.bak' 还原数据库,例如: --返回由备份集内包含的数据库和日志文件列表组成的结果集RESTORE FILELISTONLY    FROM DISK = 'c:\Northwind.bak' --还原由BACKUP备份的数据库RESTORE DATABASE Northwind   FROM DISK = 'c:\Northwind.