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--将目标数据库置为多用户状态数据库正常。


经验分享 程序员 微信小程序 职场和发展