博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server系统数据库备份最佳实践
阅读量:6528 次
发布时间:2019-06-24

本文共 2129 字,大约阅读时间需要 7 分钟。

原文:

首先了解主要的系统数据库:

系统数据库
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 masterGOsp_configure 'show advanced options'GO/* 0 = Disabled , 1 = Enabled */sp_configure 'xp_cmdshell', 1GORECONFIGURE WITH OVERRIDEGO
使用下面语句可以把系统数据库备份到E盘的 
SystemDatabaseBackups
  文件夹中:

USE masterGOSELECT GETDATE() AS 'System Database Backup Start Time'GO/* Backup Distribution Database */ BACKUP DATABASE Distribution TO DISK = 'E:\SystemDatabaseBackups\Distribution.BAK' WITH INITGO/* Backup ReportServer Database */ BACKUP DATABASE ReportServer TO DISK = 'E:\SystemDatabaseBackups\ReportServer.BAK' WITH INITGO/* Backup ReportServerTempDB Database */ BACKUP DATABASE ReportServerTempDB TO DISK = 'E:\SystemDatabaseBackups\ReportServerTempDB.BAK' WITH INITGO/* Backup Master Model */ BACKUP DATABASE Model TO DISK = 'E:\SystemDatabaseBackups\Model.BAK' WITH INITGO/* Backup Master Database */ BACKUP DATABASE Master TO DISK = 'E:\SystemDatabaseBackups\Master.BAK' WITH INITGO/* Backup Master MSDB */ BACKUP DATABASE MSDB TO DISK = 'E:\SystemDatabaseBackups\MSDB.BAK' WITH INITGO/* 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"' GOEXEC xp_cmdshell 'COPY /Y "D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn\mssqlsystemresource.ldf" "E:\SystemDatabaseBackups"'GOSELECT GETDATE() AS 'System Database Backup End Time'GO

转载地址:http://cxtbo.baihongyu.com/

你可能感兴趣的文章
Ubuntu12.10 使用DNW传数据 进行ARM开发板烧写
查看>>
spring boot 继承WebMvcConfigurationSupport后自动配置不生效问题
查看>>
Http与Https
查看>>
POJ 2407 (欧拉函数)
查看>>
(七)Centos之链接命令
查看>>
(三)UML之类图关系
查看>>
紫书 例题 10-1 UVa 11582 (unsigned long long+模)
查看>>
反射的妙用_项目中的时间配置问题
查看>>
HP ALM
查看>>
VS2010 配置PCL1.6.0AII in one 无法启动程序ALL_BUILD
查看>>
hdu 1385 Minimum Transport Cost
查看>>
[2018-10-30] python开发个人资源共享网--第三天
查看>>
解决StretchBlt()压缩图片失真
查看>>
Git环境配置+VSCode中文乱码问题
查看>>
[BZOJ] 2748 [HAOI2012]音量调节
查看>>
unity 质量设置 Quality Settings
查看>>
再详细的介绍一下Unity5的AssetBundle
查看>>
bootstrap
查看>>
yii生成Model出错:yii-gii-generators-model-Generator.json No such file or dictory
查看>>
常见中文字体名和英文字体名的对应关系
查看>>