現在有很多版本的sql server在使用中,而如何在SQL Server數據庫不同版本中存儲數據,將是SQL Server數據庫管理員需要深入了解的問題。
微軟在7.0版本中對數據庫引擎的工作方式和數據的存儲方式作了一些非常巨大的變化。這就使得從7.0版本之前的SQL Server中重新存儲數據的方式變得不那麼直接。
7.0,2000和2005版本的SQL Server允許你將數據庫重新存儲到稍後的SQL Server版本中。7.0版本之前的任何東西都需要數據移植,在這個過程中你必須實際地將數據從原有的SQL Server版本中移動出來,再放入新的SQL Server版本中。
既然最新的版本是2005,那麼我就討論一下如何將數據從原有的SQL Server版本中移動到最新的數據庫管理系統發布版本中。無論如何,這些技術同樣也可以應用在7.0或者2000版本上。
從7.0之前版本的SQL Server中重新存儲數據
我前面提到了,沒有這樣的一種直接方式可以將早於7.0版本之前的數據庫中的數據僅僅是備份然後就重新存儲這麼簡單直接。要將數據移動到sql server 2005中,就必須完成某些類型的數據移植,有可能是通過創建一個SSIS包,建立一個到你原有數據庫版本的ODBC源。或者,你可以使用BCP(塊拷貝程序)來將數據從原有的版本中移出來,移入SQL Server 2005數據庫。
沒有一種方式可以直接從備份文件中抽取數據。所以如果你只有一個你的數據庫的備份拷貝,那麼你就需要找到一個原有版本的sql server ,或者安裝磁盤來建立起那個版本的SQL Server來重新存儲數據。
SQL Server 7.0及其以後版本的重新存儲
只要簡單地從你的備份中重新存儲數據庫。這項工作就像你曾經作過的任何重新存儲,要麼使用GUI工具,要麼是T-SQL命令。看看這些文章,了解如何執行重新存儲:
·使用企業管理器來重新存儲 SQL Server
·使用T-SQL 命令來重新存儲SQL Server
·從事務日志中重新存儲SQL Server
·從另外一個SQL Server中重新存儲數據庫
用7.0之前的版本,你可以使用數據移植處理進程將你的數據從原有版本的SQL Server中移動到新的版本中。這種方式要求兩個數據庫都必須是在線的。
你還可以使用attach 和detach兩個選項來將你的數據庫從原有版本中移植到新的版本中。
重新存儲系統數據庫
需要提出的一個說明那個就是你可以重新存儲用戶數據庫,但是你不能從先前的版本中重新存儲系統數據庫到新的sql server版本中。當SQL Server改善功能的時候,大多數的修改都是存儲在相同數據庫中。新表的創建和原有表的修改(為什麼你不能使用直接使用系統表的原因)都讓重新存儲系統數據庫變得不可能。
你可以使用SSIS或者BCP方式來移植數據或者你在這些數據庫中創建的新的對象,但是你不能移動整個數據庫。
更新用戶和登錄信息
當重新存儲數據庫到一個完全不同的sql server實例環境中需要時刻記住的一個問題就是,用戶和登錄信息需要更新以確保數據庫認證可以按照計劃工作。參考從其它的SQL Server中重新存儲數據庫,學習如何進行。
從sql server 7.0開始,微軟開始用各種方法簡單化和效率化從低版本的SQL Server數據庫向高版本SQL Server數據庫數據轉移,而在未來的新版本中,是否依然提供了向下兼容的功能,只有時間才會告訴我們。