-- 卸離資料庫
sp_detach_db 'MyDB';
-- 附加資料庫(需指定兩個檔案)
sp_attach_db 'MyDB',
'C:\Data\MyDB.mdf',
'C:\Data\MyDB_log.ldf';
或使用企業管理器「所有工作 → 附加資料庫」選取 MDF 檔案。
sp_attach_single_file_db 'MyDB', 'C:\Data\MyDB.mdf';
系統會自動重建日誌檔,但會出現警告訊息。
MyDB(企業管理器或 CREATE DATABASE)。MyDB_log.ldf,用備份的 MyDB.mdf 覆蓋原資料檔。USE master;
GO
sp_configure 'allow updates', 1;
RECONFIGURE WITH OVERRIDE;
GO
UPDATE sysdatabases SET status = -32768 WHERE dbid = DB_ID('MyDB');
DBCC REBUILD_LOG('MyDB', 'C:\Data\MyDB_log.ldf');
DBCC CHECKDB('MyDB')。sp_dboption 'MyDB', 'dbo use only', 'false'。sp_configure 'allow updates', 0; RECONFIGURE WITH OVERRIDE;。-- 方式 1:sp_dboption
sp_dboption 'MyDB', 'single user', true;
-- 方式 2:ALTER DATABASE
ALTER DATABASE MyDB SET SINGLE_USER;
-- 執行完畢後改回 MULTI_USER
allow updates。DBCC REBUILD_LOG 報錯「無法獨佔鎖定」,請關閉所有連線(含企業管理器視窗)。DBCC CHECKDB 確認資料完整性。