背景介紹: 公司一套系統(tǒng)使用的是SQL SERVER 2008數(shù)據(jù)庫(kù),突然一天收到郵件,需要將這套系統(tǒng)部署到各個(gè)不同地方(海外)的工廠,需要在各個(gè)工廠部署該數(shù)據(jù)庫(kù),等我將準(zhǔn)備工作做好,整理文檔的時(shí)候,坑爹的事情發(fā)生了,居然發(fā)現(xiàn)有兩三個(gè)工廠使用的還是SQL SERVER 2005數(shù)據(jù)庫(kù),要命的是這幾個(gè)工廠沒(méi)有SQL SERVER 2008的數(shù)據(jù)庫(kù)服務(wù)器。而其中兩個(gè)正準(zhǔn)備做服務(wù)器的遷移升級(jí),但是IBM的存儲(chǔ)還沒(méi)有到,沒(méi)辦法,這么”反人類,阻擋歷史進(jìn)程“的事情就發(fā)生了,我以為這種小概率的事情永遠(yuǎn)都不會(huì)發(fā)生在我身上。好在這個(gè)數(shù)據(jù)庫(kù)不大,才200M。于是才有下面文章的總結(jié)。
由于SQL Server 2008數(shù)據(jù)庫(kù)轉(zhuǎn)換到SQL Server 2005上,是不能通過(guò)備份還原、分離附加等操作來(lái)實(shí)現(xiàn)的,只能通過(guò)數(shù)據(jù)的導(dǎo)入導(dǎo)出實(shí)現(xiàn)。方法大致有幾種:
1:通過(guò)Generate Scripts(包括數(shù)據(jù)) ,這個(gè)方法呢,如果對(duì)于很小的數(shù)據(jù)庫(kù),倒是一個(gè)非常方便的方法。注意前提是數(shù)據(jù)庫(kù)很小,如果數(shù)據(jù)庫(kù)很大,那你千萬(wàn)別選這個(gè)方法,SQL導(dǎo)入數(shù)據(jù)的性能會(huì)折磨死你。
2:通過(guò)Generate Scripts(生成表、視圖等),然后使用SQL Server Import and Export Tool導(dǎo)入數(shù)據(jù)
3: Red Gate SQL Compare 工具
關(guān)于性能對(duì)比呢,博客園這位老兄的這篇文章"不同版本的SQL Server之間數(shù)據(jù)導(dǎo)出導(dǎo)入的方法及性能比較 " 已經(jīng)做了詳細(xì)的測(cè)試,下面只是介紹、總結(jié)轉(zhuǎn)換SQL Server 2008數(shù)據(jù)庫(kù)到SQL Server 2005的操作步驟。
Generate Scripts
Step 1: 單擊某個(gè)需要轉(zhuǎn)換的數(shù)據(jù)庫(kù),然后選擇任務(wù)(Tasks)——生成腳本(Generate Scripts)
Step 2: 彈出生成腳本指導(dǎo)界面
Step 3:選擇需要導(dǎo)出的數(shù)據(jù)庫(kù)對(duì)象,有導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)對(duì)象和選擇指定數(shù)據(jù)庫(kù)對(duì)象兩個(gè)選項(xiàng)
Step 4: 設(shè)置生成腳本選項(xiàng),例如指定腳本位置,腳本文件的編碼等等選擇,最重要的是高級(jí)選項(xiàng)”Advanced“
如下所示,最好在”Script for Server Version“ 里面選擇”SQL Server 2005“等選項(xiàng)
測(cè)試服務(wù)器這個(gè)版本里面沒(méi)有'Script Data”(生成數(shù)據(jù)的腳本)選項(xiàng),如下所示,如果你要通過(guò)腳本插入數(shù)據(jù),那么就必須選擇這個(gè)選項(xiàng)。
Step 5: Summray your selections, 點(diǎn)擊Next繼續(xù)
Step 6: 執(zhí)行過(guò)程。完成后即生成了相應(yīng)腳本文件。
將生成的腳本在另外一臺(tái)測(cè)試服務(wù)器執(zhí)行,創(chuàng)建相應(yīng)的數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)對(duì)象。然后點(diǎn)擊”SQL Server Import and Export“工具進(jìn)行數(shù)據(jù)導(dǎo)入,操作步驟如下所示:
SQL Server Import and Export
Step 1: 歡迎界面,點(diǎn)擊Next跳過(guò)。
Step 2: 選擇數(shù)據(jù)源(Data Source),我們需要選擇“SQL Server Native Client 10”, 輸入身份認(rèn)證信息,我選擇Windows 身份認(rèn)證。選擇
需要導(dǎo)出數(shù)據(jù)的數(shù)據(jù)庫(kù),例如,我選擇一個(gè)測(cè)試數(shù)據(jù)庫(kù)TSL
Step 3:配置需要導(dǎo)入的Destination,選擇對(duì)應(yīng)的服務(wù)器和數(shù)據(jù)庫(kù)
Step 4:兩個(gè)選擇,選項(xiàng)1是用于整個(gè)表或視圖導(dǎo)入導(dǎo)出,選項(xiàng)2用于書(shū)寫(xiě)查詢SQL或?qū)雽?dǎo)出
Step 5: 勾選你需要導(dǎo)數(shù)的腳本,單擊Source旁邊的選項(xiàng),即可選擇全部對(duì)象。有時(shí)候需要編輯“Edit Mappings"選項(xiàng),勾選”Enable identity Insert“,否則會(huì)導(dǎo)致后面導(dǎo)入導(dǎo)出報(bào)錯(cuò)
新聞熱點(diǎn)
疑難解答
圖片精選