Sqlserver2005数据备份还原恢复常用方法

上传人:灯火****19 文档编号:124086590 上传时间:2020-03-11 格式:DOC 页数:21 大小:1.55MB
返回 下载 相关 举报
Sqlserver2005数据备份还原恢复常用方法_第1页
第1页 / 共21页
Sqlserver2005数据备份还原恢复常用方法_第2页
第2页 / 共21页
Sqlserver2005数据备份还原恢复常用方法_第3页
第3页 / 共21页
Sqlserver2005数据备份还原恢复常用方法_第4页
第4页 / 共21页
Sqlserver2005数据备份还原恢复常用方法_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《Sqlserver2005数据备份还原恢复常用方法》由会员分享,可在线阅读,更多相关《Sqlserver2005数据备份还原恢复常用方法(21页珍藏版)》请在金锄头文库上搜索。

1、SQLSERVER2005数据库备份、还原及数据恢复内容一、目的说明2二、备份数据库步骤2三、还原数据库步骤8四、数据库数据恢复步骤13五、数据库压缩15六、常见异常处理15七、总结16八、附录:16一、目的说明 数据库备份是维护数据正确,防止数据丢失的重要手段。备份点恢复策略可以让数据还原到备份点,通过触发备份的方法,可以提高备份的有效性;采用即时点备份策略,可将数据恢复到任意点,提高数据的安全性;通过性能警报监视事务日志使用情况,及时优化日志文件,可以提高系统性能。二、备份数据库步骤1、第一步:在开始所有程序Microsoft SQL server 2005 SQL Server Mana

2、gement Studio(如下图)2、第二步:登录需要备份的数据库服务器,打开企业管理器后,逐一展开,看到有数据库项后,继续展开数据库这一项,展开后会看到需要备份的数据库(如微软petshop系统的MSPetShop4数据库)(如下图)3、第三步:选择要备份的数据库单击右键(如下图)4、第四步:点击上图的备份数据库,进入下图(如下图)5、第五步:单击上图的添加来确定把数据备份到那个盘符(如下图)6、第六步:点击上图备份文件名右边的三点框打开备份文件的路径,见下图,在备份设备位置模块中填写备份的文件名,点确定(如下图)以下界面为数据库备份的常用选项,可以根据情况选择(默认情况下可以不选择)7、

3、第七步:点两个确定后,即开始备份(如下图)8、第八步:打开步骤五中确定的那个盘符就可以看到备份的数据库(如下图)三、还原数据库步骤1、第一步:在开始所有程序(P)Microsoft SQL server 2005 SQL Server Management Studio(如下图)2、第二步:登录需要备份的数据库服务器,打开企业管理器后,逐一展开,看到有数据库项后,选中数据库节点单击右键(如下图)3、第三步:打开SQLSERVER2005中还原(R)-数据库, 选择SQL2005还原数据库界面中的“来源装置(D)” ,单击“来源装置(D)”右边的 “”按钮.见下图选择“源设备”4、第四步:点击“

4、添加”按钮,弹出“定位备份文件”窗口如果在您选择的文件目录中不存在备份文件可选,您可以将文件类型改为“所有文件(*)”,因为备份的数据库文件也可以是不带扩展名的文件,见下面图。必须选择此复选项,否则会报图中的错误提示7、第六步:点击确定回到第一个模块在左边的功能导航框中选择“选项”或“Options”其中有“覆盖现有数据”、“保留复制设置”、“还原每个备份之前进得提示”、“限制访问还原的数据库”等选项,可根据需要进行选择。系统自动还原数据库,成功后系统提示还原数据库成功,点击确定或OK即可。如果已存相同数据库则需要选择“覆盖现有数据库”四、数据库数据恢复步骤1、通过日志恢复SQLSERVER2

5、005数据(也可通过Log Explorer工具查找进行恢复数据) (A). 通过日志和时间点来恢复数据的前提条件:数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项, 如果是简单模式:类似下面的语句操作数据就不会记录到日志中:select * into t from表名.【采用Log Explorer工具可以在线操作, 通过恢复日志(指定时间点恢复)来恢复数据, 必须停止数据库或者再另一个数据库恢复(前提是必须有一个完全备份和日志备份)】这时为保证数据的完整要将数据库的恢复模式改成“完整.1.1、这时对数据库事务日志做备份(注意,如果没做个数据库完整备份,是不能做事务日志备份的)

6、 这时新建一个数据库zp(将以前的数据库改名),恢复数据库 这时我们看到,有两个还原的数据库备份,因为我对zp数据库备份了两次,两次的备份的数据文件都一样。这里我们选择最近时间的备份 默认在数据库的设置如下:是追加到备份集里,所以会有两个备份,如下图:同时,在“选项”里设置“不回滚”事务, 注意:通过事务日志还原数据库,必须选择“不回滚”事务 确定后:出现下面情况: 这时发现,数据库一直是”正在还原“,这时还原数据库事务日志,1.2、“常规”里选择时间,(刚删除的时间) 1.3、“选项”里将恢复状态设置为”回滚未提交“事务 确定后,查询数据库,发现数据回来了.2、无日志的数据恢复2.1.新建一

7、个同名的数据库2.2再停掉sql server(注意不要分离数据库)2.3用原数据库的数据文件覆盖掉这个新建的数据库2.4再重启sql server2.5此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)2.6完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了.USE MASTERSP_CONFIGURE ALLOW UPDATES,1 RECONFIGURE WITH OVERRIDEUPDATE SYSDATABASES SET STATUS =32768 WHERE NAM

8、E=数据库名sp_dboption 数据库名, single user, trueDBCC CHECKDB(数据库名) update sysdatabases set status =28 where name=数据库名sp_configure allow updates, 0 reconfigure with overridesp_dboption 数据库名, single user, false五、数据库压缩 1、执行M_CompressDataBase_T存储过程对非活动的服务器的所有数据库进行压缩.六、常见异常处理 1、磁盘空间不够 解决方法:扩充磁盘空间或选择空间足够的磁盘2、如果还

9、原后,遇到SQL问题:错误21002:sql-dmo用户“*”已经存在错误。 解决方法:1.打开SQLSERVER 2005 Management数据库展开出问题的数据库如mydb用户在右侧窗口中选择出问题的用户名如:*右击鼠标删除3、在还原数据库时遇到在数据还原时候出现试图扩大物理文件时,MODIFY FILE遇到操作系统错误112(磁盘空间不足)。未能调整文件xxx_log的空间分配。RESTORE DATABASE操作异常终止. 的问题解决方法:运行cmd输入:convert 盘符: /FS:NTFS 如:convert C:/FS:NTFS4、无法将设备xxx上的备份应用于数据库yyy

10、,restore database操作异常终止. 解决方法:更改还原数据库名5、问题5:恢复过程中出现“因为数据库正在使用,所以未能获得对数据库的排它访问权。”解决方法:出现这种问题主要是由于数据库的会话还没有中断,可以采用kill会话进程或重启服务器6、为备份或还原操作指定的设备太多;只允许指定 64 个设备。 RESTORE HEADERONLY 操作异常终止。 (Microsoft SQL Server, Error: 3205) 解决方法:如果系统同时安装了sqlserver2000跟sqlserver2005,在还原时可能会出现上述错误,解决方法-于数据库属性-选项-兼容级别-sql

11、 sever 2000 (80),或在安装时为sqlserver2000跟sqlserver2005一个或两个都指定实例名.7、问题3:无法更改数据库中对象的所有者:解决方法:使用如下代码: exec sp_changeobjectowner 原所有者名,dbo 执行存储过程changenameexec changename 原所有者名,新所有者名8、问题7:如何将SQLSERVER数据库备份到网络上解决方法:physicalname = physical_name备份设备的物理名称。物理名称必须遵照操作系统文件名称的规则或者网络设备的通用命名规则,并且必须包括完整的路径。physical_n

12、ame 的数据类型为 nvarchar(260),没有默认值,并且不能为 NULL。当创建远程网络位置上的备份设备时,请确保在其下启动 SQL Server 的名称对远程的计算机有适当的写入能力。B. 添加网络磁盘备份设备下面的示例显示一个远程磁盘备份设备。在其下启动 SQL Server 的名称必须对该远程文件拥有权限。USE masterEXEC sp_addumpdevice disk, networkdevice, servernamesharenamepathfilename.ext以前曾看到过有人问,怎么样才能将数据备份到网络上,一直没有答案,然后我就试验了一把.在服务器上建了一个

13、目录,然后确保共享并有权限,如果需要建在共享目录下的目录下,那还得保证用户有权限当然,SQLSERVER系统启动早于登录,一般用户会在登录中使用本地系统账户,我想在登录到系统之前一直是administrator用户模拟,因此,我将登录的账户改为了网络用户,因为我公司有域,因此我将域用户设置为本机的系统管理员,以确保该服务能启动.接下来更简单了:sp_addumpdeviceDISK,NetWork,serverd$databakxuzh.bakgobackup database xuzh to network得到的结果如下:成功完成网络备份七、总结 1,这是一般大型网站数据安全的一个办法,因为

14、数据库比较大(可能有几百G)数据,做一次完整备份时间很长,而且影响数据库服务器的性能,为保证数据安全,大多采用完整备份+事务日志备份来保证数据安全。例如:一天做一次或者2天做一次完整备份,几个小时内做一次日志备份。(当然可以用写一个job来实现) 2,如SQL server 2005里的镜像就是采用的这种事务日志同步的方法保证数据的同步。 3,如果恢复的日志数据出现”LSN“太早和太晚说明了事务日志间的不连续。这时要注意备份的时间和顺序。八、附录:I. 数据库的文件和备份的文件是两个不同的慨念. 每个数据库都至少由两个文件组成: 一个数据文件,默认扩展名的.mdf 一个日志文件,默认扩展名为.ldf 如果是用直接备份这两个数据文件来实现数据库备份,则备份的文件就是两个. 如果通过SQL的backup database来备份,则SQL把这两个文件打包在一齐,所以只有一个文件.II. sql server 提供了三种恢复模式,他们决定了有多少和什么样的数据可以被备份下来.1.简单恢复模式 主要应用于小型数据库和不经常改变的数据2.完整恢复模式 可以在最大范围内防止出现故

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号