簡體   English   中英

更改SQL Server數據庫版本

[英]Change SQL Server database version

我有一個SQL Server 2008版本數據庫(版本號655)。 如果我嘗試創建將其附加到SQL Server 2005或SQL Server 2000,我收到一個錯誤:

此數據庫的版本為655.此服務器與版本612或之前的版本兼容

當然,我可以將數據庫附加到SQL Server 2008而不會出現錯誤。 我知道我可以為結構生成SQL命令,但許多表中也有很多數據。

如果我可以更改內部數據庫版本(兼容級別現在設置為SQL Server 2000),則任何服務器版本中的附加進程都將起作用,因為此進程會自動更新版本。

有什么建議么?

編輯:我剛剛意識到,如果版本號的更新是自動的,那么將無法進行版本更改。 所以,我重新提出了這個問題:

你知道任何生成“包”的工具,其數據和結構與2000年到2008年的SQL Server版本兼容嗎? 也許是工具或腳本。

再次感謝。

提前致謝。

在任何情況下,您都不能將數據庫從SQL Server 2008服務器附加到SQL Server 2005之類的先前版本。

沒有辦法實現這一點 - 沒有“轉換”工具來更改數據庫版本或任何東西。

如果您需要支持SQL Server 2005,則必須擁有一台SQL Server 2005服務器(可能在VM或其他東西中)。 或者您需要使用Red Gate的SQL CompareSQL Data Compare等工具來同步SQL Server 2008和其他SQL Server 2005數據庫之間的更改。

不,對不起 在過時的SQL Server上重新創建數據庫。 與大多數軟件一樣,SQL Server僅支持UPGRADES,而不支持降級。

這是不可能的。 您不能將SQL Server數據庫附加/還原到早期版本的SQL Server。 你必須做出口/進口。

不,你不能將sql 2008降級為sql 2005

¿您知道任何生成“包”的工具,其數據和結構與2000年到2008年的SQL Server版本兼容嗎? 也許是工具或腳本。

老帖子。 我為期貨讀者添加了2條建議。 新的T-SQL功能(語法)不能反向移植(當然),但對於簡單的場景(每個表都有主鍵),您可以臨時設置和使用事務復制。 您還可以編寫一個腳本來BCP OUT每個表的數據(我建議/本機模式),也許使用sp_MSForEachTable作為該BCP命令 - 這實際上是復制的快照過程所做的。

我有同樣的問題,但有一種方法來實現這個問題:

  • 將數據庫從Server 2008(或更高版本)附加到SQL Server 2005(或2000)

從較高的SQL版本生成腳本(右鍵單擊您的數據庫>任務>生成腳本)然后在SQL較低版本上創建一個原始數據庫(使用相同的名稱)並運行您的腳本。

  • 你有選擇生成所有數據(或只是創建表 - 存儲procdure-user-functions,...)然后導入到SQL低版本數據庫

我為SQL 2012測試此解決方案到SQL 2005.除了為SQL開發的新函數更高版本每個架構和數據生成到.sql文件然后導入到低級SQL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM