使用升迁向导将 Access 数据移动至 SQL Server 数据库
- 2016-07-29 10:39:00
- zstmtony 翻译
- 4062
随着时间的推移,大多数数据库应用程序都会增大,变得更加复杂,而且需要支持更多的用户。在 Microsoft Office Access 应用程序生命周期的某个时刻,您可能要考虑将其升迁至 Microsoft SQL Server 数据库以优化性能、可伸缩性、可用性、安全性、可靠性和可恢复性。
正 文:
本文内容
· 关于升迁 Microsoft Office Access 数据库
· 使用“升迁向导”
· 数据库对象如何得到升迁
关于升迁 Microsoft Office Access 数据库
升迁是将部分或全部数据库对象从 Access 数据库迁移至新的或现有的 SQL Server 数据库或新的 Microsoft Access 项目 (.adp) 的过程。
将数据库升迁至 SQL Server 的好处
· 高性能和高可伸缩性 在许多情况下,SQL Server 提供的性能都优于 Access 数据库。SQL Server 还支持非常大的、以千吉字节度量的数据库,这比当前两吉字节限制的 Access 数据库大得多。最后,SQL Server 以并行方式处理查询(在单一进程内使用多个本机线程处理用户请求),而且在增加更多用户时最大限度地降低额外的内存需求,从而非常高效地工作。
· 可用性更好 SQL Server 允许您对使用中的数据库进行增量或完整的动态备份。这样您就不必强制用户退出数据库来备份数据。
· 安全性提高 使用可信连接,SQL Server 可与 Windows 系统安全集成,利用两个安全系统的最佳优势提供对网络和数据库的单一集成访问。这使其更容易管理复杂的安全架构。
· 即时可恢复性 在出现系统故障时(例如操作系统崩溃或停电),SQL Server具有的自动恢复机制可在几分钟内将数据库恢复到上一个一致的状态,而无需数据库管理员的干预。
· 基于服务器的处理 在客户端/服务器配置中使用 SQL Server 可降低网络流量,原因是会先在服务器上处理数据库查询,然后再将结果发送至客户端。让服务器进行处理通常要高效得多,特别是在处理大型数据集时。
您的应用程序也可以使用服务器(而不是客户端)上的用户定义的函数、存储过程和触发器集中和共享应用程序逻辑、业务规则和策略、复杂查询、数据有效性和引用完整性代码。
升迁方法
“升迁向导”可以将数据库对象及其包含的数据从 Access 数据库移至新的或现有的 SQL Server 数据库中。
可通过三种方法使用“升迁向导”:
· 所有数据库对象从 Access 数据库升迁至 Access 项目,以便可以创建客户端/服务器应用程序。此方法需要对代码和复杂查询进行一些额外的应用程序更改和修改。
· 将数据或数据定义从 Access 数据库升迁至 SQL Server 数据库。
· 建 Access 数据库前端和 SQL Server 数据库后端,以便可以创建前端/后端应用程序。此方法需要非常少的应用程序修改,因为代码仍然使用 Access 数据库引擎 (ACE)。
升迁 Access 数据库之前
在将 Access 数据库升迁至 SQL Server 数据库或 Access 项目之前,请考虑执行以下操作:
· 备份您的数据库 虽然“升迁向导”不会从 Access 数据库中删除任何数据或数据库对象,但是先创建 Access 数据库的备份副本,然后再升迁仍不失为一个好主意。
· 确保您有足够的磁盘空间 必须在将包含升迁数据库的设备中具有足够的磁盘空间。有充足的可用磁盘空间时“升迁向导”运行状态最佳。
· 创建唯一索引 在 Access 中,链接表必须具有可更新的唯一索引。“升迁向导”可以升迁现有的唯一索引,但是无法在不存在的情况下创建一个。如果希望能够更新表,请确保向每个 Access 表添加唯一索引,然后再升迁。
· 在 SQL Server 数据库中为自己分配适当的权限
· 若要升迁现有数据库,您需要具有 Create TABLE 和 Create DEFAULT 权限。
· 若要构建新数据库,您需要具有 Create DATABASE 权限以及在 Master 数据库的系统表中具有 Select 权限。
Access 2007 升迁向导已经过优化,可以用于 Microsoft SQL Server 2000 和 SQL Server 2005。
使用“升迁向导”
· 在“数据库工具”选项卡上的“移动数据”组中,单击“SQL Server”。 将启动“升迁向导”。
· 步骤 1:选择升迁至现有数据库或新数据库
· 步骤 2:选择要升迁的表
· 步骤 3:指定要升迁的属性和选项
· 步骤 4:选择升迁应用程序的方式
步骤 1:选择升迁至现有数据库或新数据库
在向导的第一页上,指定是要将 Access 数据库升迁至现有 SQL Server 数据库还是创建新的 SQL Server 数据库。
· 使用现有数据库 如果选择此选项并单击“下一步”,Access 将显示“选择数据源”对话框,以便您可以创建至现有 SQL Server 数据库的 ODBC 数据源连接。
关于 ODBC 数据源
数据源是数据的来源,其中包含访问该数据所需的连接信息。Access、SQL Server、Oracle RDBMS、电子表格以及文本文件都是数据源的示例。连接信息的示例包括服务器位置、数据库名称、登录 ID、密码以及说明如何连接到数据源的各种 ODBC 驱动程序选项。
在 ODBC 体系结构中,应用程序(例如 Access 或 Microsoft Visual Basic 程序)连接到 ODBC 驱动程序管理器,然后该驱动程序管理器使用特定的 ODBC 驱动程序(例如 Microsoft SQL ODBC 驱动程序)连接到数据源(在此例中为 SQL Server 数据库)。在 Access 中,您使用 ODBC 数据源连接到 Access 外部的数据源(没有内置驱动程序)。
若要连接到这些数据源,必须执行以下操作:
在包含数据源的计算机上安装适当的 ODBC 驱动程序。
使用“ODBC 数据源管理器”将连接信息存储在 Microsoft Windows 注册表或 DSN 文件中,或者使用 Visual Basic 代码中的连接字符串将连接信息直接传递给 ODBC 驱动程序管理器,从而来定义数据源名称 (DSN)。
计算机数据源
计算机数据源在特定计算机的 Windows 注册表中存储连接信息(具有用户定义的名称)。只能在定义计算机数据源的计算机上使用这些数据源。有两种类型的计算机数据源 —用户和系统。用户数据源只能由当前用户使用且仅对该用户可见。系统数据源可由计算机上的所有用户使用且对计算机和系统范围服务的所有用户可见。计算机数据源在您要提供更高的安全性时特别有用,因为只有登录的用户可以查看计算机数据源,且计算机数据源不能被远程用户复制到其他计算机中。
文件数据源
文件数据源(也称为 DSN 文件)在文本文件而不是 Windows 注册表中存储连接信息,而且使用起来通常比计算机数据源更加灵活。例如,可以将文件数据源复制到具有正确 ODBC 驱动程序的任何计算机中,以便应用程序可以将一致、准确的连接信息利用到它所使用的所有计算机。您也可以将文件数据源放到一个服务器上,在网络中的许多计算机之间共享它,并在一个位置轻松维护连接信息。
文件数据源也可以是非共享的。非共享的文件数据源驻留在单台计算机上,并指向一个计算机数据源。使用非共享的文件数据源可以从文件数据源访问现有的计算机数据源。
连接字符串
您可以在模块中定义指定连接信息的格式化连接字符串。连接字符串可将连接信息直接传递给 ODBC 驱动程序管理器,而且可以使系统管理员或用户不必先创建 DSN 然后再使用数据库,从而简化您的应用程序。
· 新建数据库 如果选择此选项并单击“下一步”,Access 将显示要求您输入有关新 SQL Server 数据库的信息的页面。
· 请选择升迁该数据库所用的 SQL Server: 键入要使用的服务器的名称。
· 使用可信连接 可以使用可信连接,即 SQL Server 可以与 Windows 操作系统安全集成以提供对网络和数据库的单一登录。
· 登录 ID 和密码 如果不使用可信连接,请键入在服务器上拥有 Create DATABASE 权限的帐户的登录 ID 和密码。
· 请指定升迁后的 SQL Server 数据库的名称: 键入新 SQL Server 数据库的名称。如果与现有数据库名称冲突,Access 将修改该名称,并添加数字后缀(例如 mydatabase 1)。
步骤 2:选择要升迁的表
在此步骤中,选择要升迁至 SQL Server 数据库的 Access 表。选择您要升迁的表,然后使用箭头按钮将其移至“导出到 SQL Server”列表。还可以双击表将其从一个列表移动到另一列表。
“可用表”列表中包含除了已经在 SQL Server 数据库中的 SQL Server 表以外的所有链接表。指向已经选择用于升迁的 SQL Server 数据库的链接表会自动出现在“导出到 SQL Server”列表框中且无法删除。还会排除当前在导航窗格中不可见的表,包括隐藏的表和系统表。
提示 名称以“_local”结尾的所有表都会从可用表列表中排除,以防止升迁已经升迁过的表。如果确实要再次升迁这些表,请通过删除后缀“_local”对其进行重命名,然后再运行“升迁向导”。
步骤 3:指定要升迁的属性和选项
在此步骤中,选择要升迁至 SQL Server 数据库的表属性。默认情况下,所有属性都选择进行升迁。
注释 默认情况下,“升迁向导”将 Access 字段名转换为合法的 SQL Server 字段名,并且将 Access 数据类型转换为等效的 SQL Server 数据类型。
升迁下列表属性
下表列出了可以升迁的属性,并说明了“升迁向导”如何处理每个属性: