将数据库从MS SQL Server 2003导入到MS SQL Server 2008

我有2个MS SQL服务器运行在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.

我创build了一个数据库的场合,但是当我右键单击它并转到任务,我没有复制数据库任务。

似乎只允许我导入数据的两项任务是:
还原:在那里我可以尝试恢复在SQL Server 2003下创build的数据库的备份,但是我收到一条错误消息,说明备份是为其他数据库创build的。 我试过这种解决scheme ,没有工作。
导入数据:打开上面提到的相同的导入和导出数据工具。 如果继续,我可以selectSQL Server Native Client 10.0作为数据源,将SQL Server 2003作为服务器名称。 但是使用Windows身份validation (2个独立的域)和使用SQL Server身份validation选项失败(我仍在调查此问题)。

有人可以帮我指导一下如何将数据库从MS SQL Server 2003导入到在不同的域上运行的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的逻辑文件名是什么,并用正确的逻辑文件名replace001_Data和001_Lo​​g。

最简单的做法是备份源服务器上的数据库,将备份传输到目标服务器,然后在目标服务器上进行恢复。 这可以直接从SSMS完成。

我知道这已经很晚了,但是这里是为了后代。 我发现(作为新手)最简单的解决scheme是不创build数据库开始。 而是selectSQL Server Management Studio中的“数据库”,右键单击并select“恢复数据库”,input新数据库的名称,然后备份文件并恢复。 我正在使用SQL Server Management Studio 10

重要的一点是如果你在2008年创build数据库,然后尝试导入一个旧的数据库,它们是不兼容的。

这个页面经历了这个过程。 http://www.techrepublic.com/blog/windows-and-office/how-do-i-restore-a-sql-server-database-to-a-new-server-80916/