SQL2005轉SQL2000的方法

iSQlServer發表於2009-02-12

今天我在測試我的一個網站的時候發現在本地本來可以註冊的功能在網上卻不能使用了,開始我還以為是我自己的程式或資料庫在上傳到遠端伺服器的時候出了問題。當我開啟遠端伺服器上的資料庫和我本地的資料庫對比時,我發現我本地資料庫中一個欄位設定的預設值在遠端資料庫中居然沒有。我懷疑是我在複製資料庫的過程中出了差錯(我首次使用本地資料庫複製到遠端資料庫上去),所以我把再把本地的資料庫複製到遠端資料庫上去。當我再次去開啟網站時居然網站都打不開了,提示的錯誤好像是什麼欄位的不唯一性,我估計是因為我沒有刪除遠端伺服器上的資料庫而直接再次複製。所以我再把遠端伺服器上的資料庫刪除,然後重新複製,複製後檢視2個資料庫的結果還是一樣:遠端資料庫沒有那個欄位的預設值設定。這個時候我想起了供應商說過它們伺服器上的資料庫是sql server2000,而我使用的是2005.我估計是因為版本的不一致而導致的,我就去百度一下有沒有把2005的資料庫轉換為2000的方法。找到了一個解決方案如下:

***************************************

SQL2005轉SQL2000的方法

直接restore或附加應該是不行的, 用指令碼+導資料肯定沒有問題。

2005轉到2000的步驟
1. 生成for 2000版本的資料庫指令碼
2005 的manger studio
-- 開啟"物件資源管理器"(沒有的話按F8), 連線到你的例項
-- 右鍵要轉到2000的庫
-- 任務
-- 生成指令碼
-- 在"指令碼嚮導"的"選擇資料庫"中, 確定選擇的是要轉到2000的庫
-- 勾選"為所選資料庫中的所有物件編寫指令碼"
-- 在接下來的"選擇指令碼選項"中, 找到"為伺服器版本編寫指令碼"項, 選擇"SQL Server 2000"
-- 其他選項根據需要設定
-- 最後把指令碼儲存到一個 .sql 指令碼檔案

2. 在2000中建立目標資料庫
在查詢分析器(或2005的manger studio在開啟指令碼檔案), 連線到SQL Server 2000,執行上面生成的指令碼.以建立一個新的資料庫

3. 將資料從2005導到2000
2005 的manger studio
-- 開啟"物件資源管理器"(沒有的話按F8), 連線到你的例項
-- 右鍵要轉到2000的庫
-- 任務
-- 匯出資料
-- 在"SQL Server 匯入和匯出嚮導"的"選擇資料來源"步驟中, 確定選擇的是要匯出的資料庫
-- 在"選擇目標"步驟中, 連線到 2000, 並選擇步驟2新建的庫
-- 在"選擇源表和源檢視"中, 選擇所有的表
-- 最後完成
***********************************
我按照上面的方法操作,到轉換為2000資料庫腳步時它提示轉換錯誤,目標版本(2000)不支援某個屬性。這下我估計應該是伺服器上的資料庫系統不支援我那個預設屬性了。這個問題讓我想到.net的版本問題,我現在使用的是2.0的,但是我以後可能在給這個程式升級的時候使用3.5的版本。看來在選擇空間的時候還是選擇支援最高版本的好。
如果哪位朋友對我上面的問題有其他的解決方案就在評論中告訴,謝謝

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-548896/,如需轉載,請註明出處,否則將追究法律責任。

相關文章