附加數據庫,附加的時候會提醒找不到log文件


針對以上現象有兩個寫法的語句能解決:
寫法一:
USE MASTER;
EXEC sp_detach_db @dbname = 'TestDB';
EXEC sp_attach_single_file_db @dbname = 'TestDB',
@physname =
'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.mdf'
寫法二:
CREATE DATABASE TestDB
ON
(
FILENAME =
'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.mdf' --輸入.mdf的文件所在目錄
) FOR ATTACH_REBUILD_LOG
寫法三:
CREATE DATABASE TestDb ON
( FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.mdf')
FOR ATTACH
GO
在查詢窗口執行,可能會輸出如下提示:
文件激活失敗。物理文件名稱'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.ldf'可能不正確。
新的日志文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB_log.LDF' 已創建。
我的理解是可能是原先日志文件名可能與系統命名規則不匹配,但此時刷新下數據庫就能看到已附加了數據庫文件
分離數據庫:
exec sp_detach_db @dbname='數據庫名';