--由于数据库log损坏,导致数据库质疑,如果此时分离了数据库,会导致数据库无法附加
--尝试附加数据库
exec sp_attach_db @dbname=N'bak',
@filename1=N'E:\SQLSERVER2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\bak.mdf',
@filename2=N'E:\SQLSERVER2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\bak_log.ldf'
--尝试重建日志
create database bak on
(name=N'bak',
filename=N'E:\SQLSERVER2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\bak.mdf')
for attach_rebuild_log
go
--重建同名数据库
create database bak on
(name=N'bak',
filename=N'E:\SQLSERVER2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\bak.mdf')
alter database bak set offline
--覆盖同名数据库mdf文件
--联机任然不行
alter database bak set online
alter database bak set emergency
alter database bak set single_user
dbcc checkdb (N'bak',repair_allow_data_loss) with NO_INFOMSGS
alter database bak set multi_user
--尝试附加数据库
exec sp_attach_db @dbname=N'bak',
@filename1=N'E:\SQLSERVER2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\bak.mdf',
@filename2=N'E:\SQLSERVER2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\bak_log.ldf'
--尝试重建日志
create database bak on
(name=N'bak',
filename=N'E:\SQLSERVER2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\bak.mdf')
for attach_rebuild_log
go
--重建同名数据库
create database bak on
(name=N'bak',
filename=N'E:\SQLSERVER2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\bak.mdf')
alter database bak set offline
--覆盖同名数据库mdf文件
--联机任然不行
alter database bak set online
alter database bak set emergency
alter database bak set single_user
dbcc checkdb (N'bak',repair_allow_data_loss) with NO_INFOMSGS
alter database bak set multi_user