我的数据库.mdf文件已损坏,我无法获取我的架构。我尝试使用互联网上提供的一些软件,但事实证明它们都是演示版本并没有返回修复后的文件。还有其他方法可以恢复我的数据库吗? 我正在使用MS SQL 2008
答案 0 :(得分:-4)
继续并删除您的.ldf文件。
然后执行以下脚本。有三个。根据你的情况选择一个。
- 方法1
USE [master]
GO
-- Method 1: I use this method
EXEC sp_attach_single_file_db @dbname='TestDb',
@physname=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQ\DATA\TestDb.mdf'
GO
- 方法2:
CREATE DATABASE TestDb ON
(FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestDb.mdf')
FOR ATTACH_REBUILD_LOG
GO
方法2:如果缺少一个或多个日志文件,则会再次重新创建它们。
我在这里展示了另外一种方法,但我之前没有使用过。根据Book Online,它只有在缺少一个日志文件时才有效。如果涉及多个日志文件,则所有日志文件都需要执行相同的过程。
- 方法3:
CREATE DATABASE TestDb ON
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestDb.mdf')
FOR ATTACH
GO
来源: http://blog.sqlauthority.com/2010/04/26/sql-server-attach-mdf-file-without-ldf-file-in-database/