本文介绍如何使用称为沙盒模式的 Access 安全功能。 在沙盒模式下,Access 会阻止"不安全"表达式:任何使用可能由恶意用户利用的函数或属性的表达式,以访问他们未获得授权的驱动器、文件或其他资源。 例如,"终止"和"Shell"等函数可用于损坏计算机的数据和文件,因此在沙盒模式下会阻止它们。

注意: 本主题不适用于 Access Web 应用或 Access Web 数据库,也不介绍其他 Access 安全功能。

本文内容

概述

沙盒模式是一项安全功能,可防止 Access 运行可能不安全的某些表达式。 无论数据库是否"受信任"(其内容已启用)都会阻止这些不安全的表达式。

如何设置沙盒模式

使用注册表项指定 Access 是否应该在沙盒模式下运行。 默认情况下启用沙盒模式 – 将注册表项值设置为在计算机上安装 Access 时启用沙盒模式。 如果要允许所有表达式运行,可以更改注册表项值以禁用沙盒模式。

受信任的数据库

无论注册表中是否启用了沙盒模式,Access 都不允许运行可能不安全的表达式,除非数据库文件位于受信任位置,或具有有效的信任签名。 如果数据库不是"受信任的",Access 将使用沙盒模式。

下图显示了 Access 在遇到不安全表达式时遵循的决策流程。

沙盒模式的判定过程

如果不熟悉注册表,或者不熟悉自己更改注册表项,请向熟悉并熟悉注册表更改的某人寻求帮助。 必须在计算机上拥有管理员权限才能更改注册表值。

返回页首

禁用沙盒模式 (运行不安全的表达式)

在某些安装中,可以通过更改注册表项的值来禁用沙盒模式。

注意: 并非所有 Access 安装都包括以下过程中引用的 SandBoxMode 注册表项。 如果找不到注册表项,我们不建议添加它,因为它可能会干扰 Office 更新。

警告      注册表编辑不当可能会严重损坏操作系统,导致你必须重新安装它。 Microsoft 无法保证可解决因注册表编辑不当而引起的问题。 编辑注册表之前,请备份任何有价值的数据。 有关如何使用和保护计算机注册表的最新信息,请参阅 Microsoft Windows 帮助。

更改注册表项

重要: 按照下列步骤进行操作可以允许计算机上的所有用户在所有 Access 实例中运行不安全的表达式。

  1. 关闭要禁用沙盒模式的计算机上运行的所有 Access 实例。

  2. 按 Windows 键,键入 "运行",然后按 Enter。

  3. “打开”框中,键入 regedit,然后按 Enter。

    即会启动注册表编辑器。

  4. 注册表项的特定位置因运行的 Access 版本、Windows 和 Access 版本的 (32 位或 64 位) 以及是否具有即点即用安装而异。 如果在从下面显示的可能选项中查找正确的注册表项时遇到问题,请尝试在注册表中搜索Access Connectivity Engine。

    展开 HKEY_LOCAL_MACHINE 文件夹,导航到以下注册表项:

    如果使用的是 Access 2010,请尝试在此处查找 :\Software\Microsoft\Office\14.0\Access Connectivity Engine\Engines 或 此处 :\Software\WOW6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engine

    如果使用的是 Access 2013,请尝试查看此处 :\Software\Microsoft\Office\15.0\Access Connectivity Engine\Engines 或 此处 :\Software\WOW6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engine

    如果使用的是 Access 2016 或 Access 2019,请尝试在此处查找 :\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engine\Engine 或此处 :\Software\WOW6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engine

    如果使用 32 位 Microsoft 365 订阅版本的 Access 或 32 位即点即用运行 Access 安装,请尝试查看此处 :Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines

    ...或此处:

    Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Microsoft\Office\15.0\Access Connectivity Engine\Engine

    如果使用 64 位 Microsoft 365 订阅版本的 Access 或 64 位即点即用运行 Access 安装,请尝试查看此处 :Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Wow6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engine

    ...或此处:

    Software\Microsoft\Office\ClickToRun\Registry\Machine\Software\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines

  5. 在注册表编辑器的右窗格中,在"名称"下双击SandBoxMode(如果存在)。 如果找不到SandBoxMode注册表项,则不建议添加它,因为它可能会干扰 Office 更新。

    此时将出现“编辑 DWORD 值”对话框。

  6. “数值数据”字段中,将值从“3”更改为“2”,然后单击“确定”

  7. 关闭注册表编辑器。

重要: 请记住,如果不首先启用数据库中的内容,则 Access 会禁用任何不安全的表达式,而不考虑是否更改此注册表设置。

可以将注册表值设置为以下值,其中 0 (0) 表示最宽松,3 表示最低允许。

设置

说明

0

沙盒模式一向处于禁用状态。

1

沙盒模式用于 Access,但不用于非 Access 程序。

2

沙盒模式用于非 Access 程序,但不用于 Access。

3

沙盒模式一向使用。 这是安装 Access 时设置的默认值。

返回页首

需要更多帮助?

扩展你的技能
了解培训

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?

谢谢您的反馈!

×