將數據庫從 MS SQL Server 2003 導入到 MS SQL Server 2008
我有 2 個 MS SQL Server 在 2 個單獨的域上執行,我正在嘗試將數據從 1 個導入到另一個。第一個 MS SQL Server 在 Windows server 2003 上執行。第二個 SQL Server 在 Windows server 2008 R2 上執行。
在 2008 年,我嘗試使用**開始->所有程序->Microsoft SQL Server 2008 R2->導入和導出數據(64 位)**工具導入數據。那裡說:
to move or copy databases and their objects from one server instance to another, cancel this wizard and use the Copy Database Wizard instead
。我正在尋找基於這篇文章的複制數據庫嚮導。那裡說我應該做以下事情:
In SQL Server Management Studio, in Object Explorer, expand Databases, right-click a database, point to Tasks, and then click Copy Database.
我為此創建了一個數據庫,但是當我右鍵點擊它並轉到任務時,我沒有複製數據庫任務。
似乎允許我導入數據的唯一 2 項任務是:
-**恢復:**我可以嘗試恢復在 SQL Server 2003 下創建的數據庫的備份,但我收到一條錯誤消息,指出備份是為不同的數據庫創建的。我嘗試了這個沒有用的解決方案。
-導入數據:這將打開上述相同的導入和導出數據工具。如果我繼續,我可以選擇SQL Server Native Client 10.0作為數據源,SQL Server 2003 作為伺服器名稱。但是,使用 Windows 身份驗證(2 個單獨的域)和使用 SQL Server 身份驗證選項失敗(我仍在調查此問題)。
有人可以通過指導我如何將數據庫從 MS SQL Server 2003 導入到在 2 個不同域上執行的 MS SQL Server 2008 來幫助我嗎?
首先,沒有 SQL Server 2003 這樣的東西。
您需要對源數據庫進行完整備份並將其還原到新的 SQL Server,可能使用 WITH MOVE 語法將文件放入正確的驅動器號位置。
不要使用複制數據或複制數據庫嚮導。他們沒用。
RESTORE DATABASE [001] FROM DISK = 'C:\path\to\backup.bak' WITH REPLACE, MOVE '001_Data' TO 'D:\Path\To\File\001.mdf', MOVE '001_Log' TO 'E:\Path\To\File\001_log.ldf'
您需要從舊伺服器上的 dbo.sysfiles 中找出邏輯文件名,並將 001_Data 和 001_Log 替換為正確的邏輯文件名。