2008-08-01 166 views
29

是的,我知道。在2008年存在一個運行副本SQL Server 6.5是荒謬的。升級SQL Server 6.5

規定,從6.5遷移到2005的最佳方法是什麼?有沒有直接的路徑?我找到的大多數文檔都涉及將6.5升級到7

我應該忘記升級實用程序的原生SQL Server,腳本化所有對象和數據,並嘗試從頭重新創建?

本週我將嘗試升級,但服務器問題將其推回到下一個版本。所以,任何想法在本週的過程中都會受到歡迎。

更新。這是我如何做到的:

  • 備份有問題的數據庫和master。
  • 執行SQL Server 2000instcat.sql6.5的主人。這允許SQL Server 2000的OLEDB提供程序連接到6.5
  • 使用SQL Server 2000的獨立版"Import and Export Data"創建一個DTS包,使用OLEDB連接到6.5。這成功地將所有6.5的表格複製到新的2005數據庫(也使用OLEDB)。
  • 使用6.5的企業管理器將所有數據庫的索引和觸發器腳本編寫爲.sql文件。
  • 在2005年的Management Studio中,針對數據庫的新副本執行該.sql文件。
  • 使用6.5的企業管理器編寫所有存儲過程的腳本。
  • 2005數據庫執行.sql文件。幾十個sprocs有問題使它們與2005不兼容。主要是non-ANSI joinsquoted identifier issues
  • 更正了所有這些問題並重新執行了.sql文件。
  • 重新創建6.5的登錄2005並給他們適當的權限。

糾正存儲過程時有一些沖洗/重複(有數百個糾正),否則升級會變得很好。

能夠使用Management Studio而不是Query AnalyzerEnterprise Manager 6.5是如此驚人的差異。在6.5 database上花費20-30秒的一些報告查詢現在在1-2秒內運行,沒有任何修改,新的索引或任何內容。我並沒有期待這種直接的改善。

回答

8

嘿,我仍然陷在那個陣營裏。我們必須支持的第三方應用程序最終將會達到2K5,所以我們幾乎沒有實現。但我感到你的痛苦8^D

這就是說,從我們從DBA聽到的所有信息中,關鍵是首先將數據庫轉換爲8.0格式,然後再轉至2005年。我相信他們使用內置的遷移/升級工具。在6.5和8之間有一些很大的步驟。0比從6.5到2005直接更好地解決。

如果您還不知道,那麼您最大的痛苦就是DTS不再支持SSIS。有一個shell類型的模塊可以運行你現有的DTS包,但是你想要在SSIS中手動重新創建它們。這很容易取決於包裝本身的複雜程度,但迄今爲止我已經完成了一些工作,並且非常流暢。

2

我絕不是權威,但我相信唯一支持的路徑是從6.5到7.當然,這將是最健全的路線,那麼我相信你可以從7直接遷移到2005年非常無痛。至於腳本化所有的對象 - 我會建議反對它,因爲你將不可避免地錯過某些東西(除非你的數據庫是真正微不足道的)。

2

如果您可以找到專業或其他超級企業版本的Visual Studio 6.0 - 它附帶了MSDE(基本上是SQL Express的前身)的副本。我相信MSDE 2000仍然可以從微軟免費下載,但我不知道是否可以直接從6.5遷移到2000.

我認爲在概念上,您不會面臨任何危險。然而,多年的實踐告訴我,您將永遠錯過一些不會立即表現出來的對象,許可或其他數據庫項目。如果您可以編寫整個轉儲文件,效果會更好。因爲你不會錯過任何東西 - 如果你錯過了某些東西,它可以很容易地添加到腳本中並修復。我會避免任何手動步驟(除了一次點擊輸入鍵),就像瘟疫一樣。

3

您可以將6.5升級到SQL Server 2000.您可能更容易獲得SQL Server或MSDE的2000版本。微軟在going from 6.5 to 2000上有一個頁面。一旦擁有2000格式的數據庫,SQL Server 2005將無法將其升級到2005格式。

如果你沒有SQL Server 2000,你可以直接從微軟的download the MSDE 2000版本。