在sql server 中可以使用拆分(detach)和附加(attach)的方法來
移動資料庫。拆分資料庫是從伺服器中移去邏輯資料庫,但不會將作業系統中的資料庫檔案刪除。附加資料庫將會建立乙個新的資料庫,並複製儲存在已有的資料庫檔案和事務日誌檔案中的資料。使用系統儲存過程sp_detach_db 來拆分資料庫,用系統儲存過程sp_attach_db 來附加資料庫。
sp_detach_db 系統儲存過程的語法如下:
sp_detach_db [@dbname =] 'database_name'
[, [@skipchecks =] 'skipchecks']
其中[@skipchecks =] 'skipchecks'子句中skipchecks 的值為true 或false。 當skipchecks的值為true 時,指定在執行此過程之前不需要對資料庫中的所有表執行update statistics命令;為false 時,則需要執行update statistics 命令。
sp_attach_db 系統儲存過程的語法如下:
sp_attach_db [@dbname =] 'dbname',
[@filename1 =] 'filename_n' [,...16]
其中「filename_n」包括檔案的路徑和物理名稱。最多可指定16 個檔案。檔案中必須包含主資料庫檔案。如果需要附加的檔案超過了16 個,就必須使用帶for attach 子句的create database 命令來代替。
注意:sp_attach_db系統儲存過程中只能作用於那些已經用sp_detach_db系統儲存過程從伺服器中拆分出來的資料庫。
例6-16:移動資料庫mytest 到e:/sql data 目錄下。
(1) 在sql server query analyzer 中執行系統儲存過程sp_helpdb, 得到mytest資料庫所包含的檔名稱、數量、型別、存放位置等資訊。命令語句如下:
exec sp_helpdb mytest
(2) 在sql server query analyzer 中執行sp_detach_db 系統儲存過程,拆分mytest資料庫。命令語句如下:
exec sp_detach_db mytest, true 執行結果如下:
successfully detached database 'mytest1'.
dbcc execution completed. if dbcc printed error messages, contact your system administrator.
(3) 在作業系統的資料夾視窗中用剪下或貼上的方式直接將與資料庫相關的作業系統檔案移動到e:/ sql data 2000 server 目錄下。即將d:/sql data/mytest_data.mdf 檔案和d:/sqldata/mytest_log.ldf 檔案移到e:/ sql data 2000
(4) 在sql server query analyzer 中執行sp_attach_db 系統儲存過程,附加檔案到mytest 資料庫。命令語句如下:
exec sp_attach_db @dbname = 'mytest',
@filename1 = 'e:/sql data/mytest_data.mdf',
@filename2 = 'e:/sql data/mytest_log.ldf'
執行結果如下:
successfully attached database 'mytest'.
至此已完成了資料庫的移動工作,可在enterprise manager 中檢視mytest 資料庫的資訊,也可以在sql server query analyzer 中執行系統儲存過程sp_helpdb 來檢視移動是否成功。
mysql 移動資料庫 MySQL移動資料庫位置
需求 mysql資料庫檔案原位置 var lib mysql 要移動至 data mysql 1 首先在 data目錄下建立乙個名為 mysql的資料夾 mkdir data mysql chown r mysql mysql data mysql chmod r 755 data mysql 2 ...
資料庫檔案移動
oracle資料庫由資料檔案,控制檔案和聯機日誌檔案三種檔案組成。由於磁碟空間的變化,或者基於資料庫磁碟i o效能的調整等,我們可能會考慮移動資料庫檔案。下面以unix平台為例,分別討論三種資料庫檔案的移動方法。一.移動資料檔案 可以用alter database,alter tablespace兩...
MySQL移動資料庫位置
需求 mysql資料庫檔案原位置 var lib mysql 要移動至 data 1 首先在 data目錄下建立乙個名為 mysql data的檔名 mkdir data mysql data chown r mysql mysql data mysql data chmod r 755 data ...