使用复制数据库向导

通过复制数据库向导,可以方便地将数据库及其对象从一台服务器移动或复制到另一台服务器,而服务器无需停机。使用此向导可执行以下操作:

  • 选取源服务器和目标服务器。

  • 选择要移动或复制的数据库。

  • 为数据库指定文件位置。

  • 在目标服务器上创建登录名。

  • 复制其他支持的对象、作业、用户定义的存储过程和错误消息。

  • 计划何时移动或复制数据库。

除了复制数据库,还可以复制关联的元数据,例如 master 数据库的登录名和对象,它们是复制的数据库所必需的。

注意注意

modelmsdbmaster 数据库无法通过复制数据库向导进行复制或移动。

此外,可以在 SQL Server 的不同实例之间移动和复制数据库,也可以将数据库从 SQL Server 2000 升级到 SQL Server 2005 或更高版本。目标服务器必须是 SQL Server 2005 或更高版本。有关详细信息,请参阅本主题后面的“使用复制数据库向导升级 SQL Server”。

需要考虑的问题

在使用复制数据库向导之前,请考虑下列问题。

范围

注意事项

所需的权限

您必须是源服务器和目标服务器上 sysadmin 固定服务器角色的成员。

modelmsdbmaster 数据库

modelmsdbmaster 数据库无法通过复制数据库向导进行复制或移动。

源服务器上的数据库

如果选择“移动”选项,则在移动数据库之后,该向导将自动删除源数据库。如果选择“复制”选项,则复制数据库向导不会删除源数据库。

全文目录

如果使用 SQL Server 管理对象方法移动全文目录,则必须在移动后重新填充索引。如果使用分离和附加方法,则必须手动移动全文目录。有关如何移动全文目录的详细信息,请参阅移动数据库文件

启动复制数据库向导

在 SQL Server Management Studio 的对象资源管理器中,展开**“数据库”,右键单击某个数据库,指向“任务”,然后单击“复制数据库”**。

复制和移动数据库

若要使用复制数据库向导,必须指定:

  • 要复制的数据库所在的源服务器。

  • 数据库要复制或移动到的目标服务器。

  • 要移动或复制的数据库。

  • 目标数据库的名称(如果与源数据库的名称不同)。

    仅当目标服务器上不存在名称冲突时,源数据库名称才能用于复制或移动的数据库。如果存在名称冲突,则必须在目标服务器上手动解决冲突问题,然后才能在此处使用源数据库名称。

  • 其他要复制或移动的对象,例如登录名、master 数据库中的共享对象、作业和维护计划以及用户定义的错误消息。

  • 复制或移动操作的计划(如果希望以后执行该操作)。

  • 如果您不是系统管理员,则必须指定有权访问 Integration Services (SSIS) 包执行子系统的 SQL Server 代理的代理帐户。

分离和附加方法可分离数据库,移动或复制数据库 .mdf、.ndf、.ldf 文件,并在新的位置重新附加该数据库。对于分离和附加方法,若要避免数据丢失或不一致,不能将活动会话附加到正在移动或复制的数据库。如果存在活动会话,复制数据库向导不会执行移动或复制操作。

注意注意

对于 SQL Server 管理对象方法,由于数据库从不会脱机,因此允许活动会话。

在不同服务器或磁盘驱动器之间移动数据库时,复制数据库向导将数据库复制到目标服务器并验证其是否联机。在相同服务器上的两个实例之间移动数据库时,将执行文件系统移动操作。

还原到另一个服务器实例时管理元数据

将数据库复制到另一个服务器实例时,为了给用户和应用程序提供一致的体验,您最好在另一个服务器实例上重新创建该数据库的部分或全部元数据(例如登录名和作业)。有关详细信息,请参阅当数据库在其他服务器实例上可用时管理元数据

使用复制数据库向导升级 SQL Server

您可以使用复制数据库向导从 SQL Server 2000 数据库升级到 SQL Server 2005 或更高版本数据库。

您还可以通过将多个 SQL Server 2000 实例集成到一个 SQL Server 2005 或更高版本实例中或集成到一台计算机上的多个命名实例中,从而简化数据库的管理和维护工作。

使用复制数据库向导的分离和附加方法升级数据库时,请确保没有任何应用程序或服务尝试访问该数据库。请勿使用只读模式,因为这会导致错误。在此操作过程中,您可以重命名数据库。

重要说明重要提示

从早期版本的 SQL Server 升级数据库之后,请在目标服务器上对数据库运行 sp_updatestats,以更新统计信息并确保已复制数据库具有最佳性能。

使用复制数据库向导升级 SQL Server