MY MSSQL数据库备份和还原概述精心整理.docx
- 文档编号:4890375
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:21
- 大小:1.48MB
MY MSSQL数据库备份和还原概述精心整理.docx
《MY MSSQL数据库备份和还原概述精心整理.docx》由会员分享,可在线阅读,更多相关《MY MSSQL数据库备份和还原概述精心整理.docx(21页珍藏版)》请在冰豆网上搜索。
MYMSSQL数据库备份和还原概述精心整理
MSSQL
数据中心数据库备份和恢复概述
数据库版本
MSSQL2005/2008
操纵系统
Win2003/Win7/Win8
整理人
Demon
文档版本
2013-V3
文档控制
仅限于公司内部交流使用
一、数据安全第一原则:
容灾备份重于一切
实施数据中心的容灾备份,是企业业务持续运作的要求、同时也是企业规避风险健康发展、进行全球化战略发展和布局、成为世界级企业的要求。
也是行业监管政策的必要措施。
没有容灾备份,它存在的风险所可能带来的损失是难以估量的。
以金融业为例,据专家统计,在灾难停机两天内所受损失为日营业额的50%;如果在两星期内无法恢复信息系统,75%的公司将业务停顿,43%的公司将再也无法开业;没有实施灾难备份措施的公司60%将在灾难后2-3年间破产。
由此可见灾难恢复对公司正常运行的重要性、必要性和迫切性。
数据库的破坏是难以预测的。
数据库中的数据丢失或被破坏可能是由于以下原因:
◆计算机硬件故障。
由于使用不当或产品质量等原因,计算机硬件可能会出现故障,不能使用。
如硬盘损坏会使得存储于其上的数据丢失。
◆软件故障。
由于软件设计上的失误或用户使用的不当,软件系统可能会误操作数据引起数据破坏。
◆病毒。
破坏性病毒会破坏系统软件、硬件和数据。
◆误操作。
如用户误使用了诸如DELETE、UPDATE等命令而引起数据丢失或被破坏。
◆自然灾害。
如火灾、洪水或地震等,它们会造成极大的破坏,会毁坏计算机系统及其数据。
◆盗窃。
一些重要数据可能会遭窃。
SQLServer只允许系统管理员、数据库所有者和数据库备份执行者备份数据库。
备份是数据库系统管理的一项重要内容,也是系统管理员的日常工作。
二、容灾级别:
数据级容灾和应用级容灾
按照对应用系统的保护程度可以分为数据级容灾和应用级容灾。
◆数据级容灾
通过在异地建立一份数据复制的方式保证数据的安全性,当本地工作系统出现不可恢复的物理故障时,容灾系统提供可用的数据。
数据级容灾是容灾的基础形式,由于只需要考虑数据的复制和存放,不需要考虑备用系统,实现起来相对简单,投资也较少。
数据级容灾系统只保证数据的完整性、可靠性和安全性,但提供实时服务的请求在灾难中会中断。
数据级容灾需要考虑三方面问题:
在线模式与离线模式问题;远程数据复制技术问题;同步与异步容灾问题。
◆应用级容灾
应用级容灾能保证业务的连续性。
在数据级容灾的基础上,建立备份的应用系统环境,当本地工作系统出现不可恢复的物理故障时,容灾系统提供可用的数据和应用系统。
应用级容灾系统是建立在数据级容灾系统基础上的,同时能完成数据和应用系统环境的复制存放和管理。
为实现发生灾难时的应用切换,容灾中心需要配置与工作系统同构和相同功能的业务网络、应用服务器、应用软件等。
应用级容灾还需要考虑数据复制的完全性、数据的一致性、数据的完整性、网络的通畅性、容灾切换的性能影响、应用软件的适应性改造等问题,以及为保证业务运行的所需设备、环境、人员及其相应的管理。
因此对服务中断不太敏感的部分可以选择数据级容灾,以便节省成本;在数据级容灾的基础上构建应用级容灾系统,保证实时服务不间断运行,为用户提供更好的服务。
三、备份内容
数据库中数据的重要程度决定了数据恢复的必要与重要性,也就决定了数据是否及如何备份。
◆
系统数据库
系统数据库包括master、msdb和model;
master-从整体上控制用户数据库和MSSQL操作,在创建了任何用户定义的对象后,都要备份它
model-为新数据库提供模版和原型
msdb-包含了有关作业、报警及操作员等信息
它们是确保MSSQL系统正常运行的重要依据。
因此,系统数据库必须被完整备份。
◆用户数据库
用户数据库则记录了用户的数据。
例如,K3数据库和生产管理系统数据库中的数据,是用户关键数据,也必须被完整备份。
四、备份方式
◆数据库完整备份
就是备份整个数据库的内容。
若将整个数据库的内容都备份下来,需很多的存储空间来存放备份数据,并且速度较慢,但其好处是在还原数据库时,也只要将整个数据库从一份数据库备份还原到SQLSERVER中就可以了。
它是其他备份的基础,在做其他备份之前,必须得做此种方式的备份。
在对数据库进行完整备份时,所有未完成的事务或者发生在备份过程中的事务都将被忽略,所以尽量在一定条件下才使用这种备份类型。
◆数据库差异备份(Differential)
只备份从上一次执行“完全”数据库备份后有改动的数据,因此所需要的备份时间和备份空间都比“完全”方式少,所以此方式最适合作为经常性的备份方式。
和完整备份一样,差异备份也包括了事务日志部分,为了能将数据库还原至备份操作完成时的状态,会需要这些事物日志部分。
在下列情况下可以考虑使用差异数据库备份:
①自上次数据库备份后数据库中只有相对较少的数据发生了更改,如果多次修改相同的数据,则差异数据库备份尤其有效。
②使用的是完整恢复模型或大容量日志记录恢复模型,希望需要最少的时间在还原数据库时前滚事务日志备份。
③使用的是简单恢复模型,希望进行更频繁的备份,但非进行频繁的完整数据库备份。
◆事务日志(TransactionLog)
只备份事务记录文件的内容,由于事务日志文件只会记录我们在前一次数据库备份或事务日志记录备份之后,对数据库所做的变动过程,也就是只记录某一段时间的数据库变动情况,因此在做事务记录备份之前,必须做一次“完全”的数据库备份
事务日志备份是所有数据库修改的系列记录,用来在还原操作期间提交完成的事务以及回滚未完成的事务。
在备份事务日志时,备份将存储自上一次事务日志备份后发生的改变,然后截断日志,以此清除已经被提交或放弃的事务。
不同于完整备份和差异备份,事务日志备份记录备份操作开始时的事务日志状态(而不是结束时的状态)。
以下情况我们常选择事务日志备份:
①存储备分文件的磁盘空间很小或者留给进行备份操作的时间很短。
②不允许在最近一次数据库备份之后发生数据丢失或损坏现象。
③准备把数据库恢复到发生失败的前一点,数据库变化较为频繁
◆文件和文件组:
如果数据库的内容分散存储于多个文件或文件组,而且数据库已非常大,大到进行一次完整的数据库备份会有时间和存储空间上的问题。
这时就可以使用此方式来备份数据库的部分文件或文件组。
由于每次只备份部分的文件或文件组,因此需做数次不同的备份才能完成整个数据库的备份。
才用此方式备份也有个好处,就是当毁坏的数据只是数据库中的某个文件或文件组时,也只要还原坏的文件或文件组备份就可以了。
五、
恢复模式
◆简单恢复模式
简单恢复模式是为了恢复到上一次备份点的数据库而设计的。
使用这种模式的备份策略应该由完整备份和差异备份组成。
当启用简单恢复模式时,不能执行事务日志备份。
◆完整恢复模式
完整恢复模式设计用于需要恢复到失败点或者指定时间点的数据库。
使用这种模式,所有操作被写入日志中,包括大容量操作和大容量数据加载。
使用这种模式的备份策略应该包括完整、差异以及事务日志备份或仅包括完整和事务日志备份。
◆大容量日志恢复模式
大容量日志恢复模式减少日志空间的使用,但仍然保持完整恢复模式的大多数灵活性。
使用这种模式,以最低限度将大容量操作和大容量加载写入日志,而且不能针对逐个操作对其进行控制。
如果数据库在执行一个完整或差异备份以前失败,将需要手动重做大容量操作和大容量加载。
使用这种模式的备份策略应该包括完整、差异以及事务日志备份或仅包括完整和事务日志备份。
六、容灾备份策略
规划数据库的备份策略,需要考虑备份的各项变量,必须同时考虑到原作业的进行。
在做备份时,可考虑以下几点。
◆有多少时间以及在那些时段可进行备份
◆数据库变动的频率如何
◆数据库大小
◆当数据库出问题时,用户愿意等待多久让数据库还原完毕
◆应采用何种备份方式,做怎样的搭配
◆要使用哪种存储介质
七、容灾备份方案
针对K3数据库,容量为7G,恢复模式为简单模式。
三种方案如下
◆完整备份+差异备份
1每周日凌晨0:
00自动进行一次完整备份;
2每周一到周六凌晨0:
00自动进行一次差异备份;
3系统数据库每两周自动备份一次;配置有改动时立即进行手动备份;
4本机备份文件定期备份到另外一台服务器,并且清理过期备份
◆使用备用数据库服务器
1安装一台和数据库服务器完全一样的备用服务器,并且在一个网段;
2定期将最新的完整备份和差异备份还原到备用服务器;
3数据库服务器有问题时,马上可以启用备用服务器;
4(也可采用SQL2005的镜像技术进行双机热备,但缺点也很多,操作复杂,有局限性,不利于维护。
)
◆数据库集群+存储
5网络虚拟化后,多台群集数据库服务器共享存储,任何一台服务器出问题,可以立即访问另外一台,数据零损失,间断时间短;
6存储运行很久才可能需要重启一次,间断时间可以忽略不计;
7要考量存储的备份;
8投资比较大
八、自动冷备份步骤
我们通常说的备份,都是指数据的冷备份。
MSSQL的自动备份有三种方法
1完全使用SQLServer自带的自动备份机制。
在这种方式中,通过维护计划调用SQLServer内置的“备份数据库”任务并配置定时作业实现。
2不使用维护计划,在定时作业中配置备份命令。
3不使用维护计划,在master库中编写备份的存储过程,然后配置定时作业调用该存储过程。
我们推荐使用维护计划实现常用的数据库管理工作。
下面是使用维护计划实现自动冷备份的详细步骤:
◆首先需要启动SQLServerAgent服务
◆点击“开始”–“所有程序”–“MicrosoftSQLServer”–“启动SQLServerManagementStudio”登录数据库,点击管理–维护计划–点击维护计划向导如图所示:
9点击“维护计划向导”后跳出对话框,如图所示:
10点击“下一步”如图所示(可以使用windows身份验证,或者创建一个专用账号,避免使用SA账号)
11点击“下一步”如图所示(根据需要可以多选)
12点击“下一步”如图所示
(可以选多个需要备份的用户数据库;或所有系统数据库)
13点击“下一步”如图所示(选多个数据库的话,最好是选上为每个数据库创建子目录;扩展名最好是完整备份和差异备份区别开)
14点击“下一步”如图所示,点更改,配置计划周期
(按照方案,进行周期的设置,如每周日完整备份,如图)
15点击“下一步”如图所示,保存处理的报告(最好是另外建个log文件夹)
到此基本配置完毕,点“下一步”系统进行创建作业
点击“关闭”,完成配置
16最后在管理-维护计划下,可看到我们创建的计划k3-full
(系统会按照设定的周期自动执行备份;另外我们也可以在需要的时候手动执行。
方法是:
右键点击k3-full,选择“执行”即可。
)
到此完成了自动进行K3的数据库完整备份(每周日);
按照这个步骤进行差异备份的设置(每周一至周六);
如图:
按照这个步骤进行系统数据库完整备份的设置(每两周);
如图:
最终的维护计划和作业,如图所示:
自动备份作业创建完成后,可在设定的时间点后检查作业是否成功执行:
1查看备份目录下是否有文件生成,文件的命名是否符合需求;
2在“作业”中,选择相应的作用,右键选择“查看历史记录”,将会显示作业的执行结果,包括作业执行成功/失败、作业开始执行的时间、作业耗费的时间。
如果改变了维护计划,如IP、账号、周期等,需要重启Agent代理才生效。
另外需要注意的是,在备份过程中不允许执行以下操作,否则备份会失败:
1创建或删除数据库文件;
2创建索引;
3执行非日志操作;
4自动或手工缩小数据库或数据库文件大小。
九、数据库恢复步骤
备份的意义,在于一旦系统发生崩溃或者执行了错误的数据库操作,就可以从备份文件中还原数据库。
由于数据库的还原操作是静态的,所以在还原数据库时,必须限制用户对该数据库进行其他操作,因而在还原数据库之前,首先要设置数据库访问属性。
◆系统数据库的恢复
如果是在新的服务器上恢复,需要首先恢复系统数据库。
通常恢复顺序为master->msdb->model
Master恢复的步骤如下(假设目前服务器上master数据库可以运行)
先停止SQLServer服务和Agent服务,然后用singleuser模式启动
singleuser模式启动的方法有几种:
1在DOS命令行模式下,切换到MSSQL路径
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Binn\
输入sqlservr-c-f-m或者输入sqlservr–m,窗口保持打开,不要关闭
2可以打开MSSQLServer服务,在启动参数中输入-c-f-m或者输入-m
其中:
-c可以缩短启动时间,SQLServer不作为WindowsNT的服务启动
-f用最小配置启动SQLServer
-m单用户模式启动SQLServer
新打开一个DOS窗口,执行以下命令还原
执行sqlcmd–E,在命令提示符下执行restore进行还原
Restoredatabasemasterfromdisk=’C:
/test/master/master_backup_201309261626.bak’
则表示master数据库还原成功,启动服务后进入SSMS即可看到master数据库了
在恢复master数据库时model和msdb数据库也会被更建,
所以master数据恢复完成后,应该立即还原model和msdb数据库。
Msdb和model的恢复请参照上面master数据库恢复的方法
也可以使用SSMS图形界面进行恢复,参考用户数据库的方法
◆用户数据库的恢复
首先恢复需要的时间点的完整备份,然后恢复需要的时间点的差异备份
17设置用户数据库为单用户2005可以直接在图形界面设置
也可直接使用TSQL
usemaster
ALTERDATABASEtest1
SETSINGLE_USERWITHROLLBACKIMMEDIATE;
--换回多用户则用SETMULTI_USER
18在需要恢复的数据上右击,选择还原数据库
19在“常规”选项卡中,选择最近的完整备份和最新的差异备份(完整备份和差异备份都仅仅需要一个,找一个需要的时间点即可)
20在“选项”选项卡中,选中“覆盖现有数据库”
21数据库恢复后,需要进行必要的检查
a)数据库状态的检查
要检查数据库是否为“置疑”,“只读”,“单用户”
“紧急”等异常的状态
“置疑”状态,检查磁盘空间,然后重启下MSSQL服务再检查;还是置疑,重新恢复,刷新:
还不行则删除目前的用户数据库,新建同名数据库,然后重新进行恢复。
其它状态可以查看并修改属性
见下图:
b)孤立用户的检查
所谓孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在mater数据库的syslogins中却没有对应的记录。
孤立用户的产生一般有两种情况:
在新的服务器上还原数据库/重装MSSQL后仅恢复了用户数据库
解决办法:
使用sp_change_users_login修复孤立用户登录
从SQLServer2005SP2开始,T-SQL的AlterUSER命令就包含了WITHLOGIN子句,这个子句通过修改数据库用户的SID为服务器登录的安全标识符修复孤立登录,它可以同时修复Windows和SQLServer登录的功能AlterUSERWITHLOGIN。
sp_change_users_login是為了跟舊版SQLServer相容所存留下來的方法,建議SQLServer2005SP2以後的版本改用ALTERUSER。
列出当前数据库的孤立用户
useAIS20111031112040
execsp_change_users_login'REPORT'
可以查看某个用户对应的登陆账号,孤立账号对应的登录名为null
execsp_helpuser'mytest'
在server的“安全性“->“登录名“,针对所有孤立用户创建登录名,
最后会报错说数据库中对象已存在,这是因为用户数据库中已经有账号,此时登录名已经创建成功。
然后将用户名映射为指定的登录名
execsp_change_users_login'UPDATE_ONE','mytest','mytest'
使用execsp_helpuser'mytest'检查是否成功
c)数据库完整性检查
DBCCCHECKDB('数据库名如test1')
结果如下则为正常:
CHECKDB在数据库'test1'中发现0个分配错误和0个一致性错误。
d)还要检查什么里……
◆自动恢复
数据库的恢复操作,也可以使用恢复命令,设置为自动进行。
在主服务器上恢复,不能采用自动方式;
而在备用服务器上,由于恢复之前,一般要备份当前数据库;恢复之后,还需要进行一些必要的检查工作,所以关键的数据库不采用自动恢复,最好手动进行;一些不是很重要的数据库,可以考虑自动恢复。
一十、自动清理过期备份文件
由于磁盘空间的限制,需要将过期的备份文件自动清除掉,这样才可以构成合理的备份计划。
我们建议使用Forfiles工具。
而对于某一次需要长期保留的备份,可以将备份文件移到想要的文件夹,进行长期保留。
◆Forfiles工具
Forfiles.exe在WindowsServer2003及以上的机器上都自带了。
Forfiles可以批量处理文件,如复制、删除等DOS的command处理。
它可以将某指定目录包括其子目录的所有符合条件的文件,批量进行处理。
支持日期比较,支持通配符。
也可以处理目录。
这个命令通常用于批处理中。
可以使用forfiles/?
查看各个参数的作用。
下面是使用的例子(列出以及删除):
22列出c:
\test目录下(包括子目录)所有test1+test2开头的并且修改日期在2013/10/01之前的所有文件
forfiles/pc:
\test/s/mtest1+test2*.*/d-2013/10/01/c"cmd/cecho@pathisquiteold!
"
forfiles/pc:
\test/s/mtest1+test2*.*/d-2013/10/01/c"cmd/cdel/f@path"
23列出c:
\test目录下(包括子目录)所有test1+test2开头的并且修改日期在15天之前的扩展名为full的所有文件
forfiles/pc:
\test/s/mtest1+test2*.full/d-15
/c"cmd/cecho@pathisquiteold!
"
forfiles/pc:
\test/s/mtest1+test2*.full/d-15
/c"cmd/cdel/f@path"
Forfiles配合MSSQLAgent或者系统计划任务,可以做到自动清除
过期的数据库备份文件。
Agent创建作业的处理步骤略去。
◆批处理命令
可以使用bat批处理文件,结合自动执行,来自动清除过期文件。
Win2000/winXP下一般采用这种方法;win2003及以上不建议使用。
一十一、自动将本地备份文件传到局域网其它服务器
一十二、数据库群集和存储的安装
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MY MSSQL数据库备份和还原概述精心整理 MSSQL 数据库 备份 还原 概述 精心 整理
![提示](https://static.bdocx.com/images/bang_tan.gif)