UiPath Documentation
automation-suite
2.2510
true
Guía de instalación de Automation Suite en EKS/AKS
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Base de datos SQL

Requisitos, compatibilidad y configuración de la base de datos SQL para Automation Suite en EKS/AKS.

Importante:

Solo se admite el controlador ODBC de Microsoft 17.

A menos que se especifique lo contrario en las secciones de requisitos dedicadas, estos requisitos son aplicables a todos los productos de Automation Suite.

Debes traer un servidor SQL externo para instalar productos de Automation Suite y UiPath®. Se admiten Microsoft SQL Server 2019 y 2022, las ediciones Standard y Enterprise.

Additional Microsoft SQL platforms, such as Azure SQL Database, Azure SQL Managed Instance, or Amazon Relational Database Service, are also supported as long as the Microsoft SQL Server database engine meets the requirements. For details, refer to Compatibility matrix.

Los siguientes productos requieren una base de datos PostgreSQL dedicada además de Microsoft SQL Server:

Nota:

Asegúrese de que se pueda acceder al servidor SQL desde los nodos del clúster.

La compatibilidad de cada producto es diferente.

Para cada producto que tenga previsto implementar, deberá:

  • Comprobar la versión compatible de SQL Server, tal como requiere el producto.
  • cumplir los requisitos de configuración de SQL Server, incluidos los permisos de usuario de SQL Server, según lo requiera el producto.

Requisitos de hardware​

Los requisitos mínimos generales de hardware para Microsoft SQL Server son los siguientes:

  • 8 (v)CPU
  • 32 GB de RAM
  • SSD de 256 GB

The minimum requirements are general guidance and do not guarantee reliable operation in a production deployment. Capacity planning is required to determine the hardware requirements for reliable operation. For details, refer to Capacity planning.

Cada producto de UiPath® requiere su propia base de datos SQL.

Configuración Multi-AZ​

Si implementas una configuración Multi-AZ con SQL siempre activo en la que utilizas específicamente un punto final de escucha, como con Amazon RDS, debes añadir un parámetro adicional, MultiSubnetFailover, a tus cadenas de conexión.

Automation Hub no es compatible con MultiSubnetFailover.

La configuración del parámetro MultiSubnetFailover difiere en función del tipo de cadena de conexión, como se muestra en los siguientes ejemplos:

  • sql_connection_string_template: establecer MultiSubnetFailover=True
  • sql_connection_string_template_jdbc: establecer multiSubnetFailover=true
  • sql_connection_string_template_odbc: establecer MultiSubnetFailover=yes
  • sql_connection_string_template_sqlalchemy_pyodbc: establecer MultiSubnetFailover=YES

El parámetro MultiSubnetFailover permite una rápida conmutación por error entre varias IP desde la entrada DNS durante cualquier interrupción de la red o de la base de datos.

Flujo de trabajo de creación de la base de datos​

El instalador interactivo crea automáticamente bases de datos utilizando el siguiente flujo de trabajo:

  1. El script del instalador interactivo comprueba el valor del parámetro sql.create_db en el archivo input.json .

    • Si el parámetro sql.create_db está establecido en true, el instalador genera automáticamente todas las bases de datos en tu nombre. En este caso, el instalador utiliza los nombres de base de datos predeterminados y las plantillas predeterminadas, e ignora cualquier nombre de base de datos personalizado que hayas proporcionado.

    • Si sql.create_db está establecido en false, debes traer tus propias bases de datos. En este caso, debes configurar manualmente tus bases de datos. Ten en cuenta que puedes utilizar nombres de bases de datos personalizados, siempre que sigas las convenciones de nomenclatura proporcionadas. Este paso es fundamental porque utilizamos el nombre de la base de datos junto con la plantilla de conexión para formar la cadena de conexión de la base de datos. Si no sigues la convención de nomenclatura recomendada, debes proporcionar las cadenas de conexión SQL tú mismo.

      For details, refer to Bring your own databases.

  2. El instalador interactivo genera las cadenas de conexión de la siguiente manera:

    • Si no definiste una cadena de conexión para tu servicio, el instalador utiliza la plantilla de conexión para generar todas las cadenas de conexión de base de datos.
    • Si definiste una cadena de conexión para tu servicio, el instalador utiliza la cadena de conexión proporcionada para tu base de datos.

Creación automática de las bases de datos necesarias​

Importante:

Para Process Mining en Automation Suite, debes crear manualmente la base de datos PostgreSQL para AutomationSuite_Airflow antes de instalar o actualizar a Automation Suite 2.2510. El instalador no creará automáticamente la base de datos PostgreSQL para Airflow.

Si quieres que el instalador cree las bases de datos, rellena los siguientes campos del archivo input.json :

ParámetroDescripción
sql.create_dbEstablece en true para permitir que el instalador cree las bases de datos. Ten en cuenta que el instalador utiliza los nombres de base de datos predeterminados y las plantillas predeterminadas, e ignora cualquier nombre de base de datos personalizado que hayas proporcionado.
sql.server_urlFQDN del servidor SQL donde desea que el instalador configure la base de datos.
sql.portNúmero de puerto en el que se debe alojar una instancia de base de datos en el servidor SQL.
sql.usernameNombre o ID de usuario con el que conectarse al servidor SQL.
sql.passwordContraseña del nombre de usuario proporcionado anteriormente con la que conectarse al servidor SQL.
Nota:
  • Asegúrate de que el usuario tiene el rol dbcreator. Esto les otorga permiso para crear la base de datos en SQL Server. De lo contrario, la instalación falla.
  • La creación automática de las bases de datos necesarias no funciona en combinación con la autenticación de directorio. Si utilizas la autenticación de directorio, debes traer tus propias bases de datos.
  • La conexión ODBC no admite nombres de usuario que contengan caracteres especiales. Para los nombres de usuario de la base de datos para AI Center, Document Understanding, y Apps, utiliza solo letras en mayúsculas y minúsculas.

Traiga sus propias bases de datos​

Si decides traer tus propias bases de datos para una nueva instalación de Automation Suite, recomendamos encarecidamente configurar nuevas bases de datos en lugar de utilizar las existentes. Esta precaución es necesaria para evitar cualquier conflicto con la operación de Automation Suite que pueda ocurrir debido a los metadatos sobrantes de las bases de datos antiguas.

Si traes tu propia base de datos, debes proporcionar las cadenas de conexión SQL para cada base de datos. Automation Suite admite los siguientes formatos de cadenas de conexión SQL.

Nota:

Para Document Understanding, asegúrate de utilizar la misma base de datos, a menos que se indique explícitamente lo contrario. Se asignan cadenas de conexión específicas a varios servicios y trabajos que se conectan a la misma base de datos.

Plantillas de cadena de conexión​

ParámetroDescripciónProductos
sql_connection_string_templateCadena de conexión ADO.NET completa donde el nombre del catálogo se establece en DB_NAME_PLACEHOLDER. El instalador reemplazará este marcador de posición con los nombres de base de datos predeterminados para los servicios de la suite instalada.Plataforma
Orchestrator
Automation Suite Robots
Test Manager
Automation Hub
Automation Ops
Insights
Integration Service
Studio Web
Data Service
Process Mining
Document Understanding
Puerta de enlace de LLM
Observabilidad de LLM
ECS
Soluciones
Maestro
Agents
HubDeAgente
sql_connection_string_template_jdbcCadena de conexión JDBC completa donde el nombre de la base de datos se establece en DB_NAME_PLACEHOLDER. El instalador reemplazará este marcador de posición con los nombres de base de datos predeterminados para los servicios de la suite instalada.AI Center
Integration Service
sql_connection_string_template_odbcCadena de conexión ODBC completa donde el nombre de la base de datos se establece en DB_NAME_PLACEHOLDER. El instalador reemplazará este marcador de posición con los nombres de base de datos predeterminados para los servicios de la suite instalada.Document Understanding
Apps
Integration Service
sql_connection_string_template_sqlalchemy_pyodbcCadena de conexión PYODBC de alquimia SQL completa donde el nombre de la base de datos se establece en DB_NAME_PLACEHOLDER. El instalador reemplazará este marcador de posición con los nombres de base de datos predeterminados para los servicios de la suite instalada.Document Understanding
postgresql_connection_string_template_sqlalchemy_pyodbcCadena de conexión PSYCOPG2 de alquimia SQL completa donde el nombre de la base de datos se establece en DB_NAME_PLACEHOLDER. El instalador reemplazará este marcador de posición con los nombres de base de datos predeterminados para los servicios de la suite instalada.Process Mining
Temporal como servicio (TaaS)
postgresql_connection_string_template_sqlalchemy_asyncpgCadena de conexión PostgreSQL completa donde el nombre de la base de datos se establece en DB_NAME_PLACEHOLDER. El instalador reemplazará este marcador de posición con los nombres de base de datos predeterminados para los servicios de la suite instalada.Autopilot para desarrolladores

Si establece manualmente las cadenas de conexión en el archivo de configuración, puede escapar de las contraseñas de SQL, JDBC, ODBC o PYODBC de la siguiente manera:

  • para SQL: añade ' al principio y al final de la contraseña, y doble cualquier otra' .
  • para JDBC/ODBC: añade { al principio y } al final de la contraseña, y duplicar cualquier otra }.
  • para PYODBC: username y password deben codificarse como URL para tener en cuenta los caracteres especiales. Las contraseñas de la base de datos de Document Understanding no pueden comenzar con {.
  • La contraseña de las bases de datos de Apps e Integration Service no debe contener #{ en pares.

The AutomationSuite_ProcessMining_Airflow database for Process Mining product must have READ_COMMITTED_SNAPSHOT enabled.

De forma predeterminada, TrustServerCertificate está establecido en False, y debes proporcionar un certificado de CA adicional para SQL Server. Esto es necesario si el certificado del servidor SQL está autofirmado o firmado por una AC interna. Si no proporcionas el certificado de SQL Server en este escenario, la comprobación de requisitos previos fallará.

sql_connection_string_template​

El siguiente ejemplo muestra una cadena de conexión 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=<your-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=<your-password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
sql_connection_string_template_jdbc​

El siguiente ejemplo muestra una cadena de conexión sql_connection_string_template_jdbc :

jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=<your-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=<your-password>;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
sql_connection_string_template_odbc​

El siguiente ejemplo muestra una cadena de conexión 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=<your-password>;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=<your-password>;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
sql_connection_string_template_sqlalchemy_pyodbc​

El siguiente ejemplo muestra una cadena de conexión sql_connection_string_template_sqlalchemy_pyodbc :

mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:<your-password>@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:<your-password>@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
postgresql_connection_string_template_sqlalchemy_pyodbc​

El siguiente ejemplo muestra una cadena de conexión postgresql_connection_string_template_sqlalchemy_pyodbc para Process Mining:

postgresql+psycopg2://<user>:<password>@<host>:<port>/DB_NAME_PLACEHOLDER
postgresql+psycopg2://<user>:<password>@<host>:<port>/DB_NAME_PLACEHOLDER
Plantillas combinadas de Process Mining​

Los siguientes ejemplos muestran configuraciones de plantillas combinadas para 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='<your-password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"

"postgresql_connection_string_template_sqlalchemy_pyodbc ": 
"postgresql+psycopg2://<user>:<your-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='<your-password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"

"postgresql_connection_string_template_sqlalchemy_pyodbc ": 
"postgresql+psycopg2://<user>:<your-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='<your-password>';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:<your-password>@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='<your-password>';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:<your-password>@sfdev4515230-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
Nombres de base de datos predeterminados​

El siguiente ejemplo muestra los nombres de base de datos predeterminados y opcionales para los servicios de 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"
}
Nota:

Si quieres anular la cadena de conexión para cualquiera de los servicios mencionados, establece sql_connection_str para ese servicio específico.

De todos modos, tiene que crear manualmente estas bases de datos antes de ejecutar el instalador.

Anulaciones de la cadena de conexión específicas del producto​

Para anular las cadenas de conexión predeterminadas para productos específicos, establece sql_connection_str en el bloque de producto correspondiente. La cadena de conexión debe tener un formato compatible con el producto respectivo.

Orchestrator y plataforma​

El siguiente ejemplo muestra cómo anular la cadena de conexión predeterminada para Orchestrator y la plataforma:

{
  "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=<your-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=<your-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=<your-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=<your-password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
  }
}

AI Center​

El siguiente ejemplo muestra cómo establecer la cadena de conexión de la base de datos para AI Center utilizando el formato JDBC requerido:

"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=<your-password>"
}
"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=<your-password>"
}

Document Understanding​

El siguiente ejemplo muestra una cadena de conexión de 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:<your-password>@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:<your-password>@sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
        }
    }

La cadena de conexión SQL del gestor de datos es opcional; especifícalo solo si quieres anular el valor predeterminado.

Process Mining​

Las cadenas de conexión de Process Mining tienen las siguientes diferencias con las cadenas de conexión de plantilla:

  • Los nombres de la cadena de conexión de la plantilla (postgresql_connection_string_template_sqlalchemy_pyodbc, sql_connection_string_template) difieren de los nombres de la base de datos propia (sqlalchemy_pyodbc_sql_connection_str, sql_connection_str).
  • Si traes tu propia base de datos y la configuras utilizando sql_connection_str y sqlalchemy_pyodbc_sql_connection_str en la sección processmining de input.json, las cadenas de conexión de la plantilla sql_connection_string_template y postgresql_connection_string_template_sqlalchemy_pyodbc se ignoran.

The app_security_mode setting controls how SQL users are created for Process Mining apps. In the default app_security_mode="system_managed" mode, a new SQL user is created for every Process Mining app, which requires advanced permissions for the database user. In app_security_mode="single_account" mode, a single SQL user account is used for all process apps. For details, refer to Configuring process app security.

Si utilizas una configuración Multi-AZ con Siempre en SQL, establece el parámetro MultiSubnetFailover en tus cadenas de conexión de Process Mining. El valor difiere según el tipo de cadena de conexión: utiliza MultiSubnetFailover=True para sql_connection_str y master_sql_connection_str y MultiSubnetFailover=Yes para sqlalchemy_pyodbc_sql_connection_str. Ten en cuenta que para pyodbc utilizas '=Sí' en lugar de '=Verdadero'. Para obtener más información, consulta Configuración Multi-AZ.

Para la autenticación Kerberos, utiliza los parámetros Integrated Security y Trusted_Connection en lugar de un nombre de usuario y una contraseña. Establece Integrated Security en true y Trusted_Connection en yes para autenticarse utilizando las credenciales del usuario que ha iniciado sesión actualmente.

El siguiente ejemplo muestra una cadena de conexión de Process Mining para PostgreSQL:

  "processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "airflow": {
      "metadata_db_connection_str": "postgresql+psycopg2://testadmin:<your-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='<your-password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin:<your-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='<your-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='<your-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:<your-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='<your-password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin:<your-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='<your-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='<your-password>';Persist Security Info=False;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
  }

El siguiente ejemplo muestra una cadena de conexión de Process Mining con autenticación Kerberos para PostgreSQL:

"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;"
      },
  },

El siguiente ejemplo muestra una cadena de conexión de Process Mining con metadatos y servidores de almacén de datos independientes (autenticación no 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='<your-password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:<your-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='<your-password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
  "airflow": {
      "metadata_db_connection_str": "postgresql+psycopg2://testadmin:<your-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='<your-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='<your-password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:<your-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='<your-password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
  "airflow": {
      "metadata_db_connection_str": "postgresql+psycopg2://testadmin:<your-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='<your-password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",  
},

El siguiente ejemplo muestra una cadena de conexión de Process Mining con un app_security_mode personalizado:

"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:<your-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:<your-password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
    },

Studio Web​

El siguiente ejemplo muestra una cadena de conexión de 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;"
      },

Permisos​

Asegúrate de que la cuenta SQL especificada en las cadenas de conexión tenga asignado el rol db_owner para todas las bases de datos de Automation Suite. Si las restricciones de seguridad no permiten el uso de db_owner, la cuenta SQL debe tener los siguientes roles y permisos en todas las bases de datos:

  • db_securityadmin
  • db_ddladmin
  • db_datawriter
  • db_datareader
  • Permiso EXECUTE en el esquema dbo, dt, authz y msgbus

Solo utilizamos los roles db_securityadmin y db_ddladmin durante la instalación o si las bases de datos se vuelven a aprovisionar, por lo que puedes revocar estos permisos posteriormente. Insights requiere que se asigne el rol db_owner para una instalación correcta.

Intercalación SQL​

Automation Suite admite la intercalación SQL establecida en SQL_Latin1_General_CP1_CI_AS tanto a nivel de servidor como de base de datos. Recomendamos encarecidamente esta configuración particular para un rendimiento y estabilidad óptimos.

Aunque tienes la flexibilidad de utilizar una intercalación de tu elección, ten en cuenta que las configuraciones no probadas pueden provocar problemas inesperados.

Importante:

No recomendamos utilizar SQL binario ni ninguna intercalación que distinga entre mayúsculas y minúsculas, ya que provocan problemas conocidos al instalar Automation Suite.

Cifrados del servidor SQL​

Solo los cifrados SQL enumerados son compatibles con Automation Suite:

  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_128_CCM_SHA256
  • ECDHE-ECDSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-ECDSA-CHACHA20-POLY1305
  • ECDHE-RSA-CHACHA20-POLY1305
  • ECDHE-ECDSA-AES256-CCM
  • ECDHE-ECDSA-AES128-GCM-SHA256
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-ECDSA-AES128-CCM
  • ECDHE-ECDSA-AES128-SHA256
  • ECDHE-RSA-AES128-SHA256
  • ECDHE-ECDSA-AES256-SHA
  • ECDHE-RSA-AES256-SHA
  • ECDHE-ECDSA-AES128-SHA
  • ECDHE-RSA-AES128-SHA
  • AES256-GCM-SHA384
  • AES256-CCM
  • AES128-GCM-SHA256
  • AES128-CCM
  • AES256-SHA256
  • AES128-SHA256
  • AES256-SHA
  • AES128-SHA
  • DHE-RSA-AES256-GCM-SHA384
  • DHE-RSA-CHACHA20-POLY1305
  • DHE-RSA-AES256-CCM
  • DHE-RSA-AES128-GCM-SHA256
  • DHE-RSA-AES128-CCM
  • DHE-RSA-AES256-SHA256
  • DHE-RSA-AES128-SHA256
  • DHE-RSA-AES256-SHA
  • DHE-RSA-AES128-SHA
  • PSK-AES256-GCM-SHA384
  • PSK-CHACHA20-POLY1305
  • PSK-AES256-CCM
  • PSK-AES128-GCM-SHA256
  • PSK-AES128-CCM
  • PSK-AES256-CBC-SHA
  • PSK-AES128-CBC-SHA256
  • PSK-AES128-CBC-SHA
  • DHE-PSK-AES256-GCM-SHA384
  • DHE-PSK-CHACHA20-POLY1305
  • DHE-PSK-AES256-CCM
  • DHE-PSK-AES128-GCM-SHA256
  • DHE-PSK-AES128-CCM
  • DHE-PSK-AES256-CBC-SHA
  • DHE-PSK-AES128-CBC-SHA256
  • DHE-PSK-AES128-CBC-SHA
  • ECDHE-PSK-CHACHA20-POLY1305
  • ECDHE-PSK-AES256-CBC-SHA
  • ECDHE-PSK-AES128-CBC-SHA256
  • ECDHE-PSK-AES128-CBC-SHA
  • RSA-PSK-AES256-GCM-SHA384
  • RSA-PSK-CHACHA20-POLY1305
  • RSA-PSK-AES128-GCM-SHA256
  • RSA-PSK-AES256-CBC-SHA
  • RSA-PSK-AES128-CBC-SHA256
  • RSA-PSK-AES128-CBC-SHA

Contextualización y Document Understanding requieren que SQL Server tenga el componente de búsqueda de texto completo del motor de base de datos de SQL Server, que no siempre se instala de forma predeterminada.

Si no seleccionó este componente durante la instalación de SQL Server, ejecute de nuevo la instalación de SQL Server para añadirlo antes de configurar Document Understanding.

Para obtener más información, consulta esta guía sobre cómo añadir/instalar características en el servidor SQL. También puedes encontrar una lista completa de componentes de SQL Server, que incluye la búsqueda de texto completo.

Autenticación de SQL​

Nota:

Si tu contraseña contiene caracteres de URL reservados, reemplaza cada carácter especial por su equivalente codificado en porcentaje en la cadena de conexión. Por ejemplo, si tu contraseña es P@ssw0rd#1!, debes codificarla como P%40ssw0rd%231%21.

Acceso basado en Azure Active Directory a SQL desde AKS​

Nota:

Insights y Studio Web no admiten la configuración de autenticación de Microsoft Entra ID (anteriormente Azure Active Directory) para acceder a SQL en las versiones 2.2510.0 y 2.2510.1 de Automation Suite.

Puede elegir acceder al servidor Microsoft SQL a través de Azure Active Directory desde el clúster de AKS. El siguiente ejemplo muestra algunas cadenas de conexiones que utilizan el método de acceso de 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=<service-principal-id>;Password='<your-client-secret>';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=<service-principal-id>;password={<your-client-secret>};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=<service-principal-id>;PWD={<your-client-secret>};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;hostNameInCertificate=sfdev3888449-sql.database.windows.net",
  "sql_connection_string_template_sqlalchemy_pyodbc": "mssql+pyodbc://<service-principal-id>:<your-client-secret>@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=<service-principal-id>;Password='<your-client-secret>';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=<service-principal-id>;password={<your-client-secret>};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=<service-principal-id>;PWD={<your-client-secret>};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;hostNameInCertificate=sfdev3888449-sql.database.windows.net",
  "sql_connection_string_template_sqlalchemy_pyodbc": "mssql+pyodbc://<service-principal-id>:<your-client-secret>@sfdev3888449-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server&authentication=ActiveDirectoryServicePrincipal",

Acceso basado en la identidad de la carga de trabajo a SQL desde AKS​

For general information on workload identity, refer to Workload identity configuration.

Para configurar SQL Server para utilizar la identidad de la carga de trabajo, ejecuta el siguiente comando:

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)

El siguiente ejemplo muestra una plantilla de cadena de conexión SQL válida:

"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"

Si habilitas Apps o Automation Hub, debes anular sus respectivas cadenas de conexión SQL en el archivo input.json para garantizar la compatibilidad con la identidad de la carga de trabajo. La siguiente muestra muestra un ejemplo de tales anulaciones de cadena de conexión 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;",
},

Requisitos de SQL para Insights​

Nota:

Insights no admite la autenticación de Azure AD. Si te autenticas utilizando Azure AD, los paneles no se pueden cargar y los datos no se pueden obtener de la base de datos de Microsoft SQL.

Insights requiere SQL Server 2019 o 2022, incluida la compatibilidad con el índice de almacén de columnas y las funciones .json . Se recomienda SQL Server Enterprise debido a la escalabilidad y los subprocesos más eficientes.

Para Azure SQL, asegúrate de que la base de datos sea objetivo de servicio S3 o superior.

Asegúrate de que el nivel de compatibilidad para la base de datos de Insights está establecido en 130 o superior. En la mayoría de los casos, la configuración predeterminada cumple este requisito. Para obtener más información, consulta Ver o cambiar el nivel de compatibilidad de una base de datos: SQL Server.

La instalación valida ambas condiciones y le alerta si no se cumplen los requisitos mínimos de instalación.

SQL requirements for Data Service​

Si creas tu propia base de datos, asegúrate de conceder los siguientes permisos de Data Service a tus usuarios:

  • db_ddladmin
  • db_datareader
  • db_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};

SQL requirements for Process Mining​

Importante:

En las versiones 2.2510.0 y 2.2510.1 de Automation Suite, no puedes utilizar un nombre de base de datos personalizado para la base de datos de la plataforma si Process Mining está habilitado. Si especificas un nombre personalizado, el trabajo de reposición de OMS falla.

Para evitar esto, utiliza AutomationSuite_Platform como nombre de la base de datos de la plataforma al instalar Process Mining.

Al habilitar Process Mining para la instalación en Automation Suite, debes traer una base de datos PostgreSQL para AutomationSuite_Airflow. PostgreSQL es el único tipo de base de datos compatible con AutomationSuite_Airflow.

AutomationSuite_Airflow Base de datos PostgreSQL​

Nota:

Antes de instalar o actualizar a Automation Suite 2.2510, debes crear manualmente la base de datos PostgreSQL para AutomationSuite_Airflow. El instalador no creará automáticamente la base de datos PostgreSQL para Airflow.

Al migrar de Microsoft SQL Server a PostgreSQL, no se requiere la migración de datos. Con una configuración correcta, la base de datos se reconstruye al ejecutar Sync Airflow.

Versiones de PostgreSQL compatibles​

Las versiones de PostgreSQL 12.x a 16.x son compatibles. Se recomienda utilizar la versión más reciente de PostgreSQL dentro de este rango para una compatibilidad y un rendimiento óptimos.

Requisitos de hardware​

La máquina en la que está instalada la base de datos PostgreSQL para Airflow debe cumplir los siguientes requisitos de hardware.

  • Núcleos: 4
  • Memoria: 16 GiB
  • Almacenamiento: 128 GiB
  • IOPS: >=500 IOPS
Permisos necesarios​

El usuario de PostgreSQL Airflow (o cualquier usuario de base de datos dedicado) debe tener

  • Permisos "Todos los privilegios" para la base de datos de Airflow designada.
  • "todas las concesiones" en el esquema público del servidor.
  • "search_path" establecido en "público".
Nota:

Es posible que tengas que actualizar el archivo de autenticación basada en host de PostgreSQL pg_hba.conf para añadir el usuario de Airflow a la lista de control de acceso a la base de datos y volver a cargar la configuración de la base de datos para aplicar los cambios.

El siguiente código muestra un ejemplo para configurar una base de datos 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 '<your-password>';
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 '<your-password>';
GRANT ALL PRIVILEGES ON DATABASE airflow_db TO airflow_user;

-- PostgreSQL 15 requires additional privileges:
GRANT ALL ON SCHEMA public TO airflow_user;

El siguiente código muestra un ejemplo de validación de codificación de base de datos.

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';

Para obtener más información sobre cómo configurar una base de datos PostgreSQL para Airflow, consulta la documentación oficial de Airflow.

Puerto de servidor predeterminado​

El puerto del servidor predeterminado para las conexiones de la base de datos de Airflow con PostgreSQL es 5432. Si utilizas el agrupador de conexiones PgBouncer, es habitual utilizar el puerto 6432.

Los siguientes bloques de código muestran algunos ejemplos de cadenas de conexión para PostgreSQL utilizando el puerto 5432.

Ejemplo de cadena de conexión:

postgresql+psycopg2://testadmin:<your-password>@test-cu231009v3-postgresql.postgres.database.azure.com:5432/automationsuite_airflow
postgresql+psycopg2://testadmin:<your-password>@test-cu231009v3-postgresql.postgres.database.azure.com:5432/automationsuite_airflow

Ejemplo de cadena de conexión para utilizar Kerberos:

postgresql+psycopg2://kerberos_user:@kerberospostgres.AUTOSUITEAD.LOCAL:5432/automationsuite_airflow
postgresql+psycopg2://kerberos_user:@kerberospostgres.AUTOSUITEAD.LOCAL:5432/automationsuite_airflow

Cadena de conexión de muestra para usar la identidad administrada:

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

El puerto del servidor predeterminado puede configurarse para utilizar cualquier puerto disponible según los requisitos de tu sistema.

PgBouncer​

Dado que Airflow utiliza conexiones de corta duración, se recomienda encarecidamente configurar PgBouncer. PgBouncer es un agrupador de conexiones ligero para PostgreSQL.

Para obtener más información sobre cómo configurar PgBouncer, consulta la documentación oficial de PgBouncer.

AutomationSuite_ProcessMining_Warehouse database​

Process Mining en Automation Suite requiere un Microsoft SQL Server independiente para el AutomationSuite_ProcessMining_Warehouse para el almacenamiento de datos para las aplicaciones de proceso de Process Mining.

Importante:

Para garantizar el correcto funcionamiento de Process Mining, se recomienda utilizar Microsoft SQL Server 2022.

Esta es una descripción general de los requisitos de hardware y las recomendaciones para configurar una máquina de base de datos de Microsoft SQL Server para AutomationSuite_ProcessMining_Warehouse.

Para calcular los requisitos de hardware, es necesario tener información del:

  • número de eventos (millones) de su proceso.
  • the number of case and event fields in your output data.

En un entorno de desarrollo, se recomienda trabajar en un pequeño conjunto de datos de desarrollo con un número limitado de registros por razones de rendimiento.

You can use the UiPath Automation Suite Install Sizing Calculator to determine the hardware requirements for setting up a dedicated Microsoft SQL Server machine for Process Mining. When you add Process Mining to the Product section, the minimum requirements for 1 Dedicated SQL Server are displayed. For details, refer to Hardware requirements.

The SQL user used in the connection strings must have the db_securityadmin database-level role both during and post-installation to enable per app security on the Process Mining data warehouse SQL Server. For details, refer to the official Microsoft documentation on Database-level roles and Configuring process app security.

Se recomienda habilitar la distinción entre mayúsculas y minúsculas en los nombres de tablas y columnas utilizando el siguiente comando:

ALTER DATABASE AutomationSuite_ProcessMining_Warehouse COLLATE SQL_Latin1_General_CP1_CS_AS
ALTER DATABASE AutomationSuite_ProcessMining_Warehouse COLLATE SQL_Latin1_General_CP1_CS_AS

Esto evita errores al cargar datos causados por columnas con nombres similares, como ID e id. También garantiza que los valores textuales que solo difieren en el uso de mayúsculas se traten como distintos. Por ejemplo:

  • 'activity 1' == 'activity 1'
  • 'Activity 1' != 'activity 1'

Esto evita problemas de duplicación en las transformaciones SQL.

Requisitos de SQL para AI Center​

Requisitos para AI Center instalado en una máquina habilitada para FIPS 140-2​

Para instalar AI Center en una máquina habilitada para FIPS 140-2, realiza los siguientes pasos:

  1. Antes de iniciar la instalación de Automation Suite, realiza los siguientes pasos:
    1. Habilita FIPS 140-2 en la máquina en la que piensas instalar Microsoft Server siguiendo las instrucciones de Microsoft.
    2. Instala Microsoft SQL Server en la máquina habilitada para FIPS 140-2.
    3. Obtén el certificado de Microsoft SQL Server ejecutando el siguiente comando desde SQL Server o cualquier servidor que pueda conectarse a SQL Server con el nombre de host SQL configurado:
      nmap -sV -p <port> -vv --script ssl-cert domain
      nmap -sV -p <port> -vv --script ssl-cert domain
      
  2. Durante la instalación de Automation Suite, realiza los siguientes pasos:
    1. Anexa los siguientes valores a la cadena de conexión sql_connection_string_template_jdbc de AI Center en el archivo input.json: encrypt=true;trustServerCertificate=false;fips=true;.

      Ejemplo:

      jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=<your-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=<your-password>;encrypt=true;trustServerCertificate=false;fips=true;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
      

      For details on database configuration, refer to Advanced installation experience and Updating the SQL database.

    2. Add the exported cert from step 1.c. to the trust store of the host machine. For details refer to Updating the CA Certificates.

SQL requirements for HA​

Para una configuración de alta disponibilidad de tu SQL Server, selecciona un grupo de disponibilidad AlwaysOn. Para obtener más información, consulta Información general de los grupos de disponibilidad AlwaysOn.

Requisitos de SQL para Orchestrator​

Importante:

Para aumentar el rendimiento, evitar puntos muertos y prevenir lecturas sucias en SQL, asegúrate de que la opción READ_COMMITTED_SNAPSHOT está establecida como ON.

Para procesar la misma cola con varios robots y el aislamiento de instantáneas está activado, asegúrate de que la opción ALLOW_SNAPSHOT_ISOLATION esté establecida como ON.

Utiliza esta consulta para comprobar si READ_COMMITTED_SNAPSHOT y ALLOW_SNAPSHOT_ISOLATION están habilitados o deshabilitados:

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'

Asegúrate de reemplazar PLACEHOLDER por el nombre de tu base de datos de Orchestrator.

Si la configuración está habilitada, el valor devuelto será 1.

Si la configuración está deshabilitada, el valor devuelto será 0. Utiliza esta consulta para habilitarlo:

# 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

Asegúrate de reemplazar <PLACEHOLDER> por el nombre de tu base de datos de Orchestrator.

Si utilizas bases de datos diferentes para Probar automatización y/o Actualizar servidor, READ_COMMITTED_SNAPSHOT y ALLOW_SNAPSHOT_ISOLATION también deben estar habilitados en ellas.

Requisitos de SQL para Temporal como servicio (TaaS)​

Cuando Maestro está habilitado en Automation Suite, TaaS requiere dos bases de datos PostgreSQL dedicadas:

  • Almacén de persistencia (AutomationSuite_Taas): almacena los datos y el historial de ejecución del flujo de trabajo.
  • Almacén de visibilidad (AutomationSuite_Taas_Visibility): almacena los metadatos del flujo de trabajo utilizados por la IU temporal y las API de visibilidad. Requiere que la extensión btree_gin esté disponible en el servidor PostgreSQL.

Both databases are created automatically by the installer when sql.create_db is set to true. If you bring your own databases, create both before running the installer. For the default database names, refer to Default and optional DB names for Automation Suite services.

Para anular las cadenas de conexión para TaaS, utiliza postgresql_connection_string_template_sqlalchemy_pyodbc. Para el formato de la cadena de conexión, consulta Trae tus propias bases de datos.

Versiones de PostgreSQL compatibles​

Las versiones de PostgreSQL 12.x a 16.x son compatibles.

Requisitos de hardware​

Tamaño de la base de datos TaaS PostgreSQL en función del volumen de flujo de trabajo por día. Se utilizan tres perfiles de complejidad para el dimensionamiento:

  • Simple : aproximadamente 3 tareas BPMN por flujo de trabajo
  • Moderado : aproximadamente 25 tareas BPMN y 1 subproceso (5 tareas)
  • Complejo : aproximadamente 100 tareas BPMN y 3 subprocesos (5 tareas cada uno)

Busca la fila que coincida con tu carga de trabajo en cualquier columna (O, no Y) y lee los requisitos de hardware a la derecha. No es necesario cumplir los tres umbrales de columna simultáneamente. Para cargas de trabajo de complejidad mixta, utiliza la calculadora de capacidad de Automation Suite : las contribuciones en todos los niveles de complejidad son aditivas.

CPU y RAM​

La siguiente tabla describe los requisitos de CPU y RAM en función del volumen y la complejidad del flujo de trabajo diario:

Flujos de trabajo simples/díaFlujos de trabajo moderados/díaFlujos de trabajo complejos/díaCPURAM
< 12 500< 1900< 5252 núcleos virtuales4 GB
12 500–125 0001900–19 200525–52754 núcleos virtuales8 GB
Más de 125 000Más de 19 200Más de 52758 núcleos virtuales16 GB
Disco e IOPS​

El tamaño del disco depende del volumen del flujo de trabajo, la complejidad y el período de retención del proceso configurado en Orchestrator. Utiliza la calculadora de capacidad de Automation Suite para obtener una recomendación basada en la carga de trabajo. La siguiente tabla describe el disco y las IOPS recomendados en función de tu tamaño de estado estable:

Disco recomendadoIOP
100 GB500
150 GB800
250 GB1110
500 GB2300
1 TB5,000
Importante:

Se requiere SSD Premium (o equivalente). El SSD estándar no puede mantener el rendimiento de escritura TaaS más allá de una carga muy baja.

Leer réplica​

Opcional: recomendado para implementaciones de alta disponibilidad.

El servidor PostgreSQL debe compartir la ubicación con los componentes del clúster de TaaS (por ejemplo, en el mismo centro de datos). Este requisito se aplica tanto a la región primaria como a cualquier región pasiva o de conmutación por error.

Requisitos de conexión​

TaaS mantiene un grupo de conexiones del lado de la aplicación por pod. La siguiente tabla describe el valor max_connections necesario en función de tu perfil de implementación y el volumen de flujo de trabajo diario:

Flujos de trabajo simples/díaFlujos de trabajo moderados/díaFlujos de trabajo complejos/díapredeterminadoLiteja
< 12 500< 1900< 525200200400
12 500–125 0001900–19 200525–5275200400500
Más de 125 000Más de 19 200Más de 5275200600600
Importante:

El valor predeterminado de PostgreSQL max_connections es 100, que no es suficiente para cualquier perfil de TaaS. Utiliza la tabla anterior para determinar el valor necesario para tu perfil de implementación y volumen de flujo de trabajo, y aumenta max_connections en el servidor PostgreSQL antes de la instalación.

Restricciones de conexión​
  • TaaS no admite conexiones a través de pgBouncer.
  • Solo se admite la autenticación de nombre de usuario y contraseña. La identidad de carga de trabajo, Kerberos y la autenticación de IAM no son compatibles.

Ajustar el grupo de conexiones​

La configuración predeterminada del grupo de conexiones es adecuada para la mayoría de las implementaciones. Si tu instancia de PostgreSQL tiene un límite inferior de max_connections , anula los valores predeterminados utilizando advanced_configuration en input.json:

{
  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
Importante:

Reducir maxConns de forma agresiva puede causar tiempos de espera de persistencia de TaaS bajo carga. Ajusta estos valores solo si tu instancia de PostgreSQL no puede cumplir los requisitos de conexión predeterminados.

Requisitos de SQL para Autopilot para Developers (A4D)​

Autopilot™ para Developers requiere una base de datos PostgreSQL dedicada (AutomationSuite_A4D). A4D utiliza la plantilla de cadena de conexión postgresql_connection_string_template_sqlalchemy_asyncpg .

Requisitos de hardware​

La siguiente tabla describe los requisitos de hardware para el servidor A4D PostgreSQL:

RecursoRequisitos
CPU2 núcleos virtuales
Memoria8 GB de RAM
Almacenamiento128 GB
IOP100

Requisitos de conexión​

El valor max_connections requerido en el servidor PostgreSQL es 100.

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado