运行SQL Server的计算机间移动数据库

2009-05-12 20:51:01来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

概要

本文分步介绍了如何在运行 SQL Server 的计算机之间移动 Microsoft SQL Server 用户数据库和大多数常见的 SQL Server 组件。

本文中介绍的步骤假定您不移动 master、model、tempdb 或 msdb 这些系统数据库。这些步骤为您传输登录以及master 和 msdb 数据库中包含的大多数常见组件提供了多个选项。

注意:支持将数据从 SQL Server 2000 迁移到 Microsoft SQL Server 2000(64 位)。您可以将一个 32 位数据库附加到一个 64 位数据库上,方法是:使用 sp_attach_db 系统存储过程或 sp_attach_single_file_db 系统存储过程,或者使用 32 位企业管理器中的备份和还原功能。您可以在 SQL Server 的 32 位和 64 位两种版本之间来回移动数据库。您还可以使用同样的方法从 SQL Server 7.0 迁移数据。但是,不支持将数据从 SQL Server 2000(64 位)降级到 SQL Server 7.0。 下面分别介绍这几种方法。

如果您使用的是 SQL Server 2005

您可以使用相同的方法从 SQL Server 7.0 或 SQL Server 2000 迁移数据。但是,Microsoft SQL Server 2005 中的管理工具与 SQL Server 7.0 或 SQL Server 2000 中的管理工具有所不同。您应该使用 SQL Server Management Studio(而不是 SQL Server 企业管理器)以及 SQL Server 导入和导出向导 (DTSWizard.exe)(而不是数据转换服务导入和导出数据向导)。

备份和还原

在源服务器上备份用户数据库,然后将用户数据库还原到目标服务器上。? 在备份过程中时可能有人使用数据库。如果用户在备份完成后对数据库执行 INSERT、UPDATE 或 DELETE 语句,则备份中不会包含这些更改。如果您必须传输所有更改,那么,假如您既执行事务日志备份又执行完整数据库备份,您可以以尽可能短的停止时间来传输这些更改。1. 在目标服务器上还原完整数据库备份,并指定 WITH NORECOVERY 选项。

注意:为防止对数据库做进一步的修改,请指导用户在源服务器上退出数据库活动。

2. 执行事务日志备份,然后使用 WITH RECOVERY 选项将事务日志备份还原到目标服务器上。停止时间仅限于事务日志备份和恢复的时间。

目标服务器上的数据库将与源服务器上的数据库大小相同。要减小数据库的大小,您必须在执行备份前压缩源数据库的大小,或者在完成还原后压缩目标数据库的大小。

如果您将数据库还原到的文件位置不同于源数据库的文件位置,则必须指定 WITH MOVE 选项。例如,在源服务器上,数据库位于 D:\Mssql\Data 文件夹中。目标服务器没有 D 驱动器,因而您需要将数据库还原到 C:\Mssql\Data 文件夹。 有关如何将数据库还原到其他位置的更多信息,请查看相关资料。

如果您想覆盖目标服务器上的一个现有数据库,则必须指定 WITH REPLACE 选项。

源服务器和目标服务器上的字符集、排序顺序和 Unicode 整序可能必须相同,具体取决于您要还原到 SQL Server 的哪种版本。有关更多信息,请参阅本文中的“关于排序规则的说明”一节。

Sp_detach_db 和 Sp_attach_db 存储过程

要使用 sp_detach_db 和 sp_attach_db 这两个存储过程,请按下列步骤操作:1. 使用 sp_detach_db 存储过程分离源服务器上的数据库。您必须将与数据库关联的 .mdf、.ndf 和 .ldf 这三个文件复制到目标服务器上。参见下表中对文件类型的描述:

文件扩展名      说明

.mdf           主要数据文件
.ndf           辅助数据文件
.ldf           事务日志文件

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:改进SQL Server数据库系统安全五步走

下一篇:认识那些被忽略的SQL Server注入技巧