客户的SQL Server数据库在关闭的状态下把ldf文件(也就是日志文件)误删导致数据库无法正常打开,并且数据库没有备份。
方法一:使用 T-SQL 命令重建日志
这是微软官方推荐的通过命令行附加单文件的方法。
- 打开 SQL Server Management Studio (SSMS),以管理员身份连接到数据库引擎。
- 新建查询,执行以下命令(请替换文件路径和数据库名):
查询数据库对应文件所在位置,记录下来。
sql
SELECT
name AS 文件逻辑名,
physical_name AS 文件物理路径,
type_desc AS 文件类型
FROM sys.master_files
WHERE DB_NAME(database_id) = 'YourDatabaseName';
先脱机再分离数据库,推荐使用SSMS图形界面操作。
sql
USE master;
GO
ALTER DATABASE mes SET OFFLINE;
GO
USE [master]
GO
EXEC master.dbo.sp_detach_db @dbname = N'mes'
GO
CREATE DATABASE [YourDatabaseName]
ON (FILENAME = 'D:\Data\YourDatabase.mdf') -- 替换为你的 mdf 实际路径
FOR ATTACH_REBUILD_LOG;
GO
方法二:使用 SSMS 图形界面附加
- 在 SSMS 对象资源管理器中,右键点击 "数据库 (Databases)"。
- 选择 "附加 (Attach...)"。
- 点击 "添加 (Add)",找到并选中你的 .mdf 文件,点击确定。
- 在下方的"数据库详细信息"网格中:
你会看到 .mdf 路径正确
你会看到 .ldf 路径显示 "未找到 (Not Found)"。
- 选中那行 .ldf 记录,点击 "删除 (Remove)" 按钮。
- 点击 "确定 (OK) "。



