- 概述
- 要求
- 预安装
- 安装
- 安装后
- 迁移和升级
- 监控和警示
- 集群管理
- 特定于产品的配置
- 故障排除
- 由于无法连接到 Azure Government,备份设置不起作用
- 启用自定义节点污点时,UiPath 命名空间中的 Pod 卡住
- 无法使用代理设置启动 Automation Hub 和 Apps
- 由于“验证失败”错误,Velero 备份失败
- 外部密码故障排除
- 时间即服务故障排除
- 无法在启用 TLS 证书验证的情况下启动 AI Center 和 Document Understanding Pod
- TLS 证书验证错误
- Fluentd 不会在 IPv6 环境中导出日志
- Studio 桌面版无法加载 Integration Service 连接器和活动
- 手动 ArgoCD 网络策略缓解措施 (MHSA-47m3-95c7-g2g8)
- 为 uipathctl 创建的工作负载配置资源请求和限制
EKS/AKS 上的 SQL 数据库要求、兼容性和 Automation Suite 的配置。
仅支持 Microsoft ODBC 驱动程序 17。
除非专用要求部分中另有说明,否则这些要求适用于所有 Automation Suite 产品。
您必须引入外部 SQL Server 才能安装 Automation Suite 和 UiPath™ 产品。支持 Microsoft SQL Server 2019 和 2022,支持标准版和企业版。
只要 Microsoft SQL Server 数据库引擎满足要求,其他 Microsoft SQL 平台,例如 Azure SQL 数据库、Azure SQL 托管实例或 Amazon Relational Database Service,也受支持。有关详细信息,请参阅兼容性矩阵。
除了 Microsoft SQL Server 外,以下产品还需要专用的 PostgreSQL 数据库:
- Process Mining :
AutomationSuite_Airflow。有关详细信息,请参阅Process Mining 的 SQL 要求。 - Maestro :
AutomationSuite_Taas和AutomationSuite_Taas_Visibility。有关详细信息,请参阅Temporal 即服务 (TaaS) 的 SQL 要求。 - Autopilot for Developers (A4D) :
AutomationSuite_A4D。有关详细信息,请参阅Autopilot for Developers (A4D) 的 SQL 要求。
确保可以从集群节点访问 SQL Server。
各个产品支持的配置各不相同。
对于计划部署的每个产品,您必须:
- 根据产品的要求检查 SQL Server 的支持版本;
- 满足 SQL Server 配置要求,包括 SQL Server 用户权限(产品要求)。
硬件要求
Microsoft SQL Server 的一般最低硬件要求如下:
- 8 (v-)CPU
- 32 GB RAM
- 256 GB 固态硬盘
最低要求是一般指导原则,并不能保证在生产部署中可靠地运行。您需要进行容量规划,以确定可靠运行的硬件要求。有关详细信息,请参阅容量规划。
每个 UiPath™ 产品都需要有自己的 SQL 数据库。
多可用区配置
如果您通过“始终开启 SQL”设置实现多可用区,在该设置中专门使用侦听器端点(例如 Amazon RDS),则必须在连接字符串中添加附加参数MultiSubnetFailover 。
Automation Hub 不支持MultiSubnetFailover 。
MultiSubnetFailover参数设置因连接字符串的类型而异,如以下示例所示:
sql_connection_string_template:设置MultiSubnetFailover=Truesql_connection_string_template_jdbc:设置multiSubnetFailover=truesql_connection_string_template_odbc:设置MultiSubnetFailover=yessql_connection_string_template_sqlalchemy_pyodbc:设置MultiSubnetFailover=YES
MultiSubnetFailover参数允许在任何网络或数据库中断期间,通过 DNS 条目在多个 IP 之间快速进行故障转移。
数据库创建工作流
交互式安装程序使用以下工作流自动创建数据库:
-
交互式安装程序脚本会检查
input.json文件中sql.create_db参数的值。-
如果
sql.create_db参数设置为true,则安装程序会代表您自动生成所有数据库。 在这种情况下,安装程序将使用默认数据库名称和默认模板,并忽略您提供的任何自定义数据库名称。有关详细信息,请参阅“自动创建必要的数据库” 。
-
如果将
sql.create_db设置为false,则您必须使用自己的数据库。 在这种情况下,您必须手动设置数据库。 请注意,您可以使用自定义数据库名称,前提是遵循提供的命名约定。 此步骤至关重要,因为我们将数据库名称与连接模板结合使用来构成数据库连接字符串。 如果您不遵循建议的命名约定,则必须自己提供 SQL 连接字符串。有关详细信息,请参阅使用您自己的数据库。
-
-
交互式安装程序会生成连接字符串,如下所示:
- 如果您没有为服务定义连接字符串,则安装程序将使用连接模板生成所有数据库连接字符串。
- 如果您为服务定义了连接字符串,则安装程序将使用为数据库提供的连接字符串。
自动创建必要的数据库
对于 Automation Suite 上的 Process Mining,您需要在安装或升级到 Automation Suite 2.2510 或更高版本之前,手动为AutomationSuite_Airflow创建 PostgreSQL 数据库。安装程序不会自动创建适用于 Airflow 的 PostgreSQL 数据库。
有关详细信息,请参阅Process Mining 的 SQL 要求。
如果您希望安装程序创建数据库,请填写input.json文件的以下字段:
| 参数 | 描述 |
|---|---|
sql.create_db | 设置为true以允许安装程序创建数据库。 请注意,安装程序将使用默认数据库名称和默认模板,并忽略您提供的任何自定义数据库名称。 |
sql.server_url | 您希望安装程序在其中配置数据库的 SQL Server 的 FQDN。 |
sql.port | SQL Server 中应托管数据库实例的端口号。 |
sql.username | 用于连接到 SQL Server 的用户名/用户 ID。 |
sql.password | 之前提供的用于连接到 SQL Server 的用户名密码。 |
- 确保用户具有
dbcreator角色。这将授予他们在 SQL Server 中创建数据库的权限。否则,安装将失败。 - 自动创建必要的数据库不能与目录身份验证结合使用。如果使用目录身份验证,则必须使用自己的数据库。
- ODBC 连接不支持包含特殊字符的用户名。对于 AI Center、Document Understanding 和 Apps 的数据库用户名,请仅使用大写和小写字母。
请自带数据库
如果您选择为新安装的 Automation Suite 使用自己的数据库,我们强烈建议设置新的数据库,而不是使用现有数据库。此预防措施有必要,以防止旧数据库中的剩余元数据与 Automation Suite 的操作发生任何冲突。
如果您有自己的数据库,则必须为每个数据库提供 SQL 连接字符串。Automation Suite 支持以下 SQL 连接字符串格式:
对于 Document Understanding,请确保使用同一数据库,除非另有明确说明。特定的连接字符串分配给连接到同一数据库的各种服务和作业。
连接字符串模板
| 参数 | 描述 | 产品 |
|---|---|---|
sql_connection_string_template | 完整的 ADO.NET 连接字符串,其中目录名称设置为 DB_NAME_PLACEHOLDER。安装程序将使用已安装的套件服务的默认数据库名称替换此占位符。 | 平台 Orchestrator Automation Suite 机器人 Test Manager Automation Hub Automation Ops Insights Integration Service Studio Web Data Service Process Mining Document Understanding LLM 网关 LLM 可观察性 ECS Solutions (解决方案) Maestro Agents (智能体) 智能体中心 |
sql_connection_string_template_jdbc | 完整的 JDBC 连接字符串,其中数据库名称设置为 DB_NAME_PLACEHOLDER。安装程序将使用已安装的套件服务的默认数据库名称替换此占位符。 | AI Center Integration Service |
sql_connection_string_template_odbc | 完整的 ODBC 连接字符串,其中数据库名称设置为 DB_NAME_PLACEHOLDER。安装程序将使用已安装的套件服务的默认数据库名称替换此占位符。 | Document Understanding Apps Integration Service |
sql_connection_string_template_sqlalchemy_pyodbc | 完整的 SQL alchemy ODBC连接字符串,其中数据库名称设置为 DB_NAME_PLACEHOLDER。安装程序将使用已安装的套件服务的默认数据库名称替换此占位符。 | Document Understanding |
postgresql_connection_string_template_sqlalchemy_pyodbc | 完整的 SQL alchemy PSYCOPG2连接字符串,其中数据库名称设置为 DB_NAME_PLACEHOLDER。安装程序将使用已安装的套件服务的默认数据库名称替换此占位符。 | Process Mining 时间即服务 (TaaS) |
postgresql_connection_string_template_sqlalchemy_asyncpg | 完整的 PostgreSQL 连接字符串,其中数据库名称设置为 DB_NAME_PLACEHOLDER。安装程序将使用已安装的套件服务的默认数据库名称替换此占位符。 | Autopilot for Developers |
如果在配置文件中手动设置连接字符串,则可以对 SQL、JDBC、ODBC 或 PYODBC 密码进行转义,如下所示:
- 对于 SQL:在密码的开头和结尾添加
',并将任何其他'加倍。 - 对于 JDBC/ODBC:在密码的开头添加
{,在密码的末尾添加},并将其他任何}加倍。 - 对于 PYODBC:
username和password应对 URL 进行编码,以解决特殊字符。Document Understanding 数据库密码不能以{开头。
Process Mining 产品的AutomationSuite_ProcessMining_Airflow数据库必须启用READ_COMMITTED_SNAPSHOT 。
默认情况下将 TrustServerCertificate 设置为 False,并且您必须为 SQL Server 提供其他 CA 证书。如果 SQL Server 证书是自签名证书或由内部 CA 签名,则此为必要项。如果在这种情况下不提供 SQL Server 证书,先决条件检查将无法通过。
sql_connection_string_template
以下示例显示了sql_connection_string_template连接字符串:
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
sql_connection_string_template_jdbc
以下示例显示了sql_connection_string_template_jdbc连接字符串:
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
sql_connection_string_template_odbc
以下示例显示了sql_connection_string_template_odbc连接字符串:
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
sql_connection_string_template_sqlalchemy_pyodbc
以下示例显示了sql_connection_string_template_sqlalchemy_pyodbc连接字符串:
mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:_-%29X07_%5E3-%28%3B%25e-T@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:_-%29X07_%5E3-%28%3B%25e-T@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
postgresql_connection_string_template_sqlalchemy_pyodbc
以下示例显示了 Process Mining 的postgresql_connection_string_template_sqlalchemy_pyodbc连接字符串:
postgresql+psycopg2://<user>:<password>@<host>:<port>/DB_NAME_PLACEHOLDER
postgresql+psycopg2://<user>:<password>@<host>:<port>/DB_NAME_PLACEHOLDER
Process Mining 组合模板
以下示例显示了 Process Mining 的组合模板配置:
"sql_connection_string_template": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='07<l[xj-=~:z`Ds&nl';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
"postgresql_connection_string_template_sqlalchemy_pyodbc ":
"postgresql+psycopg2://<user>:<password>@sfdev4515230-postgresql.database.windows.net:5432/DB_NAME_PLACEHOLDER"
"sql_connection_string_template": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='07<l[xj-=~:z`Ds&nl';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
"postgresql_connection_string_template_sqlalchemy_pyodbc ":
"postgresql+psycopg2://<user>:<password>@sfdev4515230-postgresql.database.windows.net:5432/DB_NAME_PLACEHOLDER"
"sql_connection_string_template": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='07<l[xj-=~:z`Ds&nl';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
"sql_connection_string_template_sqlalchemy_pyodbc": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
"sql_connection_string_template": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='07<l[xj-=~:z`Ds&nl';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
"sql_connection_string_template_sqlalchemy_pyodbc": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
默认数据库名称
以下示例显示了 Automation Suite 服务的默认和可选数据库名称:
{
"orchestrator": "AutomationSuite_Orchestrator",
"orchestrator_ta": "AutomationSuite_Orchestrator",
"asrobots": "AutomationSuite_Orchestrator",
"orchestrator_upd": "AutomationSuite_Platform",
"platform": "AutomationSuite_Platform",
"test_manager": "AutomationSuite_Test_Manager",
"automation_ops": "AutomationSuite_Platform",
"automation_hub": "AutomationSuite_Automation_Hub",
"insights": "AutomationSuite_Insights",
"integrationservices": "AutomationSuite_Integration_Services",
"studioweb": "AutomationSuite_StudioWeb",
"dataservice": "AutomationSuite_DataService",
"aicenter": "AutomationSuite_AICenter",
"documentunderstanding": "AutomationSuite_DU_Datamanager",
"processmining_airflow": "AutomationSuite_Airflow",
"processmining_metadata": "AutomationSuite_ProcessMining_Metadata",
"processmining_warehouse": "AutomationSuite_ProcessMining_Warehouse",
"apps": "AutomationSuite_Apps",
"llmgateway": "AutomationSuite_LLMGateway",
"ecs": "AutomationSuite_ECS",
"ecs_vector": "AutomationSuite_ECSVector",
"llmobservability": "AutomationSuite_Llmops",
"automationsolutions": "AutomationSuite_AutomationSolutions",
"maestro": "AutomationSuite_Maestro",
"taas": {
"persistence store": "AutomationSuite_Taas",
"visibility store": "AutomationSuite_Taas_Visibility"
},
"a4d": "AutomationSuite_A4D",
"agents": "AutomationSuite_Agents",
"agenthub": "AutomationSuite_AgentHub"
}
{
"orchestrator": "AutomationSuite_Orchestrator",
"orchestrator_ta": "AutomationSuite_Orchestrator",
"asrobots": "AutomationSuite_Orchestrator",
"orchestrator_upd": "AutomationSuite_Platform",
"platform": "AutomationSuite_Platform",
"test_manager": "AutomationSuite_Test_Manager",
"automation_ops": "AutomationSuite_Platform",
"automation_hub": "AutomationSuite_Automation_Hub",
"insights": "AutomationSuite_Insights",
"integrationservices": "AutomationSuite_Integration_Services",
"studioweb": "AutomationSuite_StudioWeb",
"dataservice": "AutomationSuite_DataService",
"aicenter": "AutomationSuite_AICenter",
"documentunderstanding": "AutomationSuite_DU_Datamanager",
"processmining_airflow": "AutomationSuite_Airflow",
"processmining_metadata": "AutomationSuite_ProcessMining_Metadata",
"processmining_warehouse": "AutomationSuite_ProcessMining_Warehouse",
"apps": "AutomationSuite_Apps",
"llmgateway": "AutomationSuite_LLMGateway",
"ecs": "AutomationSuite_ECS",
"ecs_vector": "AutomationSuite_ECSVector",
"llmobservability": "AutomationSuite_Llmops",
"automationsolutions": "AutomationSuite_AutomationSolutions",
"maestro": "AutomationSuite_Maestro",
"taas": {
"persistence store": "AutomationSuite_Taas",
"visibility store": "AutomationSuite_Taas_Visibility"
},
"a4d": "AutomationSuite_A4D",
"agents": "AutomationSuite_Agents",
"agenthub": "AutomationSuite_AgentHub"
}
如果要覆盖上述任何服务的连接字符串,请为该特定服务设置sql_connection_str 。
在运行安装程序之前,您仍然必须手动创建这些数据库。
特定于产品的连接字符串覆盖
要覆盖特定产品的默认连接字符串,请在相应产品块中设置sql_connection_str 。连接字符串应具有相应产品支持的格式。
Orchestrator 和平台
以下示例显示了如何覆盖 Orchestrator 和平台的默认连接字符串:
{
"orchestrator": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
},
"platform": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
}
}
{
"orchestrator": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
},
"platform": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
}
}
AI Center
以下示例显示了如何使用所需的 JDBC 格式为 AI Center 设置数据库连接字符串:
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
Document Understanding
以下示例显示了 Document Understanding 连接字符串:
"documentunderstanding": {
"enabled": true,
"sql_connection_str": "Server=SERVER_PLACEHOLDER;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=USER_PLACEHOLDER;Password='PASSWORD_PLACEHOLDER';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
"datamanager": {
"sql_connection_str": "SERVER=SERVER_PLACEHOLDER;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=USER_PLACEHOLDER;PWD={PASSWORD_PLACEHOLDER};;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;hostNameInCertificate=customer-sql.database.windows.net",
"pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sql.database.windows.net:Z%3Aw%21%zE%3Cb4@sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
}
}
"documentunderstanding": {
"enabled": true,
"sql_connection_str": "Server=SERVER_PLACEHOLDER;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=USER_PLACEHOLDER;Password='PASSWORD_PLACEHOLDER';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
"datamanager": {
"sql_connection_str": "SERVER=SERVER_PLACEHOLDER;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=USER_PLACEHOLDER;PWD={PASSWORD_PLACEHOLDER};;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;hostNameInCertificate=customer-sql.database.windows.net",
"pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sql.database.windows.net:Z%3Aw%21%zE%3Cb4@sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
}
}
数据管理器 SQL 连接字符串是可选的;仅在要覆盖默认值时才指定它。
Process Mining
Process Mining 连接字符串与模板连接字符串具有以下区别:
- 模板连接字符串名称(
postgresql_connection_string_template_sqlalchemy_pyodbc、sql_connection_string_template)与“自带数据库”名称(sqlalchemy_pyodbc_sql_connection_str、sql_connection_str)不同。 - 如果您使用自己的数据库,并在
input.json的processmining部分中使用sql_connection_str和sqlalchemy_pyodbc_sql_connection_str来配置数据库,则模板连接字符串sql_connection_string_template和postgresql_connection_string_template_sqlalchemy_pyodbc会被忽略。
app_security_mode设置控制如何为 Process Mining 应用程序创建 SQL 用户。在默认的app_security_mode="system_managed"模式下,将为每个 Process Mining 应用程序创建一个新的 SQL 用户,这需要数据库用户的高级权限。在app_security_mode="single_account"模式下,单个 SQL 用户帐户用于所有流程应用程序。有关详细信息,请参阅配置流程应用程序安全性。
如果您使用具有始终启用 SQL 的多可用区设置,请在 Process Mining 连接字符串中设置MultiSubnetFailover参数。值因连接字符串类型而异: 对master_sql_connection_str sql_connection_str MultiSubnetFailover=True ,对MultiSubnetFailover=Yes使用sqlalchemy_pyodbc_sql_connection_str 。请注意,对于pyodbc ,请使用“ =Yes”,而不是“ =True” 。有关详细信息,请参阅多可用区配置。
对于 Kerberos 身份验证,请使用Integrated Security和Trusted_Connection参数,而不是用户名和密码。将Integrated Security设置为true ,将Trusted_Connection设置为yes ,以使用当前登录用户的凭据进行身份验证。
以下示例显示了 PostgreSQL 的 Process Mining 连接字符串:
"processmining": {
"enabled": true,
"app_security_mode": "system_managed",
"airflow": {
"metadata_db_connection_str": "postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
},
"warehouse": {
"sql_connection_str": "Server=tcp:kerberossql.autosuitead.local,1433;Initial Catalog=AutomationSuite_Warehouse;Persist Security Info=False;User Id=testadmin;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin:<password>@kerberossql.autosuitead.local:1433/AutomationSuite_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"master_sql_connection_str": "Server=tcp:kerberossql.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;User Id=testadmin;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
}
"sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='password';Persist Security Info=False;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
}
"processmining": {
"enabled": true,
"app_security_mode": "system_managed",
"airflow": {
"metadata_db_connection_str": "postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
},
"warehouse": {
"sql_connection_str": "Server=tcp:kerberossql.autosuitead.local,1433;Initial Catalog=AutomationSuite_Warehouse;Persist Security Info=False;User Id=testadmin;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin:<password>@kerberossql.autosuitead.local:1433/AutomationSuite_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"master_sql_connection_str": "Server=tcp:kerberossql.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;User Id=testadmin;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
}
"sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='password';Persist Security Info=False;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
}
以下示例显示了 PostgreSQL 的具有 Kerberos 身份验证的 Process Mining 连接字符串:
"processmining": {
"enabled": true,
"airflow": {
"metadata_db_connection_str": "postgresql+psycopg2://kerberos_user:@kerberospostgres.AUTOSUITEAD.LOCAL:5432/automationsuite_airflow"
}
"warehouse": {
"sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
"master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
},
"processmining": {
"enabled": true,
"airflow": {
"metadata_db_connection_str": "postgresql+psycopg2://kerberos_user:@kerberospostgres.AUTOSUITEAD.LOCAL:5432/automationsuite_airflow"
}
"warehouse": {
"sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
"master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
},
以下示例显示了具有单独的元数据和数据仓库服务器的 Process Mining 连接字符串(非 Kerberos 身份验证):
"processmining": {
"enabled": true,
"warehouse": {
"sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:password@uipath-integration1.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"master_sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"airflow": {
"metadata_db_connection_str": "postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
},
"sql_connection_str": "Server=tcp:uipath-integration2.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
},
"processmining": {
"enabled": true,
"warehouse": {
"sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:password@uipath-integration1.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"master_sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"airflow": {
"metadata_db_connection_str": "postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
},
"sql_connection_str": "Server=tcp:uipath-integration2.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
},
以下示例显示了具有自定义app_security_mode的 Process Mining 连接字符串:
"processmining": {
"enabled": true,
"app_security_mode": "system_managed",
"warehouse": {
"sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
"master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"airflow": {
"metadata_db_connection_str": "postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
},
"processmining": {
"enabled": true,
"app_security_mode": "system_managed",
"warehouse": {
"sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
"master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"airflow": {
"metadata_db_connection_str": "postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
},
Studio Web
以下示例显示了 Studio Web 连接字符串:
"studioweb": {
"enabled": true,
"sql_connection_str": "Server=tcp:ci-asaksdev7031068.database.windows.net,1433;Initial Catalog=AutomationSuite_StudioWeb;Persist Security Info=False;User Id=mssqladminun;Password='****';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"studioweb": {
"enabled": true,
"sql_connection_str": "Server=tcp:ci-asaksdev7031068.database.windows.net,1433;Initial Catalog=AutomationSuite_StudioWeb;Persist Security Info=False;User Id=mssqladminun;Password='****';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
权限
确保已向连接字符串中指定的 SQL 帐户授予所有 Automation Suite 数据库的db_owner角色。如果安全限制不允许使用db_owner ,则 SQL 帐户必须对所有数据库具有以下角色和权限:
db_securityadmindb_ddladmindb_datawriterdb_datareader- 对 dbo、dt、authz 和 msgbus 架构的
EXECUTE权限
我们仅在安装期间或重新配置数据库时使用db_securityadmin和db_ddladmin角色,因此之后您可以撤销该权限。需要为 Insights 分配db_owner角色才能成功安装。
SQL 排序规则
Automation Suite 已在服务器和数据库级别支持将 SQL 排序规则设置为 SQL_Latin1_General_CP1_CI_AS。我们强烈建议您使用此特定设置,以获得最佳性能和稳定性。
虽然您可以灵活使用所选的排序规则,但请注意,未经测试的配置可能会导致意外问题。
我们不建议使用二进制 SQL 或任何区分大小写的排序规则,因为它们会导致安装 Automation Suite 时出现已知问题。
SQL Server 密码
Automation Suite 仅支持列出的 SQL 密码:
TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256TLS_AES_128_GCM_SHA256TLS_AES_128_CCM_SHA256ECDHE-ECDSA-AES256-GCM-SHA384ECDHE-RSA-AES256-GCM-SHA384ECDHE-ECDSA-CHACHA20-POLY1305ECDHE-RSA-CHACHA20-POLY1305ECDHE-ECDSA-AES256-CCMECDHE-ECDSA-AES128-GCM-SHA256ECDHE-RSA-AES128-GCM-SHA256ECDHE-ECDSA-AES128-CCMECDHE-ECDSA-AES128-SHA256ECDHE-RSA-AES128-SHA256ECDHE-ECDSA-AES256-SHAECDHE-RSA-AES256-SHAECDHE-ECDSA-AES128-SHAECDHE-RSA-AES128-SHAAES256-GCM-SHA384AES256-CCMAES128-GCM-SHA256AES128-CCMAES256-SHA256AES128-SHA256AES256-SHAAES128-SHADHE-RSA-AES256-GCM-SHA384DHE-RSA-CHACHA20-POLY1305DHE-RSA-AES256-CCMDHE-RSA-AES128-GCM-SHA256DHE-RSA-AES128-CCMDHE-RSA-AES256-SHA256DHE-RSA-AES128-SHA256DHE-RSA-AES256-SHADHE-RSA-AES128-SHAPSK-AES256-GCM-SHA384PSK-CHACHA20-POLY1305PSK-AES256-CCMPSK-AES128-GCM-SHA256PSK-AES128-CCMPSK-AES256-CBC-SHAPSK-AES128-CBC-SHA256PSK-AES128-CBC-SHADHE-PSK-AES256-GCM-SHA384DHE-PSK-CHACHA20-POLY1305DHE-PSK-AES256-CCMDHE-PSK-AES128-GCM-SHA256DHE-PSK-AES128-CCMDHE-PSK-AES256-CBC-SHADHE-PSK-AES128-CBC-SHA256DHE-PSK-AES128-CBC-SHAECDHE-PSK-CHACHA20-POLY1305ECDHE-PSK-AES256-CBC-SHAECDHE-PSK-AES128-CBC-SHA256ECDHE-PSK-AES128-CBC-SHARSA-PSK-AES256-GCM-SHA384RSA-PSK-CHACHA20-POLY1305RSA-PSK-AES128-GCM-SHA256RSA-PSK-AES256-CBC-SHARSA-PSK-AES128-CBC-SHA256RSA-PSK-AES128-CBC-SHA
全文搜索的 SQL 要求
上下文基础和 Document Understanding 要求 SQL Server 具有 SQL Server 数据库引擎的全文搜索组件,默认情况下并不总是安装该组件。
如果您在安装 SQL Server 时没有选择全文搜索,请在配置 Document Understanding 之前再次运行 SQL Server 安装程序以进行添加。
有关更多信息,请查看本指南,了解如何在 SQL Server 上添加/安装功能。您还可以找到SQL Server 组件的完整列表,其中包括全文搜索。
SQL 身份验证
如果您的密码包含 URL 保留字符,请将每个特殊字符替换为其在连接字符串中经过百分比编码的等效字符。例如,如果密码为P@ssw0rd#1! ,则必须将其编码为P%40ssw0rd%231%21 。
从 AKS 对 SQL 的基于 Azure Active Directory 的访问
Insights 和 Studio Web 不支持在 Automation Suite 版本 2.2510.0 和 2.2510.1 中用于访问 SQL 的 Microsoft Entra ID(以前称为 Azure Active Directory)身份验证配置。
您可以选择从 AKS 集群通过 Azure Active Directory 访问 Microsoft SQL Server。 以下示例显示了使用 AAD 访问方法的一些连接字符串:
"sql_connection_string_template": "Server=tcp:sfdev3888449-sql.database.windows.net,1433;Authentication=Active Directory Service Principal;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=5c6b8ff1-efb4-48ca-a530-f744f1d438df;Password='I5V8Q~srSTWf0onUYeHLK..qLO69pP7MZ3KIMaB2';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
"sql_connection_string_template_jdbc": "jdbc:sqlserver://sfdev3888449-sql.database.windows.net;authentication=ActiveDirectoryServicePrincipal;database=DB_NAME_PLACEHOLDER;user=5c6b8ff1-efb4-48ca-a530-f744f1d438df;password={I5V8Q~srSTWf0onUYeHLK..qLO69pP7MZ3KIMaB2};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;",
"sql_connection_string_template_odbc": "SERVER=sfdev3888449-sql.database.windows.net;Authentication=ActiveDirectoryServicePrincipal;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=5c6b8ff1-efb4-48ca-a530-f744f1d438df;PWD={I5V8Q~srSTWf0onUYeHLK..qLO69pP7MZ3KIMaB2};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;hostNameInCertificate=sfdev3888449-sql.database.windows.net",
"sql_connection_string_template_sqlalchemy_pyodbc": "mssql+pyodbc://5c6b8ff1-efb4-48ca-a530-f744f1d438df:I5V8Q~srSTWf0onUYeHLK..qLO69pP7MZ3KIMaB2@sfdev3888449-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server&authentication=ActiveDirectoryServicePrincipal",
"sql_connection_string_template": "Server=tcp:sfdev3888449-sql.database.windows.net,1433;Authentication=Active Directory Service Principal;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=5c6b8ff1-efb4-48ca-a530-f744f1d438df;Password='I5V8Q~srSTWf0onUYeHLK..qLO69pP7MZ3KIMaB2';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
"sql_connection_string_template_jdbc": "jdbc:sqlserver://sfdev3888449-sql.database.windows.net;authentication=ActiveDirectoryServicePrincipal;database=DB_NAME_PLACEHOLDER;user=5c6b8ff1-efb4-48ca-a530-f744f1d438df;password={I5V8Q~srSTWf0onUYeHLK..qLO69pP7MZ3KIMaB2};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;",
"sql_connection_string_template_odbc": "SERVER=sfdev3888449-sql.database.windows.net;Authentication=ActiveDirectoryServicePrincipal;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=5c6b8ff1-efb4-48ca-a530-f744f1d438df;PWD={I5V8Q~srSTWf0onUYeHLK..qLO69pP7MZ3KIMaB2};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;hostNameInCertificate=sfdev3888449-sql.database.windows.net",
"sql_connection_string_template_sqlalchemy_pyodbc": "mssql+pyodbc://5c6b8ff1-efb4-48ca-a530-f744f1d438df:I5V8Q~srSTWf0onUYeHLK..qLO69pP7MZ3KIMaB2@sfdev3888449-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server&authentication=ActiveDirectoryServicePrincipal",
工作负载从 AKS 对 SQL 进行基于身份的访问
有关工作负载身份的一般信息,请参阅“工作负载身份配置” 。
要将 SQL Server 设置为使用工作负载身份,请运行以下命令:
az sql server ad-admin create --display-name test --object-id $userAssignedManagedIdentityObjectId -g $(TARGET_RG) -s $(TARGET_RG)
az sql server ad-admin create --display-name test --object-id $userAssignedManagedIdentityObjectId -g $(TARGET_RG) -s $(TARGET_RG)
以下示例显示了有效的 SQL 连接字符串模板:
"sql_connection_string_template":"Server=tcp:sql_dns_name,1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;Authentication=Active Directory Managed Identity;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
"sql_connection_string_template_jdbc":"jdbc:sqlserver://sql_dns_name;database=DB_NAME_PLACEHOLDER;authentication=ActiveDirectoryMSI;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"
"sql_connection_string_template_sqlalchemy_pyodbc"://@sql_dns_name:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
"sql_connection_string_template_odbc": "SERVER=sql_dns_name;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};FEDAUTH=ActiveDirectoryDefault;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;hostNameInCertificate=*.database.windows.net"
"sql_connection_string_template":"Server=tcp:sql_dns_name,1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;Authentication=Active Directory Managed Identity;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
"sql_connection_string_template_jdbc":"jdbc:sqlserver://sql_dns_name;database=DB_NAME_PLACEHOLDER;authentication=ActiveDirectoryMSI;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"
"sql_connection_string_template_sqlalchemy_pyodbc"://@sql_dns_name:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
"sql_connection_string_template_odbc": "SERVER=sql_dns_name;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};FEDAUTH=ActiveDirectoryDefault;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;hostNameInCertificate=*.database.windows.net"
如果启用 Apps 或 Automation Hub,则必须在input.json文件中覆盖其各自的 SQL 连接字符串,以确保工作负载身份支持。以下示例显示了此类 SQL 连接字符串覆盖的示例:
"apps": {
"sql_connection_str": "Server=tcp:sql_dns_name,1433;Initial Catalog=AutomationSuite_Apps;Authentication=Active Directory Integrated;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
},
"automation_hub": {
"sql_connection_str": "Server=tcp:sql_dns_name,1433;Initial Catalog=AutomationSuite_Automation_Hub;Authentication=Active Directory Integrated;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
},
"apps": {
"sql_connection_str": "Server=tcp:sql_dns_name,1433;Initial Catalog=AutomationSuite_Apps;Authentication=Active Directory Integrated;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
},
"automation_hub": {
"sql_connection_str": "Server=tcp:sql_dns_name,1433;Initial Catalog=AutomationSuite_Automation_Hub;Authentication=Active Directory Integrated;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
},
Insights 的 SQL 要求
Insights 不支持 Azure AD 身份验证。如果您使用 Azure AD 进行身份验证,则无法加载仪表板,也无法从 Microsoft SQL 数据库获取数据。
Insights 要求使用支持列存储索引和.json函数的 SQL Server 2019 或 2022。建议使用 SQL Server Enterprise,因为它更高效的线程和可扩展性。
对于 Azure SQL,请确保数据库为 S3 服务目标或更高。
确保将 Insights 数据库的兼容性级别设置为 130 或更高。在大多数情况下,默认设置可满足此要求。有关详细信息,请参阅查看或更改数据库 的兼容性级别。
安装将验证这两个条件,并在未达到最低要求时向您发出警示。
Data Service 的 SQL 要求
如果您创建自己的数据库,请确保向用户授予以下 Data Service 权限:
db_ddladmindb_datareaderdb_datawriter
GRANT ALTER ANY SENSITIVITY CLASSIFICATION TO {userName};
GRANT VIEW ANY SENSITIVITY CLASSIFICATION TO {userName};
GRANT ALTER ANY SENSITIVITY CLASSIFICATION TO {userName};
GRANT VIEW ANY SENSITIVITY CLASSIFICATION TO {userName};
Process Mining 的 SQL 要求
在 Automation Suite 版本 2.2510.0 和 2.2510.1 中,如果启用了 Process Mining,则无法对平台数据库使用自定义数据库名称。如果指定了自定义名称,则 OMS 回填作业将失败。
为避免这种情况,请在安装 Process Mining 时使用AutomationSuite_Platform作为平台数据库名称。
启用 Process Mining 以在 Automation Suite 上安装时,您必须为AutomationSuite_Airflow引入 PostgreSQL 数据库。PostgreSQL 是AutomationSuite_Airflow唯一支持的数据库类型。
AutomationSuite_Airflow PostgreSQL 数据库
在安装或升级到 Automation Suite 2.2510 或更高版本之前,您需要为AutomationSuite_Airflow手动创建 PostgreSQL 数据库。安装程序不会自动创建适用于 Airflow 的 PostgreSQL 数据库。
从 Microsoft SQL Server 迁移到 PostgreSQL 时,不需要迁移数据。如果配置设置正确,则系统会在运行 Sync Airflow 时重建数据库。
支持的 PostgreSQL 版本
支持 PostgreSQL 版本 12.x 至 16.x。建议使用此范围内的最新版本的 PostgreSQL,以获得最佳兼容性和性能。
硬件要求
安装了适用于 Airflow 的 PostgreSQL 数据库的计算机必须满足以下硬件要求。
- 核心数: 4
- 内存: 16 GiB
- 存储空间: 128 GiB
- IOPS: >= 500 IOPS
所需权限
PostgreSQL Airflow 用户(或任何专用数据库用户)必须
- 指定 Airflow 数据库的“所有权限”权限。
- 服务器公共架构上的“所有授权”。
- 将“search_path”设置为“公开”。
您可能需要更新 PostgreSQL 基于主机的身份验证文件pg_hba.conf ,以将 Airflow 用户添加到数据库访问控制列表,然后重新加载数据库配置以应用更改。
以下代码显示了设置 PostgreSQL 数据库的示例。
CREATE DATABASE airflow_db
WITH ENCODING 'UTF8'
LC_COLLATE='en_US.UTF-8'
LC_CTYPE='en_US.UTF-8'
TEMPLATE template0;
CREATE USER airflow_user WITH PASSWORD 'airflow_pass';
GRANT ALL PRIVILEGES ON DATABASE airflow_db TO airflow_user;
-- PostgreSQL 15 requires additional privileges:
GRANT ALL ON SCHEMA public TO airflow_user;
CREATE DATABASE airflow_db
WITH ENCODING 'UTF8'
LC_COLLATE='en_US.UTF-8'
LC_CTYPE='en_US.UTF-8'
TEMPLATE template0;
CREATE USER airflow_user WITH PASSWORD 'airflow_pass';
GRANT ALL PRIVILEGES ON DATABASE airflow_db TO airflow_user;
-- PostgreSQL 15 requires additional privileges:
GRANT ALL ON SCHEMA public TO airflow_user;
以下代码显示了一个数据库编码验证示例。
SELECT pg_encoding_to_char(encoding) AS encoding
FROM pg_database
WHERE datname = 'airflow_db';
SELECT pg_encoding_to_char(encoding) AS encoding
FROM pg_database
WHERE datname = 'airflow_db';
有关如何为 Airflow 设置 PostgreSQL 数据库的详细信息,请参阅Airflow 官方文档。
默认服务器端口
Airflow 数据库与 PostgreSQL 连接的默认服务器端口为5432 。如果您使用的是 PgBounder 连接池程序,通常要使用端口6432 。
以下代码块显示了使用端口5432 PostgreSQL 的一些示例连接字符串。
示例连接字符串:
postgresql+psycopg2://testadmin:<password>@test-cu231009v3-postgresql.postgres.database.azure.com:5432/automationsuite_airflow
postgresql+psycopg2://testadmin:<password>@test-cu231009v3-postgresql.postgres.database.azure.com:5432/automationsuite_airflow
使用 Kerberos 的示例连接字符串:
postgresql+psycopg2://kerberos_user:@kerberospostgres.AUTOSUITEAD.LOCAL:5432/automationsuite_airflow
postgresql+psycopg2://kerberos_user:@kerberospostgres.AUTOSUITEAD.LOCAL:5432/automationsuite_airflow
使用托管身份的示例连接字符串:
postgresql+psycopg2://testmanagedidentity:@test-postgresql-1.postgres.database.azure.com/airflow-ci-sfasaksqacu8524745
postgresql+psycopg2://testmanagedidentity:@test-postgresql-1.postgres.database.azure.com/airflow-ci-sfasaksqacu8524745
可以根据系统要求,将默认服务器端口配置为使用任何可用端口。
PG 保票员
由于 Airflow 使用短期连接,因此强烈建议您设置 PgBooker。PgBunker 是一个用于 PostgreSQL 的轻量级连接池程序。
有关如何设置 PgBooker 的详细信息,请参阅官方PgBooker 文档。
AutomationSuite_ProcessMining_Warehouse database
Automation Suite 上的 Process Mining 需要单独的 Microsoft SQL Server 用于AutomationSuite_ProcessMining_Warehouse ,以便为 Process Mining 流程应用程序存储数据。
为确保 Process Mining 正常运行,建议使用 Microsoft SQL Server 2022。
以上概述了为AutomationSuite_ProcessMining_Warehouse设置 Microsoft SQL Server 数据库计算机的硬件要求和建议。
要计算硬件要求,您需要了解以下内容:
- 流程中的 (百万) 个事件数。
- 输出数据中案例和事件字段的数量。
出于性能原因,建议在开发环境中处理记录数量有限的小型开发数据集。
您可以使用UiPath Automation Suite 安装大小调整计算器来确定硬件要求,从而为 Process Mining 设置专用的 Microsoft SQL Server 计算机。将 Process Mining 添加到“产品”部分时,系统将显示 1 个专用 SQL Server 的最低要求。有关详细信息,请参阅硬件要求。
连接字符串中使用的 SQL 用户必须在安装期间和安装后具有db_securityadmin数据库级别角色,才能在 Process Mining 数据仓库 SQL Server 上启用按应用程序安全性。有关详细信息,请参阅官方 Microsoft 文档,了解“数据库级别角色”和“配置流程应用程序安全性” 。
建议使用以下命令区分表名称和列名称的大小写:
ALTER DATABASE AutomationSuite_ProcessMining_Warehouse COLLATE SQL_Latin1_General_CP1_CS_AS
ALTER DATABASE AutomationSuite_ProcessMining_Warehouse COLLATE SQL_Latin1_General_CP1_CS_AS
这可以防止加载数据时因列名称相似而导致的错误,例如ID和id 。它还可确保将仅大小写不同的文本值视为不同的文本值。例如:
'activity 1' == 'activity 1''Activity 1' != 'activity 1'
这可以防止 SQL 转换中出现重复问题。
AI Center 的 SQL 要求
在启用 FIPS 140-2 的计算机上安装 AI Center 的要求
要在启用 FIPS 140-2 的计算机上安装 AI Center,请执行以下步骤:
- 在开始安装 Automation Suite 之前,请执行以下步骤:
- 按照 Microsoft 说明,在计划安装 Microsoft Server 的计算机上启用 FIPS 140-2。
- 在已启用 FIPS 140-2 的计算机上安装 Microsoft SQL Server。
- 通过从 SQL Server 或任何可以连接到具有已配置 SQL 主机名的 SQL Server 的服务器运行以下命令,以获取 Microsoft SQL Server 证书:
nmap -sV -p <port> -vv --script ssl-cert domainnmap -sV -p <port> -vv --script ssl-cert domain
- 在安装 Automation Suite 期间,请执行以下步骤:
-
将以下值附加到
input.json文件中的 AI Centersql_connection_string_template_jdbc连接字符串:encrypt=true;trustServerCertificate=false;fips=true;。示例:
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;fips=true;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;fips=true;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"有关数据库配置的详细信息,请参阅高级安装体验和更新 SQL 数据库。
-
添加从步骤 1.c 中导出的证书。主机的信任存储区。有关详细信息,请参阅更新 CA 证书。
-
HA 的 SQL 要求
对于 SQL Server 的高可用性配置,请选择“始终开启”可用性组。有关详细信息,请参阅始终开启可用性组概述。
Orchestrator 的 SQL 要求
为提高性能、避免死锁并防止 SQL 中的脏读,请确保将“READ_COMMITTED_SNAPSHOT”选项设置为“ON”。
要在启用了快照隔离的情况下使用多个机器人处理同一队列,务必将 ALLOW_SNAPSHOT_ISOLATION 选项设置为 ON。
使用以下查询检查READ_COMMITTED_SNAPSHOT和ALLOW_SNAPSHOT_ISOLATION是否已启用:
SELECT is_read_committed_snapshot_on, snapshot_isolation_state FROM sys.databases
WHERE name like 'PLACEHOLDER'
SELECT is_read_committed_snapshot_on, snapshot_isolation_state FROM sys.databases
WHERE name like 'PLACEHOLDER'
确保将 PLACEHOLDER 替换为您的 Orchestrator 数据库名称。
如果设置已启用,则返回值为1 。
如果设置已禁用,则返回值为0 。使用以下查询启用它:
# To enable READ_COMMITTED_SNAPSHOT
ALTER DATABASE <PLACEHOLDER>
SET READ_COMMITTED_SNAPSHOT ON
# To enable ALLOW_SNAPSHOT_ISOLATION
ALTER DATABASE <PLACEHOLDER>
SET ALLOW_SNAPSHOT_ISOLATION ON
# To enable READ_COMMITTED_SNAPSHOT
ALTER DATABASE <PLACEHOLDER>
SET READ_COMMITTED_SNAPSHOT ON
# To enable ALLOW_SNAPSHOT_ISOLATION
ALTER DATABASE <PLACEHOLDER>
SET ALLOW_SNAPSHOT_ISOLATION ON
确保将<PLACEHOLDER>替换为您的 Orchestrator 数据库名称。
如果您对测试自动化和/或更新服务器使用不同的数据库,则还必须在这些数据库上启用READ_COMMITTED_SNAPSHOT和ALLOW_SNAPSHOT_ISOLATION 。
临时即服务 (TaaS) 的 SQL 要求
在 Automation Suite 上启用 Maestro 时,TaaS 需要两个专用的 PostgreSQL 数据库:
- 持久性存储(
AutomationSuite_Taas) - 存储工作流执行数据和历史记录。 - 可见性存储(
AutomationSuite_Taas_Visibility) - 存储临时用户界面和可见性 API 使用的工作流元数据。需要 PostgreSQL 服务器上有btree_gin扩展程序。
当sql.create_db设置为true时,两个数据库都由安装程序自动创建。如果您有自己的数据库,请在运行安装程序之前创建两个数据库。有关默认的数据库名称,请参阅Automation Suite 服务的默认和可选数据库名称。
要覆盖 TaaS 的连接字符串,请使用postgresql_connection_string_template_sqlalchemy_pyodbc 。有关连接字符串格式,请参阅“自带数据库” 。
支持的 PostgreSQL 版本
支持 PostgreSQL 版本 12.x 至 16.x。
硬件要求
根据每天的工作流数量调整 TaaS PostgreSQL 数据库的大小。三个复杂性配置文件用于调整大小:
- 简单- 每个工作流大约 3 个 BPMN 任务
- 中等- 约 25 个 BPMN 任务和 1 个子流程(5 个任务)
- 复杂- 大约 100 个 BPMN 任务和 3 个子流程(每个子流程 5 个任务)
在任意列中找到与您的工作负载匹配的行(“或”,而不是“与”),然后阅读右侧的硬件要求。您无需同时满足所有三个列阈值。对于混合复杂性工作负载,请使用Automation Suite 容量计算器- 跨复杂性层级的贡献是累积的。
CPU 和 RAM
下表介绍了基于每日工作流数量和复杂性的 CPU 和 RAM 要求:
| 简单工作流/天 | 每天审核的工作流 | 复杂工作流/天 | CPU | RAM |
|---|---|---|---|---|
| < 12,500 | 小于 1,900 | < 525 | 2 个 vCore | 4GB |
| 12,500–125,000 | 1,900–19,200 | 525–5,275 | 4 个 vCore | 8 GB |
| 超过 125,000 个 | 19,200+ | 超过 5,275 | 8 个 vCore | 16GB |
磁盘和 IOPS
磁盘大小取决于 Orchestrator 中配置的工作流数量、复杂性和流程保留期。使用Automation Suite 容量计算器获取工作负载驱动的建议。下表介绍了根据您的稳定状态规格推荐的磁盘和 IOPS:
| 推荐磁盘 | IOPS |
|---|---|
| 100 GB | 500 |
| 150 GB | 800 |
| 250 GB | 1,110 |
| 500 GB | 2,300 |
| 1TB | 5,000 |
需要高级 SSD(或同类产品)。除了非常低的负载之外,标准 SSD 无法维持 TaaS 写入吞吐量。
读取副本
可选 - 建议用于高可用性部署。
PostgreSQL 服务器必须与 TaaS 集群组件共处一地(例如,位于同一个数据中心)。此要求适用于主要区域以及任何被动或故障转移区域。
连接要求
TaaS 为每个 Pod 维护一个应用程序端连接池。下表介绍了基于部署配置文件和每日工作流数量所需的max_connections值:
| 简单工作流/天 | 每天审核的工作流 | 复杂工作流/天 | 默认 | Lite | HA |
|---|---|---|---|---|---|
| < 12,500 | 小于 1,900 | < 525 | 200 | 200 | 400 |
| 12,500–125,000 | 1,900–19,200 | 525–5,275 | 200 | 400 | 500 |
| 超过 125,000 个 | 19,200+ | 超过 5,275 | 200 | 600 | 600 |
默认的 PostgreSQL max_connections值为 100,这对于任何 TaaS 配置文件都不足。使用上表确定部署配置文件和工作流卷所需的值,并在安装前在 PostgreSQL 服务器上增加max_connections 。
连接约束
- TaaS 不支持通过 pgBounder 建立连接。
- 仅支持用户名和密码身份验证。不支持工作负载身份、Kerberos 和 IAM 身份验证。
调整连接池
默认连接池设置适用于大多数部署。如果您的 PostgreSQL 实例具有max_connections下限,请使用input.json中的advanced_configuration覆盖默认值:
{
"taas": {
"enabled": true,
"advanced_configuration": {
"taas": {
"temporal": {
"server": {
"config": {
"persistence": {
"default": {
"sql": {
"maxConns": 10,
"maxIdleConns": 10
}
},
"visibility": {
"sql": {
"maxConns": 10,
"maxIdleConns": 10
}
}
}
}
}
}
}
}
}
}
{
"taas": {
"enabled": true,
"advanced_configuration": {
"taas": {
"temporal": {
"server": {
"config": {
"persistence": {
"default": {
"sql": {
"maxConns": 10,
"maxIdleConns": 10
}
},
"visibility": {
"sql": {
"maxConns": 10,
"maxIdleConns": 10
}
}
}
}
}
}
}
}
}
}
大幅减少maxConns可能会导致 TaaS 持久性在负载下超时。仅在您的 PostgreSQL 实例无法满足默认连接要求时,才调整这些值。
Autopilot for Developers (A4D) 的 SQL 要求
Autopilot for Developers 需要专用的 PostgreSQL 数据库 ( AutomationSuite_A4D )。A4D 使用postgresql_connection_string_template_sqlalchemy_asyncpg连接字符串模板。
硬件要求
下表介绍了 A4D PostgreSQL 服务器的硬件要求:
| 资源 | 要求 |
|---|---|
| CPU | 2 个 vCore |
| 内存 | 8 GB RAM |
| 存储 | 128GB |
| IOPS | 100 |
连接要求
PostgreSQL 服务器上所需的max_connections值为 100。
- 硬件要求
- 多可用区配置
- 数据库创建工作流
- 自动创建必要的数据库
- 请自带数据库
- 连接字符串模板
- 特定于产品的连接字符串覆盖
- Orchestrator 和平台
- AI Center
- Document Understanding
- Process Mining
- Studio Web
- 权限
- SQL 排序规则
- SQL Server 密码
- 全文搜索的 SQL 要求
- SQL 身份验证
- 从 AKS 对 SQL 的基于 Azure Active Directory 的访问
- 工作负载从 AKS 对 SQL 进行基于身份的访问
- Insights 的 SQL 要求
- Data Service 的 SQL 要求
- Process Mining 的 SQL 要求
AutomationSuite_AirflowPostgreSQL 数据库AutomationSuite_ProcessMining_Warehousedatabase- AI Center 的 SQL 要求
- 在启用 FIPS 140-2 的计算机上安装 AI Center 的要求
- HA 的 SQL 要求
- Orchestrator 的 SQL 要求
- 临时即服务 (TaaS) 的 SQL 要求
- 支持的 PostgreSQL 版本
- 硬件要求
- 连接要求
- 调整连接池
- Autopilot for Developers (A4D) 的 SQL 要求
- 硬件要求
- 连接要求