在SQL Server中遷徙數據的幾種辦法。本站提示廣大學習愛好者:(在SQL Server中遷徙數據的幾種辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是在SQL Server中遷徙數據的幾種辦法正文
1.經由過程對象"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設計器。值得留意的是:假如源數據庫要拷貝的表有外鍵,留意挪動的次序,有時要分批挪動,不然外鍵主鍵,索引能夠喪失,移 動的時刻選項旁邊的提醒說的很明確,或許一次性的復制到目的數據庫中,再從新樹立外鍵,主鍵,索引。
正文:在樹立數據庫時,樹立外鍵,主鍵,索引的文件應當和建表文件離開,並且用的數據文件也離開,並分離放在分歧的驅動器上,有益於數據庫的優化。
2.應用"Bcp"對象
固然這類對象固然在SQL Server7的版本中不推舉應用,但很多數據庫治理員仍很愛好用它,特別是用過SQL Server晚期版本的人。Bcp有局限性,起首它的界面不是圖形化的,其次它只是在SQL Server的表(視圖)與文本文件之間停止復制,但它的長處是機能好,開支小,占用內存少,速度快。有興致的同伙可以查參考手冊。
3.直接應用備份和恢復
起首須要對源數據庫停止完整備份,備份到一個裝備(device)上,然後把備份文 件復制到目標辦事器上(恢復的速度快),停止數據庫的恢復操作,在恢復的數據庫名中填上源數據庫的名字(名字必需雷同),選擇強迫型恢復(可以籠罩之前數 據庫的選項),在選擇從裝備中停止恢復,閱讀時選中備份的文件就好了。這類辦法可以完整恢單數據庫,包含外鍵,主鍵,索引。
4.直接拷貝數據文件
把數據庫的數據文件(*.mdf)和日記文件(*.ldf)都拷貝到目標辦事器,在SQL Server Query Analyzer頂用語句停止恢復:
EXEC sp_attach_db @dbname = 'test',
@filename1 = 'd:mssql7data est_data.mdf',
@filename2 = 'd:mssql7data est_log.ldf'
如許就把test數據庫附加到SQL Server中,可以照舊應用。假如不想用本來的日記文件,可以用以下的敕令:
EXEC sp_detach_db @dbname = 'test'
EXEC sp_attach_single_file_db @dbname = 'test',
@physname = 'd:mssql7data est_data.mdf'
這個語句的感化是僅僅加載數據文件,日記文件可以由SQL Server數據庫主動添加,然則本來的日記文件中記載的數據就喪失了。
5.在運用法式中定制
可以在運用法式(PB、VB)中履行本身編寫的法式,也能夠在Query Analyzer中履行,這類辦法比擬靈巧,實際上是應用一個平台銜接到數據庫,在平台頂用的重要時SQL語句,這類辦法對數據庫的影響小,然則假如用到遠 程鏈接辦事器,請求收集之間的傳輸機能好,普通有兩種語句:
1>select ... into new_tablename where ...
2>insert (into) old_tablename select ... from ... where ...
差別是前者把數據拔出一個新表(先樹立表,再拔出數據),後者是把數據拔出曾經存在的一個表中,我小我愛好後者,由於在編程的構造上,運用的規模上,第二條語句強於前者。
6.SQL Server的復制功效
SQL Server供給了壯大的數據復制功效,也是最不容易控制的,詳細運用請參考相干材料,值得留意的是要想勝利停止數據的復制任務,有些前提是必弗成少的:
(1)SQL Server Agent必需啟動,MSDTC必需啟動。
(2)一切要復制的表必需有主鍵。
(3)假如表中有text或image數據類型,必需應用with log選項,不克不及應用with no_log選項。
別的max text repl size選項掌握可以復制的文本和圖象數據的最年夜范圍,跨越這個限制的操作將掉敗。
(4)在要停止復制的盤算機上,應當至多是隱含同享,即同享名是C$或D$…。
(5)為SQL Server署理應用的Windows NT帳號不克不及是一個當地的體系帳號,由於當地的體系帳號不許可收集存取。
(6)假如介入復制的辦事器在別的的盤算機域中,則須要在這些域之間樹立信賴關系。