新上了一套sybase數據庫,需要做數據遷移工作,由於可以申請周末停機時間,因此可以選擇如下兩種方案,方法都比較簡單,同sqlserver很類似
方法1:dump和load方法,本質上是備份和恢復
遷移的簡單過程如下
1, 數據庫數據備份(老庫) 使用備份腳本備份生產庫
導出數據庫(雲平台old數據庫)
--單用戶狀態
use master go sp_dboption TEADB,"single user",true go sp_flushstats go checkpoint use TEADB go sp_flushstats go checkpoint --也可以使用壓縮備份方式(可選)
use master go dump database TEADB to 'E:\backup\diskdump3.dat' compression=1 go 2,壓縮備份介質 已確認安裝壓縮軟件,使用圖形操作; 備份文件傳輸 備份文件ftp放到新服務器(bin模式),放於E盤(存儲盤) ftp IP_ADDR bin cd e:\ put *.zip 已確認ftp可以正常使用 3,解壓縮 使用圖形界面操作 4,備份文件導入 恢復方式load數據 use master load database TEADB from "E:\backup\*.dat" 5,數據庫檢查 聯機數據庫 online database TEADB 檢查數據一致性 dbcc checkdb("TEADB"); 方法2:一個更快的數據遷移方法,直接umount/mount,就可以了可以節省load和dump的時間,;該方法本質上同sql server的附件功能,多了一個配置文件 1,source db:umount db
use master go unmount database mytest2 to 'e:\backup\mytest2.mf' 2,拷貝相關介質
cp dat file and mf file to backup dirctory or remote server : E:\backup\mytest2 select @@servername go mount database all from "E:\backup\mytest2\mytest2.mf"---@target db, 查看介質的相關情況
select @@servername go mount database all from "E:\backup\mytest2\mytest2.mf" with listonly3,mount數據庫
select @@servername go mount database all from "E:\backup\mytest2\mytest2.mf" using "E:\Sybase\backup\mytest2.dat" = "mytest2" , "E:\Sybase\backup\mytest2log.dat" = "mytest2log" go4,online db
use master go online database mytest2參考文檔: