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/

时间: 2024-10-25 10:32:46

SQL Server 计算机间移动数据库的相关文章

Sql Server 和 Access 操作数据库结构Sql语句

access|server|数据|数据库|数据库结构|语句 下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助.内容由海娃整理,不正确与不完整之处还请提出,谢谢. 新建表:create table [表名](  [自动编号字段] int IDENTITY (1,1)  PRIMARY KEY ,  [字段1] nVarChar(50) default '默认值' null ,  [字段2] ntext null ,  [字段3] datetime,  [字

SQL Server 2005中获取数据库文件大小信息

捕捉SQL Server 2005数据库大小的趋势,这是非常重要的,因为DBA们可以利用这些信息来规划未来的空间需求,问题的通知类型,并规划繁重负载的时间段.本文将介绍一种捕捉这一信息的简单的方法. SQL Server上的每个数据库都包含了关于数据库文件的大小的信息,连同其他一些相关信息.为了得到这个信息,我们需要一个方法来从单个数库中一次性检索出相关的数据. 有两个方法可以实现这个功能: sp_spaceused:这个系统存储过程将返回当前数据库中的表.索引视图或 SQL Server 20

使用SQL Server日志转移实现数据库的高可用性

[导读]本文主要针对SQL Server 2000介绍如何使用SQL Server日志转移实现数据库的高可用性. 集群是一种实现高可用性的有效解决方案,有时它会适得其反.而且,它还非常昂贵.因此,数据库管理员可使用日志转移代替集群来提供较高的可用性. 日志转移是这样一种处理过程,它能将某一数据库中的事务日志文件依次转存到备份的数据库中,进而为这一数据库创建一个"近乎"热备份.SQL Server 2000的数据库引擎中设置了日志转移功能,并在其中进行处理.所以它会自动完成复原到备份服务

基于Sql Server 2008的分布式数据库的实践(四)

原文 基于Sql Server 2008的分布式数据库的实践(四) 数据库设计 1.E-R图 2.数据库创建 Win 7 1 create database V3 Win 2003 1 create database V3 3.数据表设计 Win7 创建数据表student_7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 create table student_7 (     sid int not null,     sex nvarchar(1) not nul

基于Sql Server 2008的分布式数据库的实践(二)

原文 基于Sql Server 2008的分布式数据库的实践(二) 从Win7连接Win2003的Sql Server 2008 1.新建链接服务器链接到Win2003的Sql Server 2008 2.查看Win2003上面的IP地址,配置"新建链接服务器"中的"常项"   3.配置"新建链接服务器"中的"安全项",本地登录为"sa",远程用户也为"sa" 4.链接成功 Win7启动

SQL Server 2000/2005中数据库自动备份的设

SQL Server 2000的数据库自动备份的设置 1.首先要保证SQL Server Agent服务处于启动状态(在"SQL Server服务管理器"中可以查看和启动,或者在系统服务中) 2.打开"SQL Server 企业管理器"->"管理"->"数据库维护计划" 3.右键选"新建维护计划",选择要执行自动备份的数据库.调度时间.选择备份存放的路径,其他默认即可. 这是SQL Server

基于Sql Server 2008的分布式数据库的实践(一)

原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选择"属性".左侧选择"安全性",选中右侧的"SQL Server 和 Windows 身份验证模式"以启用混合登录模式 3.选择"连接",勾选"允许远程连接此服务器",然后点"确定" 4.展

SQL Server 2008 R2 清空数据库中ldf日志文件

/************************************************************  * Sql Server 2008 R2 清空数据库中ldf日志文件  * 将Whir_InternalSystem替换为您要操作的数据库即可  ************************************************************/ USE [master] ALTER DATABASE [Whir_InternalSystem]  S

系统-sql server转换成access数据库

问题描述 sql server转换成access数据库 如果我有一个系统是java语言和sql server数据库,想转换成access数据库,怎么办 解决方案 把sqlserver数据库转成sql,在access里执行是一种办法,也可以参考这个 尝试将sqlserver 中数据导入到access中http://77857.blog.51cto.com/67857/161106/ 解决方案二: 1.换数据库挺麻烦的,先要转数据库结构,然后还要导数据. 2.原先的java连sql server要改