网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 天盾数据恢复中心 >> 文章中心 >> 数据库技术 >> 文章正文
  [组图]迁移Access数据库合并到SQL Server           ★★★ 【字体:
迁移Access数据库合并到SQL Server
作者:佚名    文章来源:转贴    点击数:    更新时间:2007-9-15    
Microsoft Access是一个简单好用的开发工具,即使你没有开发经验也可以写出Access程序。可能在你的组织中很多部门内部都有内部使用的Access数据库,它们因为某些原因而被创建出来,并存在已久。另一方面,还存在着很重要的原因,需要将这些部室内的Access数据库合并到一个集中的SQL Server数据库。

  将Access数据库迁移到SQL Server的理由

  下面是一些将外围的Access数据库迁移到SQL Server环境的主要理由:

  •   对数据库的多用户访问。现在,Access数据库可能在你的用户群中很流行,但是这也会引起问题。Access数据库只能在适当的性能水准上满足少数用户的请求。如果更多用户开始使用这个应用,那么Access数据库无法进行良好的扩展。而SQL Server可以处理数千个用户,因此是多用户环境的理想选择。
  •   重新设计和编写让应用变得一些少,性能好一些。现在可能就是重新编写现有的应用的正确的时机,这样让应用更少和更好。许多Access应用很可能是由非专业IT部门的人员来开发的,对他们来说Access不是非常熟悉的。代码和数据库可能没有按照现有的开发标准来开发,由于缺乏足够的经验和时间,可能被设计和编写的质量很差。通过集中常用的处理,你的整个组织都可以从标准化和统一应用和数据中获益。
  •   和外部环境交换数据。SQL Server提供了更好的工具和Oracle、DB2和SAP等其他的环境进行通讯。通过数据转换服务/集成服务(Data Transformation Services/Integration Services ,DTS/SSIS),和其他环境的数据交换可以在现有的应用中自动处理或者集成。
  •   更先进的分析和解决性能问题的方法。这些工具包括SQL Profiler,Query Analyzer中的执行计划(execution plan),index tuning向导和使用filegroup来跨磁盘扩展数据。SQL Server还拥有专为多用户环境设计的更好的锁机制。
  •   SQL Server优于Access的数据库安全。Windows和SQL Server提供对用户和多个数据库的访问进行管理的先进的认证功能;数据库角色;对数据库授权的多种方式。

  合并到SQL Server环境的理由

  将迁移后的SQL Server数据库合并到集中的环境的理由包括:

  •   对数据库的集中控制、集中管理。创造自动化和集中的维护和备份的过程,一切都在一个点被控制和处理,这样就让管理非常容易。
  •   对数据库和应用的管理移交给IT部门将为其他部门节约时间。大多数情况下,应用开发和维护不是这些部门的主要角色。
  •   让应用有一个集中的数据源。你可以在集中的位置保留和使用常用数据,这样可以避免复制数据,造成数据不一致的情况。
  •   高可用性。有很多方法可以保证集中式的SQL Server实例的可用性,比如日志传送(log shipping)、集群(clustering)、 复制(replication)、数据镜像(data mirroring)和数据库快照(database snapshot)。但是维护分布式的数据库则是一项非常复杂的过程。你必须为每个已有的数据库保留和维护一份备份或者二级数据库。
  •   更方便的软件升级。在集中的位置升级数据库服务器版本是非常简单的。同样,升级集中的数据也是很方便的,因为升级只发生一次。一个例子就是在必要的情况下升级静态的表。

  为什么是SQL Server?

  Access数据库和SQL Server是师出同门,因此在很多地方都相似。迁移过程是相对容易。甚至,你可以保留现有的Access应用,而只迁移数据库。让Access作为客户应用而SQL Server作为后台的数据库的架构——除非应用被重写,这只是一个临时解决方案——是很自然的,并且被Microsoft支持作为单点引用。开始的时候,Access应用可以通过ODBC连接到SQL Server,以后你可以修改它使用OLE DB,这样可以提供更好的性能。但是,访问方式从ODBC变为OLE DB可能要对应用代码的修改。

Microsoft提供一些免费工具可以辅助你完成迁移过程。下面是两种最常见的迁移方法:

  •   使用SQL Server Migration Assistant for Access来迁移数据库

  SQL Server Migration Assistant for Access (SSMA)是一个友好的工具,产生潜在的SQL Server模式和SQL脚本。使用这个工具,你可以分析迁移脚本和对象,进行修改,然后对SQL Server数据库运行脚本。你可以下载 SQL Server Migration Assistant for Access,并且从《Migrating Access to SQL made (almost) easy》中学习如何使用该工具。

  •   使用导入/导出向导来迁移数据库

  SQL Server 2000 (DTS)和SQL Server 2005 (SSIS)中自带的导入/导出向导可以帮助你迁移 Access数据库中的基本模式和数据到SQL Server中。

  注意:

    1.   加入目标对象不存在,它将被创建出来。假如这个对象是数据库表,那么该表会被创建但是没有键和关系。
    2.   Access数据库中的查询可以被转换成SQL Server中的视图。
    3.   大部分转换错误和长类型的文本字段以及日期类型相关。

  最佳的迁移方法是两个工具都使用:SSMA用于迁移模式,而DTS/SSIS用于迁移数据。

  下面将介绍如何使用DTS/SSIS 向导

  在SQL Server 2000中, 打开企业管理器:

  Tools(工具) ⇒ Data Transformation Services(数据转换服务) ⇒ Import data.(导入数据)

  出现Welcome窗口, 点击Next(下一步).

  在"Choose a Data Source"(选择数据源)窗口, 在"Data Source"(数据源)列表中选择"Microsoft Access",并在"File name"(文件名)字段中填写Access *.mdb文件. 点击Next(下一步).

  在"Choose a destination"(选择目标)窗口中: 选择:

  •   "Microsoft OLE DB Provider for SQL Server"
  •   在"Server"(服务器)字段填写你的SQL Server 实例名
  •   认证信息,并在"Database"(数据库)字段填写目标数据库名

  点击Next(下一步)

  选择copy all the objects from the Access database,从Access数据库复制所有的对象,点击Next(下一步)

  在"Source"列表中选择你想要从Access迁移的对象,然后在"Destination"列表中选择目标对象名。假如目标对象不存在,那么该对象将被创建。你可以点击"Transform"列表中的"…"按钮,修改目标对象的结构或转换传给它的数据

  你可以立即运行导入,或者保存为SQL Server DTS package为以后的重用。点击Next(下一步)

  在 summary(总结)页中,请检查向导将执行你的任务并点击Finish(完成). 导入将会执行. 一些对象可能会导入失败. 你可以双击失败行查看错误信息.

 在SQL Server 2005中, 打开SQL Server Management Studio:

  在database上点击右键 ⇒ Tasks(任务) ⇒

  Import data.(导入数据)

  在Welcome窗口, 点击Next(下一步)

  在"Choose a Data Source" (选择数据源)窗口, 在"Data Source"(数据源)列表中选择 "Microsoft Access", 并且在"File name"(文件名)字段中提供Access *.mdb 文件. 点击Next(下一步)

  在"Choose a destination"(选择目标数据库)表格中, 选择 "SQL Native Client", 在"Server"字段中填写你的SQL Server实例名, 认证信息和"Database"字段中的目标数据源名. 点击Next(下一步)

  选择 copy all the objects from the Access database, 从Access数据库中复制所有对象,点击Next(下一步)

  在"Source" 列表中选择你想要从Access转移的对象 (在具体的对象前打勾或者在“source”标题上打勾选择所有的对象). 在"Destination"列表中,选择目标对象的名字. 假如目标名不存在,那么该对象将被创建. 点击“Edit Mapping",你可以改变目标对象的结构

  你可以现在选择import immediately(立即导入) 或者为重用而保存为SSIS package. 点击Next(下一步)

  在 summary(总结)页中,请检查向导将执行你的任务并点击Finish(完成). 导入将会执行. 一些对象可能会导入失败. 你可以双击失败行查看错误信息.

  还有一些其他的方法导出Access数据库结构,比如第三方工具XMLSpy和 ASP.NET 2.0 (http://aspalliance.com/542).

  将部门的Access数据库合并到一个集中的SQL Server环境,可以实现可扩展性、可靠性和集中管理。通过将维护应用的责任转移到IT部门,还可以帮助原有部门的员工减轻负担。结果将使得应用更加健壮和性能优良。

文章录入:hww    责任编辑:hww 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    恢复整个SQL数据库还是只恢复
    升级到SQL Server 2005:12个
    如何有效地利用oracle的数据
    数据库加密技术综述
    如何强行破解加密的WinRAR文
    关于Access数据库安全
    MySQL在网络安全方面采取的主
    Windows2003基本的web服务器
    十大硬盘故障解决办法
    硬盘分区修复全攻略
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    Copyright © 2006 huifu119.com, All rights reserved. 站长: