主頁(yè) > 知識(shí)庫(kù) > 在SQL Server中遷移數(shù)據(jù)的幾種方法

在SQL Server中遷移數(shù)據(jù)的幾種方法

熱門(mén)標(biāo)簽:廣州人工電銷(xiāo)機(jī)器人費(fèi)用 怎樣把地圖標(biāo)注導(dǎo)入公司地址 地圖標(biāo)注一個(gè)圓圈怎么用 真人語(yǔ)音電銷(xiāo)機(jī)器人 寧波人工外呼系統(tǒng)有效果嗎 洛陽(yáng)外呼系統(tǒng)平臺(tái) 如何在地圖標(biāo)注自己店鋪 電銷(xiāo)機(jī)器人被曝光 400外呼系統(tǒng)合法

1.通過(guò)工具"DTS"的設(shè)計(jì)器進(jìn)行導(dǎo)入或者導(dǎo)出

DTS的設(shè)計(jì)器功能強(qiáng)大,支持多任務(wù),也是可視化界面,容易操作,但知道的人一般不 多,如果只是進(jìn)行SQL Server數(shù)據(jù)庫(kù)中部分表的移動(dòng),用這種方法最好,當(dāng)然,也可以進(jìn)行全部表的移動(dòng)。在SQL Server Enterprise Manager中,展開(kāi)服務(wù)器左邊的+,選擇數(shù)據(jù)庫(kù),右擊,選擇All tasks/Import Data...(或All tasks/Export Data...),進(jìn)入向?qū)J剑刺崾疽徊揭徊阶呔托辛?,里面分得很?xì),可以靈活的在不同數(shù)據(jù)源之間復(fù)制數(shù)據(jù),很方便的。而且可以另存成DTS包,如果 以后還有相同的復(fù)制任務(wù),直接運(yùn)行DTS包就行,省時(shí)省力。也可以直接打開(kāi)DTS設(shè)計(jì)器,方法是展開(kāi)服務(wù)器名稱(chēng)下面的Data Transformation Services,選Local Packages,在右邊的窗口中右擊,選New Package,就打開(kāi)了DTS設(shè)計(jì)器。值得注意的是:如果源數(shù)據(jù)庫(kù)要拷貝的表有外鍵,注意移動(dòng)的順序,有時(shí)要分批移動(dòng),否則外鍵主鍵,索引可能丟失,移 動(dòng)的時(shí)候選項(xiàng)旁邊的提示說(shuō)的很明白,或者一次性的復(fù)制到目標(biāo)數(shù)據(jù)庫(kù)中,再重新建立外鍵,主鍵,索引。

注釋?zhuān)涸诮?shù)據(jù)庫(kù)時(shí),建立外鍵,主鍵,索引的文件應(yīng)該和建表文件分開(kāi),而且用的數(shù)據(jù)文件也分開(kāi),并分別放在不同的驅(qū)動(dòng)器上,有利于數(shù)據(jù)庫(kù)的優(yōu)化。

2.利用"Bcp"工具

雖然這種工具雖然在SQL Server7的版本中不推薦使用,但許多數(shù)據(jù)庫(kù)管理員仍很喜歡用它,尤其是用過(guò)SQL Server早期版本的人。Bcp有局限性,首先它的界面不是圖形化的,其次它只是在SQL Server的表(視圖)與文本文件之間進(jìn)行復(fù)制,但它的優(yōu)點(diǎn)是性能好,開(kāi)銷(xiāo)小,占用內(nèi)存少,速度快。有興趣的朋友可以查參考手冊(cè)。

3.直接利用備份和恢復(fù)

首先需要對(duì)源數(shù)據(jù)庫(kù)進(jìn)行完全備份,備份到一個(gè)設(shè)備(device)上,然后把備份文 件復(fù)制到目的服務(wù)器上(恢復(fù)的速度快),進(jìn)行數(shù)據(jù)庫(kù)的恢復(fù)操作,在恢復(fù)的數(shù)據(jù)庫(kù)名中填上源數(shù)據(jù)庫(kù)的名字(名字必須相同),選擇強(qiáng)制型恢復(fù)(可以覆蓋以前數(shù) 據(jù)庫(kù)的選項(xiàng)),在選擇從設(shè)備中進(jìn)行恢復(fù),瀏覽時(shí)選中備份的文件就行了。這種方法可以完全恢復(fù)數(shù)據(jù)庫(kù),包括外鍵,主鍵,索引。

4.直接拷貝數(shù)據(jù)文件

把數(shù)據(jù)庫(kù)的數(shù)據(jù)文件(*.mdf)和日志文件(*.ldf)都拷貝到目的服務(wù)器,在SQL   Server   Query   Analyzer中用語(yǔ)句進(jìn)行恢復(fù):

復(fù)制代碼 代碼如下:

EXEC   sp_attach_db   @dbname   =   'test',  
@filename1   =   'd:mssql7data   est_data.mdf',  
@filename2   =   'd:mssql7data   est_log.ldf'

這樣就把test數(shù)據(jù)庫(kù)附加到SQL   Server中,可以照常使用。如果不想用原來(lái)的日志文件,可以用如下的命令:
復(fù)制代碼 代碼如下:

EXEC   sp_detach_db   @dbname   =   'test'  
EXEC   sp_attach_single_file_db   @dbname   =   'test',  
@physname   =   'd:mssql7data   est_data.mdf'

這個(gè)語(yǔ)句的作用是僅僅加載數(shù)據(jù)文件,日志文件可以由SQL   Server數(shù)據(jù)庫(kù)自動(dòng)添加,但是原來(lái)的日志文件中記錄的數(shù)據(jù)就丟失了。

5.在應(yīng)用程序中定制

可以在應(yīng)用程序(PB、VB)中執(zhí)行自己編寫(xiě)的程序,也可以在Query Analyzer中執(zhí)行,這種方法比較靈活,其實(shí)是利用一個(gè)平臺(tái)連接到數(shù)據(jù)庫(kù),在平臺(tái)中用的主要時(shí)SQL語(yǔ)句,這種方法對(duì)數(shù)據(jù)庫(kù)的影響小,但是如果用到遠(yuǎn) 程鏈接服務(wù)器,要求網(wǎng)絡(luò)之間的傳輸性能好,一般有兩種語(yǔ)句:

復(fù)制代碼 代碼如下:

1>select   ...   into   new_tablename   where   ...  
2>insert   (into)   old_tablename   select   ...   from   ...   where   ...

區(qū)別是前者把數(shù)據(jù)插入一個(gè)新表(先建立表,再插入數(shù)據(jù)),后者是把數(shù)據(jù)插入已經(jīng)存在的一個(gè)表中,我個(gè)人喜歡后者,因?yàn)樵诰幊痰慕Y(jié)構(gòu)上,應(yīng)用的范圍上,第二條語(yǔ)句強(qiáng)于前者。

6.SQL Server的復(fù)制功能

SQL Server提供了強(qiáng)大的數(shù)據(jù)復(fù)制功能,也是最不易掌握的,具體應(yīng)用請(qǐng)參考相關(guān)資料,值得注意的是要想成功進(jìn)行數(shù)據(jù)的復(fù)制工作,有些條件是必不可少的:

(1)SQL   Server   Agent必須啟動(dòng),MSDTC必須啟動(dòng)。

(2)所有要復(fù)制的表必須有主鍵。

(3)如果表中有text或image數(shù)據(jù)類(lèi)型,必須使用with   log選項(xiàng),不能使用with   no_log選項(xiàng)。

另外max   text   repl   size選項(xiàng)控制可以復(fù)制的文本和圖像數(shù)據(jù)的最大規(guī)模,超過(guò)這個(gè)限制的操作將失敗。

(4)在要進(jìn)行復(fù)制的計(jì)算機(jī)上,應(yīng)該至少是隱含共享,即共享名是C$或D$…。

(5)為SQL   Server代理使用的Windows   NT帳號(hào)不能是一個(gè)本地的系統(tǒng)帳號(hào),因?yàn)楸镜氐南到y(tǒng)帳號(hào)不允許網(wǎng)絡(luò)存取。

(6)如果參與復(fù)制的服務(wù)器在另外的計(jì)算機(jī)域中,則需要在這些域之間建立信任關(guān)系。

您可能感興趣的文章:
  • 在.NET Core類(lèi)庫(kù)中使用EF Core遷移數(shù)據(jù)庫(kù)到SQL Server的方法
  • sql server2008數(shù)據(jù)庫(kù)遷移的兩種方法
  • 如何將Oracle的一個(gè)大數(shù)據(jù)表快速遷移到 Sqlserver2008數(shù)據(jù)庫(kù)(圖文教程)
  • 如何把sqlserver數(shù)據(jù)遷移到mysql數(shù)據(jù)庫(kù)及需要注意事項(xiàng)
  • SQL Server數(shù)據(jù)遷移至PostgreSQL出錯(cuò)的解釋以及解決方案
  • 將ACCESS數(shù)據(jù)庫(kù)遷移到SQLSERVER數(shù)據(jù)庫(kù)兩種方法(圖文詳解)
  • sqlserver數(shù)據(jù)庫(kù)遷移后,孤立賬號(hào)解決辦法
  • 使用SQL SERVER存儲(chǔ)過(guò)程實(shí)現(xiàn)歷史數(shù)據(jù)遷移方式

標(biāo)簽:石家莊 北海 咸寧 東營(yíng) 珠海 晉中 南昌 煙臺(tái)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在SQL Server中遷移數(shù)據(jù)的幾種方法》,本文關(guān)鍵詞  在,SQL,Server,中,遷移,數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在SQL Server中遷移數(shù)據(jù)的幾種方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于在SQL Server中遷移數(shù)據(jù)的幾種方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章