sql server 2008怎样还原sqlsqlserver2005备份份的数据文件

一、数据库的备份
1. 选择要备份的数据库&B&,点击鼠标右键 & 任务 & 备份
2. 在打开的&备份数据库 &B&对话框中,先点击删除,然后点击&添加&
3. 在弹出的&选择备份目标&对话框中
4. 择好备份的路径(如&D:\数据备份&),文件类型选择&所有文件&,&文件名&那个位置填写上您要备份的数据库的名字(最好在您备份的数据库的名字后面加上日期,以方便以后查找),之后连续点击&确定&按钮即可完成数据库的备份操作
二、数据库的还原
1. 选择您要还原的数据库&B&,点击鼠标右键 & 任务 & 还原 & 数据库
2. 在出现的&还原数据库 & school_web_db&对话框中选择&源设备&,然后点击后面的&&&按钮
3. 在出现的&指定备份&对话框中,点击&添加&按钮
4. 找到数据库备份的路径,选择您所要还原的数据库&B&(注意:文件类型选择所有文件),然后连续&两次&点击&确定&按钮
5. 在出现的&还原数据库 & B&对话框中,勾选上&选择用于还原的备份集&下的数据库前的复选框
6. 然后选择&选项&,勾选上&覆盖现有数据库&
三、还原数据库问题解决方案
在还原数据库&B&时,有时会遇见下图中的问题&因为数据库正在使用,所以无法获得对数据库的独占访问权&
此时我们可以按照以下步骤解决此问题
1. 右键数据库&B&,然后选择&属性&,在出现的&数据库属性 & B &对话框中,选择&选项&,在&其他选项&下的&状态&中找到&限制访问&。选择&SINGLE_USER&,点击&确定&按钮
2. 按照正常还原数据库的步骤,还原数据库。
阅读(...) 评论()来源:互联网 发表时间: 8:02:01 责任编辑:王亮字体:
为了帮助网友解决“sql server 2008如何导出数据库再导入到sqlserver 2005”相关的问题,中国学网通过互联网对“sql server 2008如何导出数据库再导入到sqlserver 2005”相关的解决方案进行了整理,用户详细问题包括:我在sql2008下有一个数据库其中有10个表,我想将其中的5个表导出,并倒入到sql2005中求解,正确的方法再加100,具体解决方案如下:解决方案1:
最后在SQL2005导入,怎么可能。
在你想要导出数据的数据库右击鼠标所有任务。
看下SQL2005都支持那些格式的导入(例如EXCEL)。(注意SQL2005是否有有那个数据库)希望能帮到你直接备份附加还原是不可以的。方法二?方法一,还有一项是script for server version 这选项选择SQL Server 2005。不过要注意的是在set scripting options步骤中的save to file 选项的files to generate 如果你这10张表比较小可以按默认的single file 、脚本然后按向导一步步往下最后完成,然后点击右边的高级选项Advanced 在弹出窗口中有一项是tyoes of data to script 注意要选择schema and data选项:可以用导入导出,然后在SQL2008把你想要导出的表导出到那种格式。但如果连这些版本转移方面都没有方法那么真是微软的BUG了,比较大的话(像大于50M)就选择single sille per object :可以用所有任务Tasks的脚本Generate Scripts。最后找到你所保存的脚本路径,在SQL2005上当平常语句执行就可以了
解决方案2:
写程序了。如果要导入导出的话,一直接用企业管理器导出的2008版本的文件想导入到2005版本的数据库几乎是不可能的,因为微软出2005的时候不可能想到2008都有什么,都是可以导出导入excel的,读取表内数据,连接2005,而excel本身就是一种数据库,两个方法,逐条插入到2005中即可:excel。二,在2008的数据集中循环,所以在2008中会出现一些2005不识别的元素,可以用其作为中间媒介,网页程序也行。连接2008
解决方案3:
在sql2008管理界面里面把现在的数据库复制一下,然后将复制的数据库移动到sql2005里面→移动方法:
在sql2008管理界面里面detach想要移动的数据库
然后在sql2005管理界面里面attach刚才的数据库然后再sql2005里面删除不要的表结束
解决方案4:
先将表中数据导入到Excel,再导入到sql 2005,祝你早日实现。
解决方案5:
先用SQL2008的enterprise manager汇出资料,存成.csv格式後,在用SQL2005的enterprise manager汇入资料到指定的资料库内
解决方案6:
最简单的方法,用sql server自带的导入导出向导
解决方案7:
在创建数据库的时候,有一个地方是选择兼容版本的...你找下..今后一起共勉!有空到IT实验室,天天软件测试网看看OBU。。OBU
相关文章:
最新添加资讯
24小时热门资讯
Copyright ©
All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号您所在的位置: &
SQL Server 2008如何创建定期自动备份任务
SQL Server 2008如何创建定期自动备份任务
日常工作中利用SQL SQLSERVER 2008的维护计划对数据库进行定期自动备份,这样一方面可以对数据库进行备份保证数据安全,另一方面也可以减轻对维护人员的负担。本文我们就介绍SQL Server 2008创建自动备份任务的方法,希望能对您有所帮助。
我们知道,利用SQL Server 2008数据库可以实现数据库的定期自动备份。方法是用SQL SERVER 2008自带的维护计划创建一个计划对数据库进行备份,下面我们将SQL SERVER 2008定期自动备份的方法分享给大家。
首先需要启动SQL Server Agent服务,这个服务如果不启动是无法运行新建作业的,点击&开始&&&所有程序&&&Microsoft SQL Server 2008&&&启动SQL Server Management Studio&登录数据库,点击管理&维护计划&右击维护计划向导如图所示:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' class="alignnone size-full wp-image-602" title="SQL SERVER 2008自动备份图解教程" alt="" width="575" height="447" src="/files/uploadimg/4500.jpg" />
点击&维护计划向导&后跳出对话框,如图所示:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' class="alignnone size-full wp-image-603" title="SQL SERVER 2008自动备份图解教程" alt="" width="591" height="506" src="/files/uploadimg/4501.jpg" />
点击&下一步&如图所示:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' class="alignnone size-full wp-image-604" title="SQL SERVER 2008自动备份图解教程" alt="" width="591" height="505" src="/files/uploadimg/4502.jpg" />
填写好名称及相关说明作个记号,点击&更改& 来设定维护计划,如图所示:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' class="alignnone size-full wp-image-605" title="SQL SERVER 2008自动备份图解教程" alt="" width="591" height="500" src="/files/uploadimg/4503.jpg" />
可以为选择执的时间段,每天、每周、每月可以根据你相应的需求来制定备份的时间,这里作演示就选择在每天的0:00进行,点击&确定&再点&下一步&如图所示:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' class="alignnone size-full wp-image-606" title="SQL SERVER 2008自动备份图解教程" alt="" width="590" height="505" src="/files/uploadimg/4504.jpg" />
选择你需要备份的任务,我这里就先择&备份数据库(完整、差异、事务日志)&,很明了 点击&下一步&如图所示:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' class="alignnone size-full wp-image-607" title="SQL SERVER 2008自动备份图解教程" alt="" width="590" height="505" src="/files/uploadimg/4505.jpg" />
出现刚刚所选择的三项你可以选择他们所执行的顺序,选好后点击&下一步&如图所示:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' class="alignnone size-full wp-image-610" title="SQL SERVER 2008自动备份图解教程" alt="" width="590" height="500" src="/files/uploadimg/4506.jpg" />
在数据库那一列选择相关数据库点击(确定)如图所示(由于这张图片较大您可以点击图片查看原图):
498)this.width=498;' onmousewheel = 'javascript:return big(this)' class="alignnone size-full wp-image-608" title="SQL SERVER 2008自动备份图解教程" alt="" width="590" height="500" src="/files/uploadimg/4507.jpg" />
选择备份的数据库存放的目录,设置备份压缩:有默认服务器设置,压缩备份等选项,因为我的数据库较大所以就选择压缩,根据您的实际情况进行操作:点击&下一步&,下面的操作是对于这前我们所选择的&维护任务&操作和&上一步&一样这里就不截图说明,最后点击&下一步&如图所示:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' class="alignnone size-full wp-image-611" title="SQL SERVER 2008自动备份图解教程" alt="" width="590" height="506" src="/files/uploadimg/4508.jpg" />
选择SQL SERVER 2008自动备份维护计划的报告文件所存放位置点击&下一步&如图所示:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' class="alignnone size-full wp-image-612" title="SQL SERVER 2008自动备份图解教程" alt="" width="590" height="502" src="/files/uploadimg/4509.jpg" />
点击&完成&这样就完成了SQL SERVER 2008自动备份。
注意:在利用SQL SQLSERVER 2008 的维护计划对数据库进行定期的备份时要启动&SQL SERVER 代理&服务。
关于SQL Server 2008数据库自动备份知识就介绍到这里了,如果您想了解更多SQL Server数据库的内容,可以看一下这里的文章:,相信一定会带给您收获的。
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&的更多文章
SQL Server 2008提供了全民啊行的空间支持,但同时空间分析是一
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
每一次的发展,都是一次上升,一次变革,看似回到了原
在编程领域有一句人尽皆知的法则“程序 = 数据结构 +
不管你有没有准备好,新版SQL Server来了!代号为Dena
Linux出色的网络功能堪称当今操作系统中的佼佼者,无论在功能还是在支持能力上都有令人满意的表现。Linux内置的多个服务器,几乎
51CTO旗下网站58962人阅读
数据库管理(192)
最佳实践(1)
常见问题(10)
备份还原(2)
完整性(1)
SQL Server(12)
Database(8)
企业管理(39)
安全(32)
DBA(105)
原文出处:问题:& & & & &经常看到有人误删数据,或者误操作,特别是update和delete的时候没有加where,然后就喊爹喊娘了。人非圣贤孰能无过,做错可以理解,但不能纵容,这个以后再说,现在先来解决问题。& & & & 遇到这种情况,一般都是没有做备份,不然也不会来发问了。首先要冷静,否则会有更大的灾难。直到你放弃。解决方法:& & & &对于这类问题,主要是找回误操作之前的数据,在2008之前,有个很出名的工具Log Exploer,听说还挺好用的,这个网上大把教程,这里就不多说了。但是唯一遗憾的是,不支持2008及更高版本,这时除了其他第三方工具,那么最常用的就是本文提到的方法——日志尾部备份。本文实验环境2008R2,对于2008及其以上版本可以使用这个方法,其实2005也可以,2000很少用,没试过,只是2008之前可以使用Log Exploer,所以就没必要用这种方法。& & & 下面图文并茂讲解操作方法,至于原理,不属于本文范围,而且我相信真遇到误操作的时候,估计没人会看原理了。步骤:(1)、检查数据库的恢复模式,如图:或者使用脚本检查:SELECT recovery_model,recovery_model_desc
FROM sys.databases
WHERE name ='AdventureWorks'
结果如下:& & & & 确保数据库的恢复模式最起码不能为【简单】。至于如何修改成完整模式,我觉得这些应该没必要多说了。&& & & &切记,对于任何重要环境,不仅仅是客户正式环境(俗称生产环境),都强烈建议使用【完整恢复模式】,虽然对于另外两种(大容量日志(BULK_LOGGED)、简单(SIMPLE))来说,完整恢复模式产生的日志会大,但是在出现问题的时候,就会觉得这些都不算什么了。并且我也想不到任何理由对于正式环境不使用完整恢复模式。只要管理得当,完整恢复模式的日志也不会太变态。&(2)、这里其实隐含另外一步,曾经做过最少一次的完整备份。因为所有类型的备份都基于完整备份,如果没有最少一次完整备份,其他类型的备份都是多余的,所以在这里强调一下,在创建完一个新数据库之后,强烈建议甚至强制做一次完整备份。SELECT
database_name,recovery_model,name
FROM msdb.dbo.backupset
使用上面的语句粗略可以看到有那些数据库做过备份,由于测试,所以做了几次备份,可以看到我这个时间点已经做了备份了。(3)、确保别人不再连接数据库,然后做一次日志尾部备份:首先先创建一点数据:/*
由于tempdb永远为简单恢复模式,所以不适合做案例。
这里使用微软的示例数据库AdventureWorks
USE AdventureWorks
IF OBJECT_ID('testRestore') IS NOT NULL
DROP TABLE testRestore
CREATE TABLE testRestore
id INT IDENTITY(1, 1) ,
NAME VARCHAR(50)
--插入测试数据:
INSERT INTO testRestore(Name)
SELECT 'test1'
SELECT 'test2'
SELECT 'test3'
SELECT 'test4'
SELECT 'test5'
SELECT 'test6'
SELECT 'test7'
SELECT 'test8'
SELECT * FROM testRestore
检查一下结果:然后来做个删除操作,为了定位是啥时候发生的,我加了一个waitfor命令,让它在某个时间发生,这样恢复的时候就有准确性:USE AdventureWorks
WAITFOR TIME '21:45'
DELETE FROM dbo.testRestore
现在来看看数据:USE AdventureWorks
SELECT * FROM dbo.testRestore
到这一步,灾难出现了。但是切记要冷静。下面就是本文的重点开始,做一次日志备份,最重要是选择【备份日志尾部】然后在【选项】页选择:除【事务日志】除,其他红框包裹的地方为强烈建议勾选的地方。并且保证数据库不要有别人在连接,因为备份日志尾部会使数据库处于还原状态,拒绝其他会话的连接,如果不断开其他连接,是备份不了的。然后按确定,当然,可以使用上方的【脚本】来生成语句:USE Master
BACKUP LOG [AdventureWorks] TO
DISK = N'E:\AdventureWorks.bak' WITH
NO_TRUNCATE , NOFORMAT, NOINIT,
NAME = N'AdventureWorks-事务日志 备份', SKIP, NOREWIND, NOUNLOAD,
NORECOVERY , COMPRESSION,
STATS = 10, CHECKSUM
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where database_name=N'AdventureWorks' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'AdventureWorks' )
if @backupSetId is null begin raiserror(N'验证失败。找不到数据库“AdventureWorks”的备份信息。', 16, 1) end
RESTORE VERIFYONLY FROM
DISK = N'E:\AdventureWorks.bak' WITH
FILE = @backupSetId,
此时,数据库会处于【正在还原】的状态如果发现备份不了可以用下面语句查看,并把spid杀掉:SELECT
* FROM sys.sysprocesses WHERE dbid=DB_ID('AdventureWorks')执行结果:然后kill掉。接着继续备份。&然后进行还原,如图:先要还原完整备份,选择最近的那次,由于日志备份的特性(以后其他文章再说),只认最后一次备份,所以要选择最新的那次,否则还原不了。这里又有一个注意事项,记得选择:接着还原日志文件,这是最最重要的一步:然后:由于实验的时候出了点问题,后面重做了,所以时间选择到22:19分,我是在22:20分删除数据的。这里不用太在意,只要把时间点指定到你误删除的时间之前即可。而由于日志尾部备份都是最后一个备份文件,所以这里选则红框部分即可:现在再检查一下:可以看到,数据已经还原成功。&总结:平时不做备份,出问题来喊急,这是苟有自取,还有一些脑袋发热的人喜欢看到ldf很大就直接删除,那以后出问题就别怪微软了。本文中的方法看上去有点繁琐,但是实操几次就觉得好了,但是步骤建议严格按照上面说的,因为一旦操作错误,就很麻烦,此时再次强调——冷静冷静再冷静!!!!!!这种方法有几个缺点:1、&&&&&&&&&&&&&如果你发现误操作以后还有很多人做了操作,那么你还原成功后,别人的操作就会冲掉,所以发生误操作后,要马上停止别人对数据库的操作。2、&&&&&&&&&&&&&这个方法要对数据库独占,所以你想偷偷恢复是不行的了。勇敢承认错误吧。对于核心数据表,还是要先做好预防操作,可以看:。关于备份,可以看我的另外一篇文章:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1243769次
积分:13889
积分:13889
排名:第622名
原创:102篇
转载:37篇
译文:95篇
评论:482条
文章:30篇
阅读:69949
文章:92篇
阅读:732740
(1)(1)(3)(3)(5)(3)(1)(1)(10)(10)(10)(4)(6)(4)(2)(1)(4)(10)(12)(16)(4)(6)(9)(1)(5)(5)(13)(9)(32)(42)(1)

我要回帖

更多关于 sql server 备份还原 的文章

 

随机推荐