Compartilhar via

从Azure 流分析 Azure SQL 数据库输出

可以使用 Azure SQL 数据库 作为本质上关系数据或依赖于关系数据库中托管内容的应用程序的输出。 Azure 流分析作业写入 SQL 数据库中的现有表。 表架构必须与作业输出中的字段及其类型完全匹配。 使用流分析Azure门户体验可以测试流式处理查询,并检测作业生成的结果架构与 SQL 数据库中目标表的架构之间是否存在任何不匹配的情况。 若要了解提高写入吞吐量的方法,请参阅 Stream Analytics,其中Azure SQL 数据库为输出一文。

还可以将 Azure SQL 托管实例 用作输出。 必须在 SQL 托管实例配置公共终结点>然后在 Azure 流分析 中手动配置以下设置。 Azure 手动配置以下设置也支持运行SQL Server SQL Server的虚拟机。

输出配置

下表列出了属性名称和用于创建 SQL 数据库输出的属性说明。

属性名称 说明
输出别名 在查询中使用的友好名称,用于将查询输出定向到此数据库。
数据库 将输出发送到的数据库的名称。
服务器名称 逻辑 SQL 服务器名称或托管实例名称。 对于SQL 托管实例,需要指定端口 3342。 例如 sampleserver.public.database.chinacloudapi.cn,3342
用户名 对数据库拥有写入访问权限的用户名。 流分析支持 3 种身份验证模式:SQL Server 身份验证、系统分配的托管标识和用户分配的托管标识
密码 用于连接到数据库的密码。
将写入输出的表名称。 表名称区分大小写。 此表的架构应与字段数量以及作业输出生成的字段类型完全匹配。
继承分区方案 一个用于继承先前查询步骤的分区方案,以启用具有多个表的写入器的完全并行拓扑的选项。 有关详细信息,请参阅 Azure 流分析 输出到 Azure SQL 数据库
最大批数 与每个大容量插入事务一起发送的推荐记录数上限。

有两个适配器支持从Azure 流分析输出到Azure Synapse Analytics:SQL 数据库和Azure Synapse。 如果满足以下任一条件,建议选择Azure Synapse Analytics适配器而不是 SQL 数据库适配器:

  • Throughput:如果现在或将来的预期吞吐量大于 10MB/秒,请使用 Azure Synapse 输出选项来提高性能。

  • Input Partitions:如果有 8 个或更多个输入分区,请使用 Azure Synapse 输出选项来更好地横向扩展。

分区

需要启用分区,且分区基于查询中的 PARTITION BY 子句。 启用“继承分区”选项后,该选项将遵循完全可并行化的查询的输入分区。 若要详细了解将数据加载到 Azure SQL 数据库 时实现更好的写入吞吐量性能,请参阅 Azure 流分析 输出到 Azure SQL 数据库

输出批大小

可以使用“最大批处理计数”来配置最大消息大小。 每次批量插入操作的默认最大值为 10,000 行,最小值为 100 行。 有关详细信息,请参阅 Azure SQL 限制。 每个批最初是按照最大批计数批量插入的。 根据 SQL 的可重试错误对半拆分批(直到达到最小批计数)。

限制

尝试将Azure 流分析作业连接到 VM 上的 SQL 时,不支持自签名安全套接字层 (SSL) 证书。

后续步骤