2013年8月17日 星期六

如何搬移使用者資料庫到其他的磁碟上

資料庫在建立時都會選擇你要將檔案放置在那一個磁碟上,但如果遇到如空間不足或是磁碟效能不足時,就需要將資料庫轉移到其他的磁碟上,下列我們就介紹如何進行資料庫的轉移作業。

1、查詢資料庫的名稱與檔案路徑的資訊
--切換目前資料庫
use  dbname
go

--列出目前資料庫的檔案資訊
sp_helpfile
go



2、將緩衝資訊寫回MDF檔案中
checkpoint

這點非常重要,可以將目前緩衝的資訊立即寫回MDF檔案中,藉以加快後續的作業。

3、將資料庫設定成離線狀態
alter database dbname set offline
go

--此步驟可能會因為有人在使用中,所以無法切換完成,如果一直都無法切換完成時,建議可以將前端的應用程式先行停用,以免應用程式不斷的連線資料庫,造成連線失敗。

4、手動複制MDF與LDF檔案至新的磁碟上

5、更改檔案位址
use master
go
Alter database dbname modify file (name = dbname, filename = 'physical path')
go
Alterdatabase dbname modify file (name = dbname _log, filename = 'physical path')
go

6、資料庫設定成上線狀態
alterdatabase dbname set online
go


參考連結:
How to use Detach and Attach functions to move SQL Server databases
http://support.microsoft.com/kb/224071/en-us
Overview of Checkpoints
http://msdn.microsoft.com/zh-tw/library/ms189573.aspx


關鍵字:SQL ServerMove User Database