本人從事的工作是數據庫管理員
要維護多台服務器中的數據庫
經常把某台服務器中的某個數據庫移動到另外一台服務器
對數據的移動有些心得體會
希望和大家共同交流
通過工具DTS的設計器進行導入或導出
DTS的設計器功能強大
支持多任務
也是可視化界面
容易操作
但知道的人一般不多
如果只是進行SQL Server數據庫中部分表的移動
用這種方法最好
當然
也可以進行全部表的移動
在SQL Server Enterprise Manager中
展開服務器左邊的+
選擇數據庫
右擊
選擇All tasks/Import Data
(或All tasks/Export Data
)
進入向導模式
按提示一步一步走就行了
裡面分得很細
可以靈活的在不同數據源之間復制數據
很方便的
而且可以另存成DTS包
如果以後還有相同的復制任務
直接運行DTS包就行
省時省力
也可以直接打開DTS設計器
方法是展開服務器名稱下面的Data Transformation Services
選Local Packages
在右邊的窗口中右擊
選New Package
就打開了DTS設計器
值得注意的是
如果源數據庫要拷貝的表有外鍵
注意移動的順序
有時要分批移動
否則外鍵主鍵
索引可能丟失
移動的時候選項旁邊的提示說的很明白
或者一次性的復制到目標數據庫中
再重新建立外鍵
主鍵
索引
其實建立數據庫時
建立外鍵
主鍵
索引的文件應該和建表文件分開
而且用的數據文件也分開
並分別放在不同的驅動器上
有利於數據庫的優化
利用Bcp工具
這種工具雖然在SQL Server
的版本中不推薦使用
但許多數據庫管理員仍很喜歡用它
尤其是用過SQL Server早期版本的人
Bcp有局限性
首先它的界面不是圖形化的
其次它只是在SQL Server的表(視圖)與文本文件之間進行復制
但它的優點是性能好
開銷小
占用內存少
速度快
有興趣的朋友可以查參考手冊
利用備份和恢復
先對源數據庫進行完全備份
備份到一個設備(device)上
然後把備份文件復制到目的服務器上(恢復的速度快)
進行數據庫的恢復操作
在恢復的數據庫名中填上源數據庫的名字(名字必須相同)
選擇強制型恢復(可以覆蓋以前數據庫的選項)
在選擇從設備中進行恢復
浏覽時選中備份的文件就行了
這種方法可以完全恢復數據庫
包括外鍵
主鍵
索引
直接拷貝數據文件
把數據庫的數據文件(*
mdf)和日志文件(*
ldf)都拷貝到目的服務器
在SQL Server Query Analyzer中用語句進行恢復:
EXEC sp_attach_db @dbname =
test
@filename
=
d:\mssql
\data\test_data
mdf
@filename
=
d:\mssql
\data\test_log
ldf
這樣就把test數據庫附加到SQL Server中
可以照常使用
如果不想用原來的日志文件
可以用如下的命令
EXEC sp_detach_db @dbname =
test
EXEC sp_attach_single_file_db @dbname =
test
@physname =
d:\mssql
\data\test_data
mdf
[] []
From:http://tw.wingwit.com/Article/program/PB/201311/24556.html