SQL SERVER 2005 只有mdf文件的数据恢复方法
一次Project项目平台(PWA)意外停机且配置数据库SharePoint_Config 的LDF被意外删除,如果直接附加MDF文件则无法附加.
先尝试sp_attach_single_file_db恢复,执行如下:
sp_attach_single_file_db SharePoint_Config,D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Data/SharePoint_Config.mdf
出现错误提示:
文件激活失败。物理文件名称D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/SharePoint_Config_log.LDF可能不正确。
由于数据库没有完全关闭,无法重新生成日志。
消息 1813,级别 16,状态 2,第 1 行
无法打开新数据库 SharePoint_Config。CREATE DATABASE 中止。
然后尝试如下步骤:
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, Nsingle, Ntrue --将数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, Nsingle, Nfalse--将目标数据库置为多用户状态数据库正常。
