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

2016-01-29 15:47 4 1 收藏

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

【 tulaoshi.com - SQLServer 】

概要

本文分步介绍了如何在运行 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)(而不是数据转换服务导入和导出数据向导)。

备份和还原

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

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

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

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

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

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

• 如果您想覆盖目标服务器上的一个现有数据库,则必须指定 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 存储过程将数据库附加到目标服务器上,并指向您在上一步骤中复制到目标服务器的文件。

• 分离数据库后将无法访问该数据库,并且复制文件时也无法使用该数据库。在进行分离的那一时刻数据库中包含的所有数据都被移动。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

• 在您使用附加或

来源:http://www.tulaoshi.com/n/20160129/1496456.html

延伸阅读
标签: SQLServer
Enterprise Manager 提供了可视化的界面,在其中建立数据库及其对象,如表、视图、缺省值等,很少需要用户自己编辑程序代码。但对用户来说,了解这些对象是如何通过SQL语言建立,的并得到其SQL 语言脚本(Script) 是很有好处。的在Enterprise Manager 中提供了工具,以帮助用户产生这些对象的SQL 语言脚本。 生成对象的SQL 脚本方法如下: (1) ...
标签: SQLServer
4.7.1 BACKUP BACKUP 命令用于将数据库内容或其事务处理日志备份到存储介质上(软盘、硬盘、磁带)。等SQL Server 7.0 以前的版本用的是DUMP 命令来执行此功能,从SQL Server 2000起,不再使用DUMP 命令。关于BACKUP 命令的详情请参见“数据备份与恢复”章节。      4.7.2 CHECKPOINT 语法如下: CHECKPOINT CH...
标签: SQLServer
在企业管理器中可以很方便地调用其它SQL Server 工具,如SQL Server Query Analyzer (查询分析器)、SQL Server Profiler (跟踪器)等,只须从“Tools (工具)”菜单中选择相应的工具即可。 SQL Server 2000 中提供了大量的向导工具,可以引导用户完成一系列的数据库与服务器管理工作。可以从“Tools (工具)”菜单中选择“Wizards” 选项,或从工...
标签: SQLServer
除了使用系统提供的数据类型外,用户还可以根据需要用自定义的数据类型来定义表的列或声明变量。 7.3.1 用Enterprise Manager 创建用户自定义数据类型 用Enterprise Manager 创建用户自定义数据类型的方法是:在Enterprise Manager 中选择要创建用户自定义类型的数据库,在数据库对象“User Defined Data Types”上单击右键,从开始菜单...
标签: SQLServer
11.3.1 UPDATE 语法 用户可以用UPDATE 语句来更新表中一列或多列数据值,其语法如下: 各参数说明如下: SET SET 子句用于指定更新的方法,即用 的值取代相应的列的值。如果省略 WHERE 子句,那么表中的所有数据均会受到影响。在FROM 子句中指定的表或列的别名不能用于SET 子句中。 column_name 指定要更新数据的列。IDENTITY 列不能...

经验教程

637

收藏

81
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部