系统版本:windows2008r2
数据库版本:sqlserver2008r2
问题现象:突然断电导致数据库无法打开,报其中一个附加mdf文件损坏。
客户允许丢失一部分数据。创建同名数据库,并替换mdf文件。使受损的mdf文件离线。
alter database testdb01 set offline; ---替换mdf文件,删除ldf日志文件 ---离线受损文件 alter database testdb01 modify FILE (name=testdb013 ,offline); ----重建日志
USE master;
GO
ALTER DATABASE testdb01 SET EMERGENCY;
GO
ALTER DATABASE testdb01 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE testdb01 REBUILD LOG ON (NAME = testdb01_log, FILENAME = 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\testdb01_log.ldf');
GO
ALTER DATABASE testdb01 SET MULTI_USER;
GO
ALTER DATABASE testdb01 SET ONLINE;
GO
reference:丢失或损坏NDF文件如何附加数据库 - jlins - 博客园