Oracle SQL Microsoft Graph 连接器
Oracle SQL Microsoft Graph 连接器允许组织发现本地 Oracle 数据库中的数据并编制索引。 连接器为 Microsoft Search 和 Microsoft Copilot 365 中的指定内容编制索引。 为了使索引与源数据保持同步,它支持定期完全爬网和增量爬网。 使用 Oracle SQL 连接器,还可以限制对某些用户的搜索结果的访问。
本文适用于 Microsoft 365 管理员或配置、运行和监视 Oracle SQL Microsoft Graph 连接器的任何人。
功能
- 使用 SQL 查询为 Oracle SQL 数据库中的记录编制索引。
- 使用 SQL 查询中添加的用户或组列表为每个记录指定访问权限。
- 使最终用户能够提出与 Copilot 中的索引记录相关的问题。
- 在 Copilot 中使用语义搜索 ,使用户能够根据关键字、个人偏好和社交关系查找相关内容。
限制
- Oracle SQL 版本:本地数据库必须运行 Oracle 数据库版本 11g 或更高版本。 连接器支持托管在 Windows、Linux 和 Azure VM 平台上的 Oracle 数据库。
- 为了支持高爬网速度和更好的性能,连接器构建为仅支持 OLTP (联机事务处理) 工作负荷。 OLAP (联机分析处理) 工作负荷,这些工作负载在 40 秒超时后未执行提供的 SQL 查询,并且不受支持。
- 仅使用用户主体名称 (UPN) 、Microsoft Entra ID或 Active Directory 安全性来支持 ACL。
- 不支持为数据库列内的丰富内容编制索引。 此类内容的示例包括 HTML、JSON、XML、Blob 和作为数据库列内的链接存在的文档分析。
先决条件
- 你必须是组织的 Microsoft 365 租户的 搜索管理员 。
- 安装 Microsoft Graph 连接器代理:若要访问 Oracle SQL Server,必须安装和配置连接器代理。 有关详细信息 ,请参阅安装 Microsoft Graph 连接器代理 。
- 服务帐户:若要连接到 SQL 数据库并允许 Microsoft Graph 连接器定期更新记录,需要一个向服务帐户授予读取权限的服务帐户。
注意
如果在配置 Oracle SQL 连接器时使用 Windows 身份验证,则尝试登录的用户需要具有对安装了连接器代理的计算机的交互式登录权限。 有关详细信息,请参阅 登录策略管理。
安装程序入门
1. 显示名称
显示名称用于标识 Copilot 中的每个引文,帮助用户轻松识别关联的文件或项目。 显示名称还表示受信任的内容。 显示名称也用作 内容源筛选器。 此字段存在默认值,但你可以将其自定义为组织中的用户可识别的名称。
2. SQL服务器
若要连接到 SQL 数据,需要指定主机名、端口和服务 (数据库) 名称。
如果服务名称不可用,并且使用系统标识符 (SID) 进行连接,则可以使用以下命令之一来派生服务名称, (作为 sys 管理员) 执行。
- 从 gv$session 中选择SERVICE_NAME,其中 sid in (从 v$MYSTAT) 中选择 sid;
- 选择sys_context ('userenv','service_name') 从双;
3. Graph 连接器代理
Graph 连接器代理充当网站实例与连接器 API 之间的桥梁,可实现安全高效的数据传输。 在此步骤中,选择要用于连接器的代理配置。
如果尚未安装 Microsoft Graph 连接器代理 ,可以 下载代理安装程序 并按照安装说明进行设置。 安装后,请确保正确配置代理以将本地网站与连接器连接。
4.身份验证类型
若要对 Oracle SQL 中的数据进行身份验证和同步,请选择以下两种受支持的方法之一:
a. 基本身份验证
b. Windows 身份验证
5. 面向有限受众推出
如果要先在 Copilot 和其他搜索图面中验证此连接,然后再将此连接部署到有限的用户群,然后再将它推广到更广泛的受众。 若要了解有关有限推出的详细信息, 请单击此处。
内容
若要搜索数据库内容,必须在配置连接器时指定 SQL 查询。 这些 SQL 查询需要) 命名要 (源属性编制索引的所有数据库列。 这包括需要执行以获取所有列的任何 SQL 联接。 若要限制对搜索结果的访问,必须在配置连接器时在 SQL 查询中指定访问控制 Lists (ACL) 。
1. 完全爬网 (必需)
a.
(“必需) ”和“ACL”列 (可选) 选择数据列
[单击展开]为完整爬网查询选择数据列。
在此步骤中,将配置运行数据库完全爬网的 SQL 查询。 完全爬网选择需要在Microsoft Copilot或搜索中显示的所有列或属性。 还可以指定 ACL 列,以将搜索结果的访问限制为特定用户或组。
提示
若要获取所需的所有列,可以联接多个表。
该示例演示了用于保存搜索数据的五个数据列的选择:OrderId、OrderTitle、OrderDesc、CreatedDateTime 和 IsDeleted。 若要设置每行数据的查看权限,可以选择选择以下 ACL 列:AllowedUsers、AllowedGroups、DeniedUsers 和 DeniedGroups。 所有这些数据列还具有 “查询”、“ 搜索”、“ 检索”或 “优化”选项。
选择数据列,如以下示例查询所示: SELECT orderId, orderTitle, orderDesc, allowedUsers, allowedGroups, deniedUsers, deniedGroups, createdDateTime, isDeleted
SQL 连接器不允许 SELECT 子句中具有非字母字符的列名。 使用别名从列名中删除任何非字母字符。 示例 - SELECT column_name AS columnName
若要管理对搜索结果的访问,可以在查询中指定一个或多个 ACL 列。 SQL 连接器允许你控制每个记录级别的访问。 可以选择对表中的所有记录使用相同的访问控制。 如果 ACL 信息存储在单独的表中,则可能必须与查询中的这些表进行联接。
下面介绍了上述查询中每个 ACL 列的用法。 以下列表介绍了四 种访问控制机制。
- AllowedUsers:此列指定可以访问搜索结果的用户 ID 列表。 在以下示例中,用户列表: john@contoso.com、 keith@contoso.com和 lisa@contoso.com 将仅有权访问 OrderId = 12 的记录。
- AllowedGroups:此列指定能够访问搜索结果的用户组。 在以下示例中,组 sales-team@contoso.com 只能访问 OrderId = 12 的记录。
- DeniedUsers:此列指定 无权 访问搜索结果的用户列表。 在以下示例中,用户 john@contoso.com 和 keith@contoso.com 无权访问 OrderId = 13 的记录,而其他人则有权访问此记录。
- DeniedGroups:此列指定 无权 访问搜索结果的用户组。 在以下示例中,对 OrderId = 15 的记录进行组 engg-team@contoso.com 和 pm-team@contoso.com 访问,而其他人则有权访问此记录。
b.
支持的数据类型
[单击展开]支持的数据类型列表。
Oracle SQL Microsoft Graph 连接器支持以下数据类型。 该表还汇总了支持的 SQL 数据类型的索引数据类型。 若要详细了解Microsoft Graph 连接器支持的索引数据类型,请参阅有关 属性资源类型的文档。
类别 | 源数据类型 | 索引数据类型 |
---|---|---|
数字数据类型 | 数字 (p,0) | p <= 18) 的 int64 ( p > 18) 的双 (。 |
浮点数数据类型 | number (p,s) FLOAT (p) |
双。 |
日期数据类型 | 日期 时间戳 TIMESTAMP (n) |
datetime。 |
字符数据类型 | CHAR (n) VARCHAR VARCHAR2 长 CLOB NCLOB |
字符串。 |
Unicode 字符数据类型 | NCHAR NVARCHAR |
字符串。 |
RowID 数据类型 | ROWID UROWID |
字符串。 |
对于当前不直接支持的任何其他数据类型,需要将列显式强制转换为受支持的数据类型。
c.
需要水印 ()
[单击展开]在完全爬网查询中指定水印列
为了防止数据库过载,连接器使用完全爬网水印列对完全爬网查询进行批处理并恢复。 使用水印列的值,提取每个后续批,并从最后一个检查点恢复查询。 实质上,此机制控制完全爬网的数据刷新。
为水印创建查询代码段,如以下示例所示:
-
WHERE (CreatedDateTime > @watermark)
. 引用带有保留关键字 (keyword)@watermark
的水印列名称。 如果水印列的排序顺序为升序,请使用>
;否则使用<
。 -
ORDER BY CreatedDateTime ASC
. 按水印列按升序或降序排序。
在下图所示的配置中, CreatedDateTime
是所选水印列。 若要提取第一批行,请指定水印列的数据类型。 在这种情况下,数据类型为 DateTime
。
第一个查询使用“CreatedDateTime > January 1, 1753 00:00:00” (DateTime 数据类型的最小值) 提取前 N 行数。 提取第一批后,如果行按升序排序,则批中返回的最高值 CreatedDateTime
将保存为检查点。 例如,2019 年 3 月 1 日 03:00:00。 然后在查询中使用“CreatedDateTime > 2019 年 3 月 1 日 03:00:00”提取下一批 N 行。
2. 管理属性
SQL 连接器选取完整爬网 SQL 查询中指定的所有列作为引入的源属性。 在此步骤中,可以定义内容的搜索架构。 这涉及到定义搜索注释,例如搜索、检索、查询和优化所选源属性。 这还包括分配语义标签和别名以增强搜索相关性。 若要了解有关搜索架构的详细信息,请参阅有关 “管理属性”指南的文档。
3. 增量爬网 (可选)
a.
增量同步查询
在此可选步骤中,提供 SQL 查询以运行数据库的增量爬网。 使用此查询,SQL 连接器确定自上次增量爬网以来对数据所做的任何更改。 与完全爬网一样,选择要在其中选择“ 查询”、“ 搜索”、“ 检索” 或“ 优化”选项的所有列。 指定在完整爬网查询中指定的同一组 ACL 列。
下图中的组件类似于完整爬网组件,但有一个例外。 在这种情况下,“ModifiedDateTime”是所选水印列。 查看完整的爬网步骤,了解如何编写增量爬网查询,并参阅下图作为示例。
b. 软删除说明 (可选)
在 SQL 记录系统中,软删除是一种技术,即通过设置特定标志或列将其标记为“已删除”,而不是以物理方式从数据库中删除记录。 这允许记录保留在数据库中,但在逻辑上从大多数操作中排除。 若要在增量爬网期间删除数据库中的软删除行,请指定软删除列名和值,该值指示删除行。
用户
可以选择使用 “仅有权访问此数据源的人员 ”来限制对完全爬网查询中选择的用户或组的访问,也可以替代他们以使内容对 所有人可见。
1. 包含访问权限信息的映射列
选择各种访问控制 (ACL) 指定访问控制机制的列。 选择在完全爬网 SQL 查询中指定的列名称。 请注意,“拒绝”优先于“允许”权限。
每个 ACL 列应为多值列。 可以使用分号 (;) 、逗号 (、) 等分隔符分隔这些多个 ID 值。 需要在值分隔符字段中指定此 分隔符 。
支持将以下 ID 类型用作 ACL:
- 用户主体名称 (UPN) :UPN) (用户主体名称是采用电子邮件地址格式的系统用户的名称。 例如,UPN (: john.doe@domain.com) 由用户名 (登录名) 、@ 符号 (分隔符) 以及域名 (UPN 后缀) 组成。
- Microsoft Entra ID:在 Microsoft Entra ID,每个用户或组都有一个对象 ID,该 ID 类似于“e0d3ad3d-0000-1111-2222-3c5f5c52ab9b”。
- Active Directory (AD) 安全 ID:在本地 AD 设置中,每个用户和组都有一个不可变的唯一安全标识符,该标识符类似于“S-1-5-21-3878594291-2115959936-132693609-65242”。
同步
刷新间隔确定数据在数据源和 Graph 连接器索引之间同步的频率。
可以根据此处提供的计划选项配置完整爬网和增量爬网。 默认情况下,增量爬网 ((如果配置) 设置为每 15 分钟一次,并且每天设置完全爬网)。 如果需要,可以调整这些计划以满足数据刷新需求。
此时,已准备好为 Oracle SQL 创建连接。 可以单击“创建”按钮发布连接,并为数据库中的数据编制索引。
疑难解答
发布连接后,可以在管理中心的“数据源”选项卡下查看状态。 若要了解如何进行更新和删除,请参阅 管理连接器。 可 在此处找到常见问题的故障排除步骤。
如果遇到问题或想要提供反馈,请联系 Microsoft Graph |支持。