SQL SERVER 2005 只有mdf文件的数据恢复方法

来源:互联网 发布:手机聊天室软件 编辑:程序博客网 时间:2024/04/29 18:59

一次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, N'single', N'true' --将数据库置为单用户状态

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(@databasename,REPAIR_REBUILD)

exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态
数据库正常。

 

 

 

 

原创粉丝点击