数据库备份与还原详解Word格式文档下载.docx
- 文档编号:22026095
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:10
- 大小:140.90KB
数据库备份与还原详解Word格式文档下载.docx
《数据库备份与还原详解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库备份与还原详解Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
大中小
订阅
一SQL2005数据库的备份
(一手工备份
手工备份,是最直接的数据库备份,也是最简单的备份,只要你点击要备份的数据库,右键属性-->
任务-->
备份,然后在打开的对话框内设置,然后确定一下,就OK了,它一个不太好的地方,就是直接备份,如果是默认的话,会覆盖前一个备份的bak,如下图,整个操作过程:
--------------------------------->
>
第二步,默认设置,完整备份,
--------------------->
第三步,如下:
已经备份好了
二,现在讲一下"
数据库还原"
上面既然有备份了数据库,万一运行中的数据库出问题,或数据受到攻击,那么此时你就要还原数据库了,对于还原sql2005比较麻烦,有几个细节要注意,
第一:
要"
恢复中的单用户模式问题"
否则会出现“数据库正在使用,所以无法获得对数据库的独占访问权”这样的提示,还原不了,
原因:
这是因为在还原数据库时,有其他用户正在使用数据库。
还原数据库要求数据库工作在单用户模式。
通常就是DBA在操
作时,不允许其他用户连接数据库。
其解决方法,配置数据库的属性,在如图14-32所示的【选项】选项卡中,设置【限制访问】参数为“Single”即可。
如下图:
(在某个要还原的数据库上右键属性
然后,选择属性"
Properties"
然后选择"
单用户模式"
(默认是"
多用户模式"
确定后,就还原成功了!
注意:
如果这样操作后,还不能还原,还提示"
数据库正在使用,所以无法获得对数据库的独占访问权"
的话,那么你要关闭当前的对象资源管理器,重新开启一下,再重新操作过,就可以了,因为有时该软件不怎么自动灵活"
可能是缓存原因还是其它的原因,具体我也不太清楚~
第二:
还原过程中,可能会出现"
尚未备份数据库的日志尾部"
如果出现这样的提示,说明:
"
在线还原的数据库在最后备份后又产生了新的日志,所以按照默认设置的备份选项,系统将提示备份日志尾部以免造成事务中断。
那么此时的解决方法如下:
如果需要备份尾部日志则进行备份。
如果不需要,则可以在还原数据库的的选项卡中选择【覆盖现有数据库】复选框。
另一种解决方式就是使用备份进行日志备份,然后在备份选项里选中备份日志尾部,将数据库置为还原状态,这样就不用在还原的时候选覆盖数据选项了,不过数据库在还原状态下不可用。
如下图(第一种解决方法:
覆盖现有数据库"
下直接还原,
数据库日志已满。
请备份该数据库的事务日志以释放一些日志空间
2010-04-1421:
04:
48
阅读129
网上查找的资料,按照步骤做到第三步就可以实现日志的压缩
--压缩日志及数据库文件大小
/*--特别注意
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.
--*/
1.清空日志
DUMP
TRANSACTION
库名
WITH
NO_LOG
2.截断事务日志:
BACKUP
LOG
数据库名
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC
SHRINKDATABASE(客户资料
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:
select
*
from
sysfiles
SHRINKFILE(1
4.为了最大化的缩小日志文件(如果是sql
7.0,这步只能在查询分析器中进行
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b.在我的电脑中删除LOG文件
c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将生成新的LOG,大小只有500多K
或用代码:
下面的示例分离
pubs,然后将
pubs
中的一个文件附加到当前服务器。
a.分离
EXEC
sp_detach_db
@dbname
=
'
pubs'
b.删除日志文件
c.再附加
sp_attach_single_file_db
@physname
c:
\Program
Files\Microsoft
SQL
Server\MSSQL\Data\pubs.mdf'
5.为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择"
自动收缩"
--SQL语句设置方式:
sp_dboption
数据库名'
autoshrink'
TRUE'
6.如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小
--SQL语句的设置方式:
alter
database
modify
file(name=逻辑文件名,maxsize=20
SQLServer数据库的备份和还原详解-
-
1.基本概念:
mdf文件:
SqlServer数据库的主数据文件
ldf文件:
SqlServer数据库的日志文件
SQLServer管理的每个数据库都对应一个mdf文件和一个ldf文件。
当SQLServer服务处于开启时,这些文件是无法删除的。
用SQLServer企业管理器,单击某个数据库,选择右键菜单中的“属性"
从弹出对话框的“数据文件”和“事务日志”标签页中可以查看这个数据库对应的mdf文件路径和ldf文件路径。
2.用SQLServer企业管理器备份和还原数据库:
例如,备份数据库到可移动存储介质,然后还原到另一台机器上,步骤如下:
备份:
单击要备份的数据库,从右键菜单选择“所有任务->
备份数据库”。
选择“完全备份”,删除“备份到”列表框中的现有内容,然后“添加”;
弹出“选择备份目的”对话框,“文件名”就是你要得到的备份文件的存放路径。
选好后确定,这时“备份到”列表框中出现你选择的目的文件路径。
因为没有重名文件,“追加”或“重写”选项的效果是一样的,不用管。
选中它,确定,等待备份完成。
完成后在你指定的路径下将看到你备份的文件,注意该文件默认没有后缀名。
备份文件还有很大的压缩空间,一般一个40多M的备份文件用winRAR压缩后只有4M左右,作为邮箱附件也没有问题。
还原:
将备份文件放到一个便于管理的文件夹下,例如你的数据库叫“test”,可以建立一个叫“e:
\db_bak\test\”的文件夹。
从SQLServer企业管理器单击“数据库”,选择“新建数据库...”,起名“test”,确定。
看到该数据库出现在数据库列表中,里面只有一些系统tables。
注意新建数据库默认的mdf文件和ldf文件都会被放在SQLServer安装目录下的子目录“MSSQL\data\”中,文件名与数据库名称相同。
单击该数据库,从右键列表中选择“所有任务->
还原数据库”。
弹出“还原数据库”对话框。
选择还原方式:
“从设备”,单击“选择设备”弹出“选择还原设备”对话框。
选择“还原自磁盘”。
“添加...”,“文件名”中填入你的备份文件路径,例如“e:
\db_bak\test\test”,确定。
回到“还原数据库”对话框后,在“选项”中勾选“在现有数据库上强制还原”(因为要改变“新建数据库”时默认创建的mdf文件和ldf文件)。
然后在下面“移至物理文件名”栏中填写你想将该数据库的mdf文件和ldf文件的保存路径。
注意如果路径不存在或者与已有文件名冲突,后面的备份过程中将报错。
为了便于管理,建议将mdf和ldf文件的路径设置为和备份文件一致,例如“e:
\db_bak\test\test_data.mdf”和“e:
\db_bak\test\test_log.ldf”。
确认,开始还原。
还原结束后刷新该数据库的tables列表,将看到和备份数据库一样的结构和数据,说明还原成功!
这时查看数据库属性,可以看到mdf文件和ldf文件都换成了你设置的文件路径。
原来的mdf和ldf文件同时被物理删除。
3.用mdf文件和ldf文件还原数据库
如果你有原数据库的mdf和ldf文件,可采用如下办法还原:
在SQLServer企业管理器中单击数据库,从右键菜单选择“所有任务->
附加数据库”。
在弹出的对话框中指定mdf文件路径,显示验证通过,确定,一切OK!
注意用这种方法要求两个文件缺一不可,文件名不曾改变,并且要在同一目录下,否则验证通不过。
4.用mdf文件还原数据库
步骤如下:
1、新建一个同名数据库。
随便取个名字也行,例如new。
2、修改服务器设置:
在“SQLServer属性(配置)”对话框的“服务器设置”tab中,允许多系统目录进行直接修改(否则第6步不能执行)
3、停止SQLServer(否则无法替换mdf文件)
4、用原mdf文件覆盖新建库的数据库文件,同时删除ldf文件。
例如原mdf文件叫做“old_data.mdf”,那么先删除new_data.mdf和new_log.ldf;
然后将old_data.mdf文件拷贝到该目录下;
再将old_data.mdf改名为new_data.mdf。
5、重启SQLServer(这时数据库应该是“置疑”)
6、将数据库置为紧急状态:
updatemaster.dbo.sysdatabasessetstatus=32768wherename=dbname
7、重建日志:
dbccrebulid_log('
dbname'
'
logfile'
(可能不需要这一步。
8、数据库重新启动(这是数据库应该是“紧急状态”),然后再还原数据库状态用以下语句
updatemaster.dbo.sysdatabasessetstatus=16wherename=dbname
如果数据库对应的mdf和ldf文件丢失,在企业管理器中整个服务器会显示“无项目”。
将mdf文件拷贝到原目录下,但没有ldf文件,在企业管理器中该数据库会显示“置疑“。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 备份 还原 详解