运行SQL Server的计算机间移动数据库
作者:support.microsoft.com 发布时间:2009-01-20 13:07:00
概要
本文分步介绍了如何在运行 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 事务日志文件
2. 使用 sp_attach_db 存储过程将数据库附加到目标服务器上,并指向您在上一步骤中复制到目标服务器的文件。
分离数据库后将无法访问该数据库,并且复制文件时也无法使用该数据库。在进行分离的那一时刻数据库中包含的所有数据都被移动。
在您使用附加或分离方法时,两个服务器上的字符集、排序顺序和 Unicode 整序都必须相同。有关更多信息,请参阅本文中的“关于排序规则的说明”一节。
关于排序规则的说明
如果您使用备份和还原或附加和分离方法在两个 SQL Server 7.0 服务器之间移动数据库,则两个服务器上的字符集、排序顺序和 Unicode 整序都必须相同。如果您将数据库从 SQL Server 7.0 移到 SQL Server 2000,或者在不同的 SQL Server 2000 服务器之间移动数据库,则数据库将保留源数据库的整序。这意味着,如果运行 SQL Server 2000 的目标服务器的整序与源数据库的整序不同,则目标数据库的整序也将与目标服务器的 master、model、tempdb 和 msdb 数据库的整序不同。
第一步:导入和导出数据(在 SQL Server 数据库之间复制对象和数据)
您可以使用数据转换服务导入和导出数据向导来复制整个数据库或有选择地将源数据库中的对象和数据复制到目标数据库。? 在传输过程中,可能有人在使用源数据库。如果在传输过程中有人在使用源数据库,您可能会看到传输过程中出现一些阻滞现象。
在您使用导入和导出数据向导时,源服务器与目标服务器的字符集、排序顺序和整序不必相同。
因为源数据库中未使用的空间不会移动,所以目标数据库不必与源数据库一样大。同样,如果您只移动某些对象,则目标数据库也不必与源数据库一样大。
SQL Server 7.0 数据转换服务可能无法正确地传输大于 64 KB 的文本和图像数据。但 SQL Server 2000 版本的数据转换服务不存在此问题。
猜你喜欢
- 设计是一个输入-输出的过程,因为首先有用户的需求,客户的项目才有设计的产生,设计是带有目的性和市场行为的,当然也有一部分的创造性设计,仅仅为
- asp取得字段属性代码:set AdoX = server.createobject("adox.c
- 现在Ajax是一个相当火的东西,那么Ajax是什么呢?我的理解Ajax就是一个工具,就是一个客户端的技术,不管用何种服务器端技术都可以用Aj
- 网站的改版和重新设计总是一件让人激动的事情,上到老板,下到设计师。更漂亮!更强大!更人性化……参与设计者一定有着无数为新版本骄傲的理由,然后
- master库对于SQLServer来说,是很重要的系统数据库,保存着所有Sqlserver的用户信息、数据库信息等,当数据库崩溃时,mas
- 在做我的友情链接批量检查工具过程中,碰到一些情况,就是对方网页会用gzip压缩。用gzip压缩的好处是,能压缩网页大小,加快网页的浏览速度,
- 谁在用这些导航google是个大公司,全世界都有google的脚印,韩国的google动画效果非常不错,蓝色理想论坛里已经有人挖过来了,可惜
- 内容摘要:本文介绍了asp使用正则表达式自动解析远程图片地址并下载保存的方法,值得收藏!一、使用正则表达式Regexp匹配取得原页中的图片的
- 在《数据库原理》里面,对聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的解释是:索引顺序与数据物理排列顺序无关。正式
- Internet Explorer 9 Platform 1.9.7916.6000 Preview 4微软今天公布了IE9 Platfor
- 近日因为升级系统的需要,将旧mysql数据库从3.23升级到5.0.41先从mysql3.23中mysqldump出数据文件data.sql
- 将表数据生成SQL脚本的存储过程示例:CREATE PROCEDURE dbo.UspOutputData @tablename sysna
- 我们工作中经常需要将数据转化成柱状图,饼图等,以方便直观的分析数据, 这里给大家介绍一个ASP中制作饼图、柱状图的组件:csDra
- * 惯,请先看测试页面:event-test.html 结论:在非IE浏览器,同一元素同一事件类型的处理函数是先进先出的。只有IE下,是先进
- 相信有很多人有用程序向Excel导数据的需求, 且做过. 一般导出一些文本数据是很方便的, 可选方法很多, 比如拼接文本字符串存.cvs格式
- 查询效率分析:子查询为确保消除重复值,必须为外部查询的每个结果都处理嵌套查询。在这种情况下可以考虑用联接查询来取代。如果要用子查询,那就用E
- PPT链接说实话,看到这个题目时我觉得这有什么好讨论的,肯定会是场一边倒的讨论。因为个人比较倾向于短命名,简单优雅,可能是出于程序员的洁癖,
- (1)OracleServiceSID 数据库服务,这个服务会自动地启动和停止数据库。如果安装了一个数据库,它的缺省启动类型为自动。服务进程
- OL是有序列表,但给list-style-type:decimal 定义,在IE中却显示的全是1,在火狐、Opera、谷歌、Safari等中
- 以下是几个文件操作过程,创建文件,删除文件,修改文件: