只有mdf文件,怎么恢复SQLSERVER数据库?
1、开启数据库
网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于企业网站建设,高端网页制作,对成都茶楼设计等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业成都网站营销优化,H5建站,响应式网站。
2、从企业管理器,建一个同名的数据库
3、停止sql
server
4、用原mdf文件覆盖新建库的数据库文件
5、重启sql
server(这时数据库应该是置疑)
6、修改服务器设置:允许对系统目录进行直接修改
sp_configure
'allow
updates',1
reconfigure
with
override
7、将数据库置为紧急状态:
update
master.dbo.sysdatabases
set
status
=
32768
where
name
=
'数据库名'
8、删除新的ldf文件,重建日志:
dbcc
rebuild_log('数据库名',
'f:\数据库名_log_new.ldf')--假设把新日志在f盘
9、update
master.dbo.sysdatabases
set
status
=
16
where
name
=
'数据库名'
10、修改服务器设置:取消
允许对系统目录进行直接修改
sp_configure
'allow
updates',
reconfigure
with
override
11、再使用检查工具修复错误
use
[数据库名]
alter
database
[数据库名]
set
single_user
with
rollback
immediate
dbcc
checkdb
('数据库名',REPAIR_ALLOW_DATA_LOSS)
alter
database
[数据库名]
set
multi_user
执行完毕之后,如果还有错误,重复执行11,直到没有错误为止。
sqlserver数据库数据被删除了怎么还原
SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:
1. 至少有一个误删除之前的数据库完全备份。
2. 数据库的恢复模式(Recovery mode)是“完整(Full)”。
针对这两个前提条件,会有三种情况:
情况一、如果这两个前提条件都存在,通过SQL语句只需三步就能恢复(参考文章),无需借助第三方工具。
a) 备份当前数据库的事务日志:BACKUP LOG [数据库名] TO disk= N'备份文件名' WITH NORECOVERY
b) 恢复一个误删除之前的完全备份:RESTORE DATABASE [数据库名] FROM DISK = N'完全备份文件名' WITH NORECOVERY, REPLACE
c) 将数据库恢复至误删除之前的时间点:RESTORE LOG [数据库] FROM DISK = N'第一步的日志备份文件名' WITH STOPAT = N'误删除之前的时间点' , RECOVERY
情况二、如果第1个前提条件不存在,第2个前提条件存在,需要借助第三方工具。
情况三、如果第2个前提条件不存在,无法恢复。所以,一定要将数据库恢复模式设置为“完整(Full)”。
我现在面临的是第二种情况,需要找第三方工具。
开始找的是Log Explorer for SQL Server,不支持SQL Server 2008。
后来找的是SQL Log Rescue,也不支持SQL Server 2008。
接着找到的是SysTools SQL Recovery,支持SQL Server 2008,但需要购买,Demo版并没有数据恢复功能。
最终在officerecovery.com上找到Recovery for SQL Server,虽然也是商业软件,需要购买,但Demo版可以恢复数据,只要数据库文件不超过24Gb。幸好朋友的数据库文件不大,用它完成了误删除数据的恢复。
下面分享一下用Recovery for SQL Server进行恢复的操作步骤:
1. 运行Recovery for SQL Server
2. 点击菜单中的 File Recover,选择要恢复的数据库的数据文件(.mdf)
3. Next Next,进入 Recovery Configuration 界面,选择Custom(选择了Custom才可以选择从日志中恢复误删除的数据)。
4. Next 进入 Recovery options 窗口,选中 Search for deleted records,并选择要恢复的数据库的日志文件路径(log file path)。
5. Next 并选择目标文件夹(Destination folder),用于存放恢复过程中生成的SQL语句与bat文件。
6. 点击Start,开始恢复操作(在上一步选择的目标文件夹中生成相应的SQL文件与Bat文件),然后,出现 SQL Server Database Creation Utility 窗口。
7. Next,选择被恢复数据存放的目标数据库。
8. Next, 选择 Import availiable data from both database and log files
9. Next, Next, 然后就完成数据的恢复!
SQL Server:如何修复SQL Server 2008的数据库
--1、修改数据库为紧急模式ALTER DATABASE Stock SET EMERGENCY--2、使数据库变为单用户模式ALTER DATABASE Stock SET SINGLE_USER --3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。DBCC CheckDB (Stock, REPAIR_ALLOW_DATA_LOSS)--4、使数据库变回为多用户模式ALTER DATABASE Stock SET MULTI_USER1:重新建立一个,一样的数据库,路径名称,文件都一样哈;2:关掉SQLSERVER服务;3:把源文件COPY过来;4:开启SQLSERVER服务;5:执行上面的1到4步。OK
SQL SERVER数据库修复软件技术特点和使用办法
最近在网上看到破解版本的SQL SERVER 的数据库修复软件越来越多,在
闲时,下载了所有的试用版本及已经破解版本,找到以前保留的损坏MDF,进
行一番比较。断断续续经过几天的比较,这些软件的功能与特点基本上了解清楚,
写出来,与大家共享。
RecoveryToolboxForSQLServer(产地:俄国)
特点:数据恢复效果较好,对于库结构恢复较正常。
使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。
或者保存成SQL 脚本文件。
SysTools SQL Recovery(产地不详)
特点:显示数据时,对中文不支持,只显示出UniCode,在运行时容易程度中
断直接退出;此软件有些像RecoveryToolboxForSQLServer
使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。
或者保存成SQL 脚本文件。
officerecovery 中的 Recovery for SQL Server(产地:美国)
特点:支持BAK,LOG 文件,但修复后的数据容易丢失,库结构提较取较完整。
使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。
或者保存成SQL 脚本文件。
Kernel for SQL Database(产地:印度)
特点:恢复效果好,但日期的显示,它是用国外的方式,库结构提取一般。
使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。
或者保存成SQL 脚本文件。
Stellar Phoenix SQL Recovery (产地:印度)
特点:数据恢复效果较好,程序运行时易不正常退出,库结构提取不出来。
使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。
无法保存成SQL 脚本。
上述软件都已经有破解版本或者免费版本,大家在选择时应该有所了解。
说明:库结构提取不完整,修复后的数据虽然可以在SQL SERVER 中附加,查
看,导出,备份,但在应用软件下是无法连接此数据库的,经过对上述软件修复后的数据库文件进行研究,已经找到解决MDF 文件加软件的办法,有此修复需
国外的几种SQL SERVER数据库,修复软件技术特点及使用办法是什么?
最近在网上看到破解版本的SQL SERVER 的数据库修复软件越来越多,在\x0d\x0a闲时,下载了所有的试用版本及已经破解版本,找到以前保留的损坏MDF,进\x0d\x0a行一番比较。断断续续经过几天的比较,这些软件的功能与特点基本上了解清楚,\x0d\x0a写出来,与大家共享。\x0d\x0aRecoveryToolboxForSQLServer(产地:俄国)\x0d\x0a特点:数据恢复效果较好,对于库结构恢复较正常。\x0d\x0a使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。\x0d\x0a或者保存成SQL 脚本文件。\x0d\x0aSysTools SQL Recovery(产地不详)\x0d\x0a特点:显示数据时,对中文不支持,只显示出UniCode,在运行时容易程度中\x0d\x0a断直接退出;此软件有些像RecoveryToolboxForSQLServer\x0d\x0a使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。\x0d\x0a或者保存成SQL 脚本文件。\x0d\x0aofficerecovery 中的 Recovery for SQL Server(产地:美国)\x0d\x0a特点:支持BAK,LOG 文件,但修复后的数据容易丢失,库结构提较取较完整。\x0d\x0a使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。\x0d\x0a或者保存成SQL 脚本文件。\x0d\x0aKernel for SQL Database(产地:印度)\x0d\x0a特点:恢复效果好,但日期的显示,它是用国外的方式,库结构提取一般。\x0d\x0a使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。\x0d\x0a或者保存成SQL 脚本文件。\x0d\x0aStellar Phoenix SQL Recovery (产地:印度)\x0d\x0a特点:数据恢复效果较好,程序运行时易不正常退出,库结构提取不出来。\x0d\x0a使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。\x0d\x0a无法保存成SQL 脚本。\x0d\x0a上述软件都已经有破解版本或者免费版本,大家在选择时应该有所了解。\x0d\x0a说明:库结构提取不完整,修复后的数据虽然可以在SQL SERVER 中附加,查\x0d\x0a看,导出,备份,但在应用软件下是无法连接此数据库的,经过对上述软件修复后的数据库文件进行研究,已经找到解决MDF 文件加软件的办法,有此修复需
怎样恢复损坏的SQL Server数据文件
1、确保备份下的master数据库与要恢复的SQL SERVER的版本一致性。
2、关闭打开SQL Server Management Studio,打开服务器管理器,点击“配置”-“服务”,找到SQL SERVER服务,右键点击出快捷菜单。点击“停止”停止MSSQLSERVER服务。
3、以管理员账户打开cmd,输入以下的命令:net start mssqlserver /m。
4、打开SQL Server Management Studio,出现连接到服务器的窗口,点击取消。
5、点击“新建查询”,出现连接到服务器的窗口,点击确定。因为是单用户模式,因此只能有一个链接进入。
6、在查询窗口输入以下的命令。
7、重新启动SQL SERVER(MSSQLSERVER)服务,右键点击出快捷菜单。点击“启动”启动服务就可以了。
分享名称:sqlserver修复,sqlserver修复比新装还要慢
文章源于:http://lswzjz.com/article/dsgsges.html