sql数据恢复,sql2012怎么还原bak文件
sql数据恢复,sql2012怎么还原bak文件详细介绍
本文目录一览: 如何备份和恢复MSSQL数据库
见到前一段时间,有用户反映恢复 MSSQL数据库时出错,不知如何恢复。其实恢复 MSSQL数据库还是比较简单的。 下面简单介绍下备份的方式及对应的恢复方法,希望可以帮到部分站长。 一、备份数据库 打开Microsoft SQL Server的企业管理器(英文版是Enterprise Ma 见到前一段时间,有用户反映恢复 MSSQL数据库时出错,不知如何恢复。其实恢复 MSSQL数据库还是比较简单的。下面简单介绍下备份的方式及对应的恢复方法,希望可以帮到部分站长。一、备份数据库打开Microsoft SQL Server的企业管理器(英文版是Enterprise Manager),展开服务器组,展开数据库,如下图:右键点击要备份的数据库,所有任务=》备份数据库(英文版是Backup Database),如下图:点击备份数据库,即可看到下图:数据库(Database):选择要备份的数据库名;名称(Name):填写备份得到的备份文件名;备份(Backup):这里要选择“数据库-完全”(Database-complete);目的(Destination):您可以将备份文件存于当前默认路径;如果要更改路径,则请先删除当前路径,在点击“添加(Add)”,选择备份文件的存放路径。重写(Overwrite):如果将备份文件存于当前默认路径,则请选择“重写现有媒体选择(Overwrite existing media)”;如果更改路径,选择“追加到媒体(Append to media)”或“重写现有媒体选择(Overwrite existing media)”均可。然后点击“选项(Option)”,如图:设置好后,点击“确定”开始备份:完成备份后,如图:点击“确定”完成数据库的备份。二、恢复数据库按照上述方式备份的数据库是没有任何后缀的,如图:打开Microsoft SQL Server的企业管理器(英文版是Enterprise Manager),展开服务器组,新建一个数据库:填写新建的数据库名称:点击“数据文件(Data file)”,查看数据文件所在的目录,并记录下来:点击“Transaction log”,查看日志文件所在的目录,记录下来:点击“确定”成功建立一个新的数据库。右键点击新建的数据库,选择所有任务=》恢复数据库(Restore database):数据库恢复常规设置如下:点击“选项(Options)”:设置好,点击“确定”开始恢复数据库:恢复完毕数据库,打开数据库表,可以看到:到此为止,MSSQL数据库的备份和恢复简单介绍完毕。
如何恢复数据库
恢复数据库的方法:
1、打开Sql,然后鼠标选中数据库点击右键,选择列表中的还原数据库选项,弹出还原数据库界面;
2、输入目标数据库,选中源设备,点击后面按钮,弹出指定备份界面;
3、在指定备份界面上点添加按钮,弹出指定备份文件夹界面,找到存放备份数据库的文件夹,选中文件夹中的备份数据库;
4、确定要还原的数据库无误后,指定备份界面的备份位置会显示备份的数据库的详细位置;
5、确定还原数据库的备份位置无误,自动返回至还原数据库界面,界面会显示选择用于还原的数据库,勾选复选框;
6、确定选择备份数据进行还原,界面会弹出提示还原成功已完成的信息,到此表示结束。
SQL恢复master数据库方法只有mdf文件的数据库如何恢复
首先先和大家讲一讲SQL Server恢复master数据库方法,具体步骤如下第一步:复制model.mdf、mastlog.ldf、model.mdf、modellog.ldf、msdbdata.mdf、msdblog.ldf文件。从X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates至X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA注:以上“X:\Program Files\Microsoft SQL Server”为SQL Server的安装目录。以下的“C:\Program Files\Microsoft SQL Server”为系统盘下的目录第二步:定位并执行安装命令1. 首先找到安装命令:C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release\setup.exe2. 执行命令如果只是Windows身份验证模式,只需要如下语法即可: 代码如下:setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=
/SQLSYSADMINACCOUNTS=
如果是复合身份验证模式,则需要使用/SAPWD参数提供sa的密码: 代码如下:setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=
/SQLSYSADMINACCOUNTS=
/SAPWD=
我安装时设置的是复合认证模式,SQL Server系统管理员帐号是administrators组,sa密码是123456。并且就一个默认实例:MSSQLSERVER。所以在命令行执行如下命令: 代码如下:setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=administrators /SAPWD=123456第三步:执行完毕后没有任何提示信息(不管成功与否),但是可以马上在C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\Summary.txt中查看安装日志。最后,在Sql Server Configuration Manager中启动SQL Server服务成功。在处理过程中出现了这种情况SQL恢复数据库又该怎么办?只有mdf文件时,应当如何进行恢复,即有log文件的数据库如何恢复SQL恢复数据库具体实现步骤:1、新建一个同名数据库。2、停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件剪切过去,这样就可以节省时间。)3、启动数据库服务,数据库变为置疑或可疑状态。然后在查询分析器中运行:alter database 无日志文件的数据库名称 set emergency设置为紧急状态。4、再运行:alter database 无日志文件的数据库名称 set single_user或者:Sp_dboption '无日志文件的数据库名称', 'single user', 'true'设置为单用户模式。5、检查并重建日志文件,运行:dbcc checkdb('无日志文件的数据库名称',REPAIR_ALLOW_DATA_LOSS)这个时间比较长。耐心等待!如果有错误提示,再运行:dbcc checkdb('无日志文件的数据库名称',REPAIR_REBUILD)进行修复。如果没有错误,可以跳过。6、恢复成多用户模式alter database 无日志文件的数据库名称 set multi_user或者:Sp_dboption '无日志文件的数据库名称', 'single user', 'false'刷新数据库,你就可以看到已经修复好的数据库了。
SQL数据库如何还原?
把数据库的备份文件放到服务器的任意目录下先, 然后按下面的步骤做。
如何从备份设备还原备份(企业管理器) ,从备份设备还原备份 。
展开服务器组,然后展开服务器。
展开"数据库"文件夹,右击数据库,指向"所有任务"子菜单,然后单击"还原数据库"命令。
在"还原为数据库"框中,如果要还原的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。
若要用新名称还原数据库,请输入新的数据库名称。
说明 为数据库指定新名称将自动为从数据库备份中还原的数据库文件指定新名称。
单击"从设备",然后单击"选择设备"。
在"还原自"下,单击"磁带"或"磁盘",然后选择还原设备。
如果没有出现设备,则单击"添加"以添加现有的备份设备或创建新的备份设备。
在"还原数据库"对话框内,单击"查看内容"并选择要还原的备份集。
说明 此选项将扫描备份集以获得备份内容信息,该操作可能需要花费较长时间,特别是在使用磁带设备时。
如果已经知道要还原的备份集,则在"备份号"中输入备份集编号。
在"还原备份集"下执行下列操作之一: 单击"数据库 — 完全"还原数据库备份。
单击"数据库 — 差异"还原差异数据库备份。
单击"事务日志"应用事务日志备份。
sql如何恢复数据(sql怎么恢复数据)
方法:
第一步:选择需要还原的数据库,鼠标右键,选择任务下的还原;
第二步:选择“源设备”,点击后面的文件选择“...”;
第三步:添加需要还原的数据库,还原的数据库文件后缀为备份文件(bak);
第四步:选中添加进来的还原文件,找到左上角上的“选择项”,勾选第一项(覆盖现有数据库),点击确定就可以了。
注意事项
1、一定要记得覆盖现有数据库;
2、执行数据库操作的时候,请断开当前数据库的任何使用(例如查询,数据库的连接使用)。
教你如何用SQL备份和还原数据库
数据库的备份和恢复一、备份数据库1、打开SQL企业管理器,在控制台根目录中依次点开MicrosoftSQLServer2、SQLServer组--双击打开你的服务器--双击打开数据库目录3、选择你的数据库名称(如论坛数据库Forum)--然后点上面菜单中的工具--选择备份数据库4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份二、还原数据库
1、打开SQL企业管理器,在控制台根目录中依次点开MicrosoftSQLServer
2、SQLServer组--双击打开你的服务器--点图标栏的新建数据库图标,新建数据库的名字自行取
3、点击新建好的数据库名称--然后点上面菜单中的工具--选择恢复数据库
4、在弹出来的窗口中的还原选项中选择从设备--点选择设备--点添加--然后选择你的备份文件名--添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)--然后点击上方常规旁边的选项按钮
5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项
在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:/ProgramFiles/MicrosoftSQLServer/MSSQL/Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是zw0001mdf,现在的数据库是zw0002,就改成zw0002mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d:/sqldata/zw0002mdf或者d:/sqldata/zw0002ldf),否则恢复将报错
6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL操作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复操作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复三、设定每日自动备份数据库1、打开企业管理器,在控制台根目录中依次点开
sql2012怎么还原bak文件
sql2012还原bak文件的具体步骤如下:
1、首先我们打开电脑里的sqlserver软件,在数据库上右键单击,点击‘还原数据库’。
2、然后我们在弹出的还原数据库界面中,选中‘设备’按钮之后,点击右侧有三个小点的按钮,来选择要还原文件。
3、在选中备份设备界面中,选择‘添加’按钮。
4、在弹出的定位备份文件界面中,在电脑中的文件中选择需要还原的bak文件,选中,点击‘确定’。
5、选好bak文件之后,点击‘确定’。
6、可以在‘要还原的备份集’中,看到我们需要还原的这个bak文件,表示已经选中,可以点击‘确定’,等待数据库还原,在数据库树形下,就可以看到已经还原好的数据库了。
如何恢复修复MSSQL数据库的MDF文件
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 如果备份的数据库有2个文件,分别是.LDF 和 .MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MDF文件,就可以了。 或者在查询分析器中输入: sp_attach_db "数据库名称" 欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 如果备份的数据库有2个文件,分别是.LDF 和 .MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MDF文件,就可以了。 或者在查询分析器中输入:sp_attach_db "数据库名称","路径\文件名.ldf","路径\文件名.MDF"SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。本文假定您能熟练使用SQL Server Enterprise Manager(SQL Server企业管理器)和SQL Server Quwey Analyser(SQL Server查询分析器)1、正常的备份、恢复方式正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。卸下数据库的命令:Sp_detach_db 数据库名连接数据库的命令:Sp_attach_db或者sp_attach_single_file_dbs_attach_db [@dbname =] 'dbname', [@filename1 =] 'filename_n' [,...16]sp_attach_single_file_db [@dbname =] 'dbname', [@physname =] 'physical_name'使用此方法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。例子:假设数据库为test,其数据文件为test_data.mdf,日志文件为test_log.ldf。下面我们讨论一下如何备份、恢复该数据库。卸下数据库:sp_detach_db 'test'连接数据库:sp_attach_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf'sp_attach_single_file_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf'C++Builder 研究 - http://www.ccrun.com/article.asp?i=986&d=oxit072、只有mdf文件的恢复技术由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息设备激活错误。物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' 可能有误。已创建名为 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' 的新日志文件。但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误信息服务器: 消息 1813,级别 16,状态 2,行 1未能打开新数据库 'test'。CREATE DATABASE 将终止。设备激活错误。物理文件名 'd:\test_log.LDF' 可能有误。怎么办呢?别着急,下面我们举例说明恢复办法。A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。B.停掉数据库服务器。C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。D.启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。E.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。F.设置test为紧急修复模式update sysdatabases set status=-32768 where dbid=DB_ID('test')此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表G.下面执行真正的恢复操作,重建数据库日志文件dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')执行过程中,如果遇到下列提示信息:服务器: 消息 5030,级别 16,状态 1,行 1未能排它地锁定数据库以执行该操作。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。正确执行完成的提示应该类似于:警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。H.验证数据库一致性(可省略)dbcc checkdb('test')一般执行结果如下:CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'test' 中)。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。I.设置数据库为正常状态sp_dboption 'test','dbo use only','false'如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。J.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成
SQL Server的文件恢复技术
SQL Server有两种备份方式 一种是使用BACKUP DATABASE将数据库文件备份出去 另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式 本文中 我们将主要介绍一下后者的备份与恢复 (本文中假定您目前已经能够熟练使用Server企业管理器和SQL Server查询分析器)
正常的备份 恢复方式
正常方式下 我们要备份一个数据库 首先要先将该数据库从运行的数据服务器中断开 或者停掉整个数据库服务器 然后复制文件
卸下数据库的命令
Sp_detach_db 数据库名
连接数据库的命令
Sp_attach_db或者sp_attach_single_file_db s_attach_db [@dbname =] ′dbname′ [@filename =] ′filename_n′ [ ] sp_attach_single_file_db [@dbname =] ′dbname′ [@physname =] ′physical_name′
使用此方法可以正确恢复SQL Sever 和SQL Server 的数据库文件 要点是备份的时候一定要将mdf和ldf两个文件都备份下来 mdf文件是数据库数据文件 ldf是数据库日志文件
例子
假设数据库为test 其数据文件为test_data mdf 日志文件为test_log ldf 下面我们讨论一下如何备份 恢复该数据库
卸下数据库
sp_detach_db ’test’
连接数据库
sp_attach_db ’test’ ’C:Program FilesMicrosoft SQL ServerMSSQLDatatest_data mdf’ ’C:Program FilesMicrosoft SQL ServerMSSQLDatatest_log ldf’sp_attach_single_file_db ’test’ ’C:Program FilesMicrosoft SQL ServerMSSQLDatatest_data mdf’
只有mdf文件的恢复技术
由于种种原因 我们如果当时仅仅备份了mdf文件 那么恢复起来就是一件很麻烦的事情了
如果您的mdf文件是当前数据库产生的 那么很侥幸 也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库 但是会出现类似下面的提示信息
设备激活错误 物理文件名 ’C:Program FilesMicrosoft SQL ServerMSSQLdatatest_Log LDF’可能有误
已创建名为’C:Program FilesMicrosoft SQL ServerMSSQLDatatest_log LDF’的新日志文件
但是 如果您的数据库文件是从其他计算机上复制过来的 那么很不幸 也许上述办法就行不通了 你也许会得到类似下面的错误信息
服务器: 消息 级别 状态 行
未能打开新数据库 ’test’ CREATE DATABASE 将终止
设备激活错误 物理文件名 ’d:test_log LDF’ 可能有误
应该怎么办呢?下面我们举例说明恢复办法
A 我们使用默认方式建立一个供恢复使用的数据库(如test) 可以在SQL Server Enterprise Manager里面建立
B 停掉数据库服务器
C 将刚才生成的数据库的日志文件test_log ldf删除 用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data mdf
D 启动数据库服务器 此时会看到数据库test的状态为“置疑” 这时候不能对此数据库进行任何操作
E 设置数据库允许直接操作系统表 此操作可以在SQL Server Enterprise Manager里面选择数据库服务器 按右键 选择“属性” 在“服务器设置”页面中将“允许对系统目录直接修改”一项选中 也可以使用如下语句来实现
use master go sp_configure ’allow updates’ go reconfigure with override go
F 设置test为紧急修复模式
update sysdatabases set status= where dbid=DB_ID(’test’)
此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读置疑脱机紧急模式”可以看到数据库里面的表 但是仅仅有系统表
G 下面执行真正的恢复操作 重建数据库日志文件
dbcc rebuild_log(’test’ ’C:Program FilesMicrosoft SQL ServerMSSQLDatatest_log ldf’)
执行过程中 如果遇到下列提示信息
服务器: 消息 级别 状态 行
未能排它地锁定数据库以执行该操作
DBCC执行完毕 如果DBCC输出了错误信息 请与系统管理员联系
说明您的其他程序正在使用该数据库 如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表 那么退出SQL Server Enterprise Manager就可以了
正确执行完成的提示应该类似于
警告 数据库 ’test’的日志已重建 已失去事务的一致性 应运行DBCC CHECKDB以验证物理一致性 将必须重置数据库选项 并且可能需要删除多余的日志文件
DBCC执行完毕 如果DBCC输出了错误信息 请与系统管理员联系
此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用” 此时可以访问数据库里面的用户表了
H 验证数据库一致性(可省略)
dbcc checkdb(’test’)
一般执行结果如下
CHECKDB发现了 个分配错误和 个一致性错误(在数据库 ’test’ 中)
DBCC执行完毕 如果DBCC输出了错误信息 请与系统管理员联系
I 设置数据库为正常状态
sp_dboption ’test’ ’dbo use only’ ’false’
假如没有出错 现在你就可以正常的使用恢复后的数据库啦
J 最后一步 我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复 因为平时直接操作系统表是一件比较危险的事情 当然 我们可以在SQL Server Enterprise Manager里面恢复 也可以使用如下语句完成
lishixinzhi/Article/program/SQLServer/201311/22357