SQL Server 2005 數(shù)據(jù)庫轉(zhuǎn)SQL Server 2000的方法小結(jié)
來源:易賢網(wǎng) 閱讀:1397 次 日期:2014-05-12 14:49:39
溫馨提示:易賢網(wǎng)小編為您整理了“SQL Server 2005 數(shù)據(jù)庫轉(zhuǎn)SQL Server 2000的方法小結(jié)”,方便廣大網(wǎng)友查閱!

打開 SQL Server 2005 的Manger Studio

-- 打開"對象資源管理器"(沒有的話按F8), 連接到你的實(shí)例

找到你要轉(zhuǎn)換的數(shù)據(jù)庫(建議先將此數(shù)據(jù)庫里的登錄名清空,否則轉(zhuǎn)換會出現(xiàn)問題)

-- 右鍵選擇要轉(zhuǎn)成 SQL Server2000 的數(shù)據(jù)庫

-- 選擇 任務(wù)

-- 選擇 生成腳本

-- 在"腳本向?qū)?的"選擇數(shù)據(jù)庫"中, 確定選擇的是要轉(zhuǎn)到2000的庫

-- 勾選"為所選數(shù)據(jù)庫中的所有對象編寫腳本" (這個勾不要其實(shí)也可以的,根據(jù)你的需要來。)

-- 在接下來的"選擇腳本選項(xiàng)"中, 找到"為服務(wù)器版本編寫腳本"項(xiàng), 選擇"SQL Server 2000"

-- 其他選項(xiàng)根據(jù)需要設(shè)置

-- 最后把腳本保存到一個 .sql 腳本文件

代碼如下:

有可能會遇到的問題:

目標(biāo)服務(wù)器版本不支持該對象或不支持該對象的一個屬性。 (Microsoft.SqlServer.Smo)

腳本無法成功生成。此問題是由于“數(shù)據(jù)庫兼容性級別”導(dǎo)致的。

解決方案:

server有個改兼容性級別的語句:

sp_dbcmptlevel [ [ @dbname = ] name ] [ , [ @new_cmptlevel = ] version ]

語句如下:

EXEC sp_dbcmptlevel '你的數(shù)據(jù)庫名', '80';

GO

這個80就是各個版本對應(yīng)的版本號

60 = SQL Server 6.0

65 = SQL Server 6.5

70 = SQL Server 7.0

80 = SQL Server 2000 ——8.0

90 = SQL Server 2005 ——9.0

由于是轉(zhuǎn)到2000于是兼容性級別就要調(diào)到80

2. 在2000中創(chuàng)建目標(biāo)數(shù)據(jù)庫

在查詢分析器(或2005的manger studio在打開腳本文件), 連接到SQL Server 2000,執(zhí)行上面生成的腳本.以創(chuàng)建一個新的數(shù)據(jù)庫 。

代碼如下:

有可能會出現(xiàn)的問題:

max附近有語法錯誤

server2000里面沒有max這種用法,所以建議大家把SQL腳本里的MAX改成一個很大的數(shù)就是了,比如4000(4000好像是上限)。

odb問題

其他數(shù)據(jù)庫我不知道,但是不論你用server什么數(shù)據(jù)庫,只要不是你自己的,通常管理員是不會給你配odb權(quán)限的,所以把所有的odb檫掉就可以了。另外還有個辦法,用你的遠(yuǎn)程數(shù)據(jù)庫登錄名可以改成那個用戶的所有者,在本地也修改一下,然后再運(yùn)行,就OK啦。

3. 將數(shù)據(jù)從2005導(dǎo)到2000

首先打開SQL Server 2005 的Manage Studio

-- 打開"對象資源管理器"(沒有的話按F8), 連接到你的實(shí)例

-- 右鍵選擇要轉(zhuǎn)成 SQL Server2000 的數(shù)據(jù)庫--選擇 任務(wù) --導(dǎo)出數(shù)據(jù)

(注意,如果你的Manage Studio 為 Express版本,那任務(wù)里是沒有導(dǎo)出數(shù)據(jù)選項(xiàng)的,你可以直接找到你的數(shù)據(jù)安裝目錄里的Binn文件夾,例如 C:\Program Files\Microsoft SQL Server\90\DTS\Binn 然后執(zhí)行DTSWizard.exe文件即可。)

-- 在"SQL Server 導(dǎo)入和導(dǎo)出向?qū)?的"選擇數(shù)據(jù)源"步驟中, 確定選擇的是要導(dǎo)出的數(shù)據(jù)庫

-- 在"選擇目標(biāo)"步驟中, 連接到 2000, 并選擇步驟2新建的庫

-- 在"選擇源表和源視圖"中, 選擇所有的表(注意,如果表中有標(biāo)識的話,要在此處選中表,然后單擊下方的“編輯映射”按鈕,新開窗口中勾選“使用標(biāo)識插入”,每個有標(biāo)識的表都要這樣選擇一次。還有,此處導(dǎo)入數(shù)據(jù)如果牽扯到主外鍵關(guān)系或者其他約束的話,一定要分批次按照關(guān)系的先后順序?qū)耄駝t會報錯。)

-- 最后完成

代碼如下:

最后注意下2000的select top 后跟的不可以是表達(dá)式,所以如果你的分頁里有用到類似

declare @pageIndex int

select top (@pageIndex-1)*12 newsID from News

的話,請一律改成字符串拼接方法,例如下面的例子:

declare @strSql varchar(1000)

declare @pageIndex int

set @pageIndex= (@pageIndex-1)*12

set @strSql='select top '+str(@pageIndex)+'  newsID from News'

exec (@strSql)

sql server 2005轉(zhuǎn)到2000的步驟(簡易版,一路不錯形式)

2005轉(zhuǎn)到2000的步驟

1. 生成for 2000版本的數(shù)據(jù)庫腳本

2005 的manger studio

-- 打開對象資源管理器(沒有的話按F8), 連接到你的實(shí)例

-- 右鍵要轉(zhuǎn)到2000的庫

-- 任務(wù)

-- 生成腳本

-- 在腳本向?qū)У倪x擇數(shù)據(jù)庫中, 確定選擇的是要轉(zhuǎn)到2000的庫

-- 勾選為所選數(shù)據(jù)庫中的所有對象編寫腳本

-- 在接下來的選擇腳本選項(xiàng)中, 將”編寫創(chuàng)建數(shù)據(jù)庫的腳本”設(shè)為True,找到為服務(wù)器版本編寫腳本項(xiàng), 選擇SQL Server 2000

-- 其他選項(xiàng)根據(jù)需要設(shè)置

-- 最后把腳本保存到一個 .sql 腳本文件

2. 在2000中創(chuàng)建目標(biāo)數(shù)據(jù)庫

在查詢分析器(或2005的manger studio在打開腳本文件), 連接到SQL Server 2000,執(zhí)行上面生成的腳本.以創(chuàng)建一個新的數(shù)據(jù)庫

3. 將數(shù)據(jù)從2005導(dǎo)到2000

打開SQL Server 2000的企業(yè)管理器

-- 右鍵要導(dǎo)入數(shù)據(jù)的數(shù)據(jù)庫

-- 任務(wù)

-- 導(dǎo)入數(shù)據(jù)

-- 在SQL Server 導(dǎo)入和導(dǎo)出向?qū)У倪x擇數(shù)據(jù)源步驟中, 確定選擇的是要導(dǎo)出的數(shù)據(jù)庫

-- 在選擇數(shù)據(jù)源步驟中, 連接到 2005, 并選擇源數(shù)據(jù)庫

-- 在選擇源表和源視圖中, 選擇所有的表

-- 最后完成

更多信息請查看IT技術(shù)專欄

更多信息請查看數(shù)據(jù)庫
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)