SQL Server 计算机间移动数据库-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

SQL Server 计算机间移动数据库

简介:

 注意:支持将数据从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
  事务日志文件
  2.使用sp_attach_db存储过程将数据库附加到目标服务器上,并指向您在上一步骤中复制到目标服务器的文件。
  ◆分离数据库后将无法访问该数据库,并且复制文件时也无法使用该数据库。在进行分离的那一时刻数据库中包含的所有数据都被移动。
  ◆在您使用附加或分离方法时,两个服务器上的字符集、排序顺序和Unicode整序都必须相同。有关更多信息,请参阅本文中的“关于排序规则的说明”一节。

最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章