SQL Server 2005 數(shù)據(jù)庫轉(zhuǎn) SQL Server 2000的方法小結(jié)
前幾步和網(wǎng)上說的一樣,先生成2000的腳本,然后再到2000里面執(zhí)行。操作如下:
打開 SQL Server 2005 的Manger Studio
-- 打開"對(duì)象資源管理器"(沒有的話按F8), 連接到你的實(shí)例
找到你要轉(zhuǎn)換的數(shù)據(jù)庫(建議先將此數(shù)據(jù)庫里的登錄名清空,否則轉(zhuǎn)換會(huì)出現(xiàn)問題)
-- 右鍵選擇要轉(zhuǎn)成 SQL Server2000 的數(shù)據(jù)庫
-- 選擇 任務(wù)
-- 選擇 生成腳本
-- 在"腳本向?qū)?的"選擇數(shù)據(jù)庫"中, 確定選擇的是要轉(zhuǎn)到2000的庫
-- 勾選"為所選數(shù)據(jù)庫中的所有對(duì)象編寫腳本" (這個(gè)勾不要其實(shí)也可以的,根據(jù)你的需要來。)
-- 在接下來的"選擇腳本選項(xiàng)"中, 找到"為服務(wù)器版本編寫腳本"項(xiàng), 選擇"SQL Server 2000"
-- 其他選項(xiàng)根據(jù)需要設(shè)置
-- 最后把腳本保存到一個(gè) .sql 腳本文件
有可能會(huì)遇到的問題:
目標(biāo)服務(wù)器版本不支持該對(duì)象或不支持該對(duì)象的一個(gè)屬性。 (Microsoft.SqlServer.Smo)
腳本無法成功生成。此問題是由于“數(shù)據(jù)庫兼容性級(jí)別”導(dǎo)致的。
解決方案:
server有個(gè)改兼容性級(jí)別的語句:
sp_dbcmptlevel [ [ @dbname = ] name ] [ , [ @new_cmptlevel = ] version ]
語句如下:
EXEC sp_dbcmptlevel '你的數(shù)據(jù)庫名', '80';
GO
這個(gè)80就是各個(gè)版本對(duì)應(yīng)的版本號(hào)
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于是兼容性級(jí)別就要調(diào)到80
2. 在2000中創(chuàng)建目標(biāo)數(shù)據(jù)庫
在查詢分析器(或2005的manger studio在打開腳本文件), 連接到SQL Server 2000,執(zhí)行上面生成的腳本.以創(chuàng)建一個(gè)新的數(shù)據(jù)庫 。
有可能會(huì)出現(xiàn)的問題:
max附近有語法錯(cuò)誤
server2000里面沒有max這種用法,所以建議大家把SQL腳本里的MAX改成一個(gè)很大的數(shù)就是了,比如4000(4000好像是上限)。
odb問題
其他數(shù)據(jù)庫我不知道,但是不論你用server什么數(shù)據(jù)庫,只要不是你自己的,通常管理員是不會(huì)給你配odb權(quán)限的,所以把所有的odb檫掉就可以了。另外還有個(gè)辦法,用你的遠(yuǎn)程數(shù)據(jù)庫登錄名可以改成那個(gè)用戶的所有者,在本地也修改一下,然后再運(yùn)行,就OK啦。
3. 將數(shù)據(jù)從2005導(dǎo)到2000
首先打開SQL Server 2005 的Manage Studio
-- 打開"對(duì)象資源管理器"(沒有的話按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)識(shí)的話,要在此處選中表,然后單擊下方的“編輯映射”按鈕,新開窗口中勾選“使用標(biāo)識(shí)插入”,每個(gè)有標(biāo)識(shí)的表都要這樣選擇一次。還有,此處導(dǎo)入數(shù)據(jù)如果牽扯到主外鍵關(guān)系或者其他約束的話,一定要分批次按照關(guān)系的先后順序?qū)耄駝t會(huì)報(bào)錯(cuò)。)
-- 最后完成
最后注意下2000的select top 后跟的不可以是表達(dá)式,所以如果你的分頁里有用到類似
declare @pageIndex int
select top (@pageIndex-1)*12 newsID from News
的話,請(qǐng)一律改成字符串拼接方法,例如下面的例子:
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的步驟(簡(jiǎn)易版,一路不錯(cuò)形式)
2005轉(zhuǎn)到2000的步驟
1. 生成for 2000版本的數(shù)據(jù)庫腳本
2005 的manger studio
-- 打開對(duì)象資源管理器(沒有的話按F8), 連接到你的實(shí)例
-- 右鍵要轉(zhuǎn)到2000的庫
-- 任務(wù)
-- 生成腳本
-- 在腳本向?qū)У倪x擇數(shù)據(jù)庫中, 確定選擇的是要轉(zhuǎn)到2000的庫
-- 勾選為所選數(shù)據(jù)庫中的所有對(duì)象編寫腳本
-- 在接下來的選擇腳本選項(xiàng)中, 將”編寫創(chuàng)建數(shù)據(jù)庫的腳本”設(shè)為True,找到為服務(wù)器版本編寫腳本項(xiàng), 選擇SQL Server 2000
-- 其他選項(xiàng)根據(jù)需要設(shè)置
-- 最后把腳本保存到一個(gè) .sql 腳本文件
2. 在2000中創(chuàng)建目標(biāo)數(shù)據(jù)庫
在查詢分析器(或2005的manger studio在打開腳本文件), 連接到SQL Server 2000,執(zhí)行上面生成的腳本.以創(chuàng)建一個(gè)新的數(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ù)庫
-- 在選擇源表和源視圖中, 選擇所有的表
-- 最后完成
相關(guān)文章
Navicat連接SQL Server,報(bào)錯(cuò)08001的解決方案
這篇文章主要講述了如何配置SQL Server和SQL Server Browser服務(wù),并通過修改TCP/IP屬性來設(shè)置端口號(hào)為1433,作者分享了自己的個(gè)人經(jīng)驗(yàn),并鼓勵(lì)大家參考和支持2025-01-01
阿拉伯?dāng)?shù)字轉(zhuǎn)大寫中文_財(cái)務(wù)常用sql存儲(chǔ)過程
需求:輸入阿拉伯?dāng)?shù)字,給出對(duì)應(yīng)的中文大寫,編寫為存儲(chǔ)過程或函數(shù)2008-10-10
SQL Server數(shù)據(jù)庫簡(jiǎn)單的事務(wù)日志備份恢復(fù)流程
在一些對(duì)數(shù)據(jù)可靠性要求很高的行業(yè),若發(fā)生意外停機(jī)或數(shù)據(jù)丟失,其損失是十分慘重的,數(shù)據(jù)庫管理員應(yīng)針對(duì)具體的業(yè)務(wù)要求指定詳細(xì)的數(shù)據(jù)庫備份與災(zāi)難恢復(fù)策略,本文給大家詳細(xì)介紹了SQL Server數(shù)據(jù)庫簡(jiǎn)單的事務(wù)日志備份恢復(fù)流程,需要的朋友可以參考下2024-09-09
MSSQL存儲(chǔ)過程學(xué)習(xí)筆記一 關(guān)于存儲(chǔ)過程
在寫筆記之前,首先需要整理好這些概念性的東西,否則的話,就會(huì)在概念上產(chǎn)生陌生或者是混淆的感覺。2011-05-05
sql處理數(shù)據(jù)庫鎖的存儲(chǔ)過程分享
查看當(dāng)前進(jìn)程,或死鎖進(jìn)程,并能自動(dòng)殺掉死進(jìn)程,因?yàn)槭轻槍?duì)死的,所以如果有死鎖進(jìn)程,只能查看死鎖進(jìn)程,當(dāng)然,你可以通過參數(shù)控制,不管有沒有死鎖,都只查看死鎖進(jìn)程2012-11-11
SQLSERVER全文目錄全文索引的使用方法和區(qū)別講解
這篇文章主要介紹了SQLSERVER全文目錄全文索引的使用方法,有圖有代碼,大家參考使用吧2013-11-11
SQLServer獲取臨時(shí)表所有列名或是否存在指定列名的方法
本文介紹了SQLServer獲取臨時(shí)表所有列名或是否存在指定列名的方法,需要的朋友一起來看下吧2016-12-12
sqlserver清空service broker中的隊(duì)列的語句分享
在我們開發(fā)service broker應(yīng)用時(shí)候,可能用于測(cè)試或者客戶端沒有配置正確等導(dǎo)致服務(wù)端隊(duì)列存在很多垃圾隊(duì)列,不便于我們排查錯(cuò)誤,我們可以使用SQL腳本來清空服務(wù)端這些垃圾數(shù)據(jù)2011-08-08

