SQL SERVER 2005(2008) 只有mdf 文件 的 数据 恢复 方法 1、新建SharePoint_Config 数据 库 2、停止SQL SERVER 2005,将原来的SharePoint_Config .mdf 数据 库 文件 覆盖刚新建的SharePoint_Config .mdf 数据 库 文件 ,重新启动 数据 库, 此时 数据 库中的
SQL SERVER 2005(2008)
只有mdf文件的数据恢复方法
1、新建SharePoint_Config 数据库
2、停止SQL SERVER 2005,将原来的SharePoint_Config .mdf数据库文件覆盖刚新建的SharePoint_Config .mdf数据库文件,重新启动数据库,
此时数据库中的表不能正常读取。
3、将数据库设置为紧急状态:
alter database SharePoint_Config set emergency
此时数据处于紧急状态,库中的表可以读取
4、执行如下代码:
use master
declare @databasename varchar(255)
set @databasename='SharePoint_Config' --设置变量为数据名
exec sp_dboption @databasename, N'single', N'true' --将数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态
数据库正常。
------------------------------------------------------------------------------------
SqlServer2000
1、开启数据库
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', 0 reconfigure with override
11、再使用检查工具修复错误
use [数据库名]
alter database [数据库名] set single_user with rollback immediate
dbcc checkdb ('数据库名',REPAIR_ALLOW_DATA_LOSS)
alter database [数据库名] set multi_user
执行完毕之后,如果还有错误,重复执行,直到没有错误为止。
飞扬过海” 博客,转载请与作者联系!