SQLServer資料庫的 離線/上線 缷離/附加

目的:當資料庫有需要搬家時





--設定某database離線及上線
ALTER DATABASE 新新 SET OFFLINE
ALTER DATABASE 新新 SET ONLINE

--設定某database的缷離及附加
EXECUTE sp_detach_db 新新
EXEC sp_attach_db 新新,'C:\練習\D\新主.mdf'

目的:當資料庫搬家後,位置有所不同時

--由於已經搬家了,所以需要重新設定各檔的位置
EXEC sp_attach_db 新新,'C:\練習\D\新主.mdf'
 ,'C:\練習\E\會1.ndf','C:\練習\E\會2.ndf'
 ,'C:\練習\E\會3.ndf','C:\練習\F\人1.ndf'
 ,'C:\練習\F\人2.ndf','C:\練習\G\新紀.ldf'

--sp_attach_db這個預存程序最大只限16個
--若超出16個檔,可以用下面的方式實現
CREATE DATABASE 新新
ON
(FILENAME='C:\練習\D\新主.mdf'),
(FILENAME='C:\練習\E\會1.ndf'),
(FILENAME='C:\練習\E\會2.ndf'),
(FILENAME='C:\練習\E\會3.ndf'),
(FILENAME='C:\練習\F\人1.ndf'),
(FILENAME='C:\練習\F\人2.ndf'),
(FILENAME='C:\練習\G\新紀.ldf')
FOR ATTACH

有時資料庫沒有LOG檔


CREATE DATABASE AdventureWorks2008R2_Data
ON
(
 FILENAME='C:\Data\AdventureWorks2008R2_Data.mdf'
)
FOR ATTACH_REBUILD_LOG
--附加並重建LOG檔

留言

熱門文章