orchestrator
2023.10
false
- Primeros pasos
- Mejores prácticas
- Tenant
- Acerca del contexto de tenant
- Buscar recursos en un tenant
- Gestionar robots
- Conexión de los robots a Orchestrator
- Almacenar credenciales de robots en CyberArk
- Almacenar contraseñas de robots desatendidos en Azure Key Vault (solo lectura)
- Almacenar las credenciales de robots desatendidos en HashiCorp Vault (solo lectura)
- Almacenamiento de credenciales de Unattended Robot en AWS Secrets Manager (solo lectura)
- Eliminar sesiones desconectadas y sin respuesta no atendidas
- Autenticación de Robot
- Autenticación de robots con credenciales de cliente
- Autenticación por SmartCard
- Configurar las capacidades de automatización
- Auditoría
- Configuración: a nivel de tenant
- Servicio de catálogo de recursos
- Contexto de carpetas
- Automatizaciones
- Procesos
- Trabajos
- Desencadenadores
- Registros
- Supervisión
- Sobre la supervisión
- Máquinas
- Procesos
- Colas
- Colas SLA
- Exportar datos de uso
- Colas
- Activos
- Depósitos de almacenamiento
- Pruebas de Orchestrator
- Otras configuraciones
- Integraciones
- Administración de host
- Acerca del nivel del host
- Gestionar los administradores del sistema
- Gestión de tenants
- Configuración de las notificaciones por correo electrónico del sistema
- Registros de auditoría para el portal del host
- Modo de mantenimiento
- Administración de la organización
- Solución de problemas
Exportar datos de uso
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Guía del usuario de Orchestrator
Última actualización 22 de abr. de 2025
Exportar datos de uso
Esta sección proporciona instrucciones sobre cómo exportar un resumen de uso de alto nivel, incluidas las siguientes métricas relevantes:
- Duración de la ejecución del robot por mes, por tipo de robot.
- Simultaneidad de robots, es decir, el número máximo de robots que ejecutaron trabajos al mismo tiempo.
- Métricas en trabajos ejecutados.
- Tasa de fallos de trabajo.
- Métricas en los procesos ejecutados.
- Métricas en artículos en cola.
- Métricas sobre los usuarios.
- Información del entorno.
El resultado de la exportación de datos es un archivo
output.xml
.
Nota: Puedes cargar el archivo de datos exportado en el Customer Portal de UiPath®, para ayudarnos a comprender mejor el uso y ofrecerte una mejor asistencia.
Para exportar datos de uso a través de SQL Server Management Studio o la utilidad
sqlcmd
, utilizando PowerShell, sigue las instrucciones de las siguientes secciones.
Para exportar datos de uso a través de SQL Server Management Studio:
- Copia el siguiente script SQL en el editor:
-- uncomment the below line if running from sqlcmd, :XML is directive for sqlcmd -- :XML ON DECLARE @monthsBack INT = 6 IF OBJECT_ID('tempdb..#TenantsAndAccounts') IS NOT NULL DROP TABLE #TenantsAndAccounts; DECLARE @lastMigrationId NVARCHAR(50) = '' IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = '__MigrationHistory')) BEGIN SET @lastMigrationId = (SELECT TOP 1 [MigrationId] FROM [dbo].[__MigrationHistory] ORDER BY MigrationId DESC) END IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = '__EFMigrationsHistory')) BEGIN SET @lastMigrationId = (SELECT TOP 1 [MigrationId] FROM [dbo].__EFMigrationsHistory ORDER BY MigrationId DESC) END SET NOCOUNT ON DECLARE @startTime DATETIME = DATEADD(month, DATEDIFF(month, 0, DATEADD(MONTH, -@monthsBack, GETUTCDATE())), 0) SELECT [Id], [Key], [AccountId] INTO #TenantsAndAccounts FROM [Tenants] WITH(NOLOCK) ;WITH TransitionStatesCTE AS ( SELECT je.[TenantId], je.[State], je.[CreationTime], j.[RuntimeType], LEAD(je.[CreationTime]) OVER (PARTITION BY je.[JobId] ORDER BY je.[CreationTime]) as NextCreationTime, LEAD(je.[State]) OVER (PARTITION BY je.[JobId] ORDER BY je.[CreationTime]) as NextAction FROM [dbo].[JobEvents] je WITH(NOLOCK) JOIN [dbo].[Jobs] j WITH(NOLOCK) ON j.[Id] = je.[JobId] WHERE je.[CreationTime] >= @startTime ), MaxConcurrency AS ( SELECT je.[TenantId], je.[CreationTime], j.[RuntimeType], je.State, SUM(CASE WHEN je.[State] = 1 THEN 1 WHEN je.[State] IN (4, 5, 6, 7) AND je.[PreviousState] IN (1, 2, 3) THEN -1 ELSE 0 END) OVER ( PARTITION BY j.[RuntimeType], je.[TenantId] ORDER BY je.[CreationTime] ASC) AS RunningTotal FROM JobEvents je WITH(NOLOCK) JOIN [dbo].[Jobs] j WITH(NOLOCK) ON j.[Id] = je.[JobId] WHERE j.[CreationTime] >= @startTime), CombinedResults AS ( SELECT [Name], [Value] FROM [dbo].[Settings] WITH(NOLOCK) WHERE [Name] = 'Legacy.InstallationId' OR [Name] = 'InstallationId' UNION SELECT 'LastAppliedMigrationId' AS [Name], @lastMigrationId AS [Value] UNION SELECT 'ExportDate' AS [Name], CONVERT(NVARCHAR(50), GETUTCDATE(), 126) AS [Value] ) SELECT ( (SELECT OrganizationKey, TenantKey, [Date], ( SELECT RuntimeType FOR XML PATH(''), TYPE, ELEMENTS ) AS Custom, RuntimeType AS DeDup, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, tcte.RuntimeType, EOMONTH(tcte.[CreationTime]) AS [Date], SUM(DATEDIFF(SECOND, tcte.[CreationTime], tcte.[NextCreationTime])) AS JobsExecutionDurationSeconds FROM TransitionStatesCTE tcte JOIN #TenantsAndAccounts t ON t.[Id] = tcte.[TenantId] WHERE tcte.[State] IN (1, 2, 3) AND tcte.[NextAction] IN (2, 3, 4, 5, 6, 7) GROUP BY EOMONTH(tcte.[CreationTime]), t.[Key], t.[AccountId], tcte.[RuntimeType], tcte.[TenantId]) AS SummaryData UNPIVOT (Value FOR Name IN (JobsExecutionDurationSeconds)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE)), (SELECT OrganizationKey, TenantKey, [Date], ( SELECT RuntimeType FOR XML PATH(''), TYPE, ELEMENTS ) AS Custom, RuntimeType AS DeDup, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, mc.[RuntimeType], EOMONTH(mc.[CreationTime]) AS [Date], MAX(mc.[RunningTotal]) AS JobsMaxConcurrency FROM [MaxConcurrency] mc JOIN #TenantsAndAccounts t ON t.[Id] = mc.[TenantId] GROUP BY EOMONTH(mc.[CreationTime]), t.[Key], t.[AccountId], mc.[RuntimeType]) AS SummaryData UNPIVOT (Value FOR Name IN (JobsMaxConcurrency)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE) , (SELECT OrganizationKey, TenantKey, [Date], Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, EOMONTH([CreationTime]) AS [Date], COUNT(1) AS 'ProcessesCreatedCount' FROM [dbo].[Releases] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [IsDeleted] = 0 GROUP BY EOMONTH([CreationTime]), t.[Key], t.[AccountId]) AS SummaryData UNPIVOT (Value FOR Name IN (ProcessesCreatedCount)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE), (SELECT OrganizationKey, TenantKey, [Date], ( SELECT RuntimeType FOR XML PATH(''), TYPE, ELEMENTS ) AS Custom, RuntimeType AS DeDup, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, EOMONTH([CreationTime]) AS [Date], [RuntimeType], CAST(COUNT(1) AS NVARCHAR(50)) AS 'JobsCreated', CAST(SUM(CASE WHEN [State] = 5 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsStateSuccessfulCount', CAST(SUM(CASE WHEN [State] = 4 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsStateFaultedCount', CAST(SUM(CASE WHEN [ResumeVersion] <> NULL THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsStateWentThroughSuspendedCount', CAST(SUM(CASE WHEN [Source] = 0 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsSourceManualCount', CAST(SUM(CASE WHEN [Source] = 1 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsSourceScheduleCount', CAST(SUM(CASE WHEN [Source] = 2 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsSourceQueueCount', CAST(SUM(CASE WHEN [Source] = 12 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsSourceAssistantCount', CAST(COUNT(DISTINCT(CASE WHEN [State] IN (4, 5) THEN RobotId END)) AS NVARCHAR(50)) AS 'JobsExecutionsDistinctRobotsCount', CAST(MIN(CASE WHEN [State] IN (4,5) THEN [CreationTime] ELSE GETUTCDATE() END) AS NVARCHAR(50)) AS 'JobsCreatedMinimumCreationTime', CAST(MAX(CASE WHEN [State] IN (4,5) THEN [CreationTime] ELSE GETUTCDATE() END) AS NVARCHAR(50)) AS 'JobsCreatedMaximumCreationTime' FROM [dbo].[Jobs] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [CreationTime] >= @startTime GROUP BY EOMONTH([CreationTime]), t.[Key], t.[AccountId], RuntimeType) AS SummaryData UNPIVOT (Value FOR Name IN (JobsCreated, JobsStateSuccessfulCount, JobsStateFaultedCount, JobsStateWentThroughSuspendedCount, JobsSourceManualCount, JobsSourceScheduleCount, JobsSourceQueueCount, JobsSourceAssistantCount, JobsExecutionsDistinctRobotsCount, JobsCreatedMinimumCreationTime, JobsCreatedMaximumCreationTime)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE), (SELECT OrganizationKey, TenantKey, [Date], Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, EOMONTH([CreationTime]) AS [Date], COUNT(1) AS 'QueueItemsCreated', SUM(CASE WHEN [Status] = 0 THEN 1 ELSE 0 END) AS 'QueueItemsStateNewCount', SUM(CASE WHEN [Status] = 2 THEN 1 ELSE 0 END) AS 'QueueItemsStateFailedCount', SUM(CASE WHEN [Status] = 3 THEN 1 ELSE 0 END) AS 'QueueItemsStateSuccessfulCount', SUM(CASE WHEN [Status] = 4 THEN 1 ELSE 0 END) AS 'QueueItemsStateAbandonedCount', SUM(CASE WHEN [Status] = 5 THEN 1 ELSE 0 END) AS 'QueueItemsStateRetriedCount', SUM(CASE WHEN [Status] = 6 THEN 1 ELSE 0 END) AS 'QueueItemsStateDeletedCount' FROM [dbo].[QueueItems] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [CreationTime] >= @startTime GROUP BY EOMONTH([CreationTime]), t.[Key], t.[AccountId]) AS SummaryData UNPIVOT (Value FOR Name IN (QueueItemsCreated, QueueItemsStateNewCount, QueueItemsStateFailedCount, QueueItemsStateSuccessfulCount, QueueItemsStateAbandonedCount, QueueItemsStateRetriedCount, QueueItemsStateDeletedCount)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE), (SELECT OrganizationKey, TenantKey, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, COUNT(1) AS 'UsersTotalCount', SUM(CASE WHEN AllowedSessions & 2 = 2 THEN 1 ELSE 0 END) AS 'UsersAllowedSessionAttendedCount', SUM(CASE WHEN AllowedSessions & 4 = 4 THEN 1 ELSE 0 END) AS 'UsersAllowedSessionUnattendedCount', SUM(CASE WHEN LicenseType = 1 THEN 1 ELSE 0 END) AS 'UsersRobotsAttendedCount', SUM(CASE WHEN LicenseType = 3 THEN 1 ELSE 0 END) AS 'UsersRobotsRpaDeveloperCount', SUM(CASE WHEN LicenseType = 4 THEN 1 ELSE 0 END) AS 'UsersRobotsCitizenDeveloperCount', SUM(CASE WHEN LicenseType = 6 THEN 1 ELSE 0 END) AS 'UsersRobotsRpaDeveloperProCount', SUM(CASE WHEN [Type] = 0 THEN 1 ELSE 0 END) AS 'UsersTypeUserCount', SUM(CASE WHEN [Type] = 1 THEN 1 ELSE 0 END) AS 'UsersTypeRobotCount', SUM(CASE WHEN [Type] = 2 THEN 1 ELSE 0 END) AS 'UsersTypeDirectoryUserCount', SUM(CASE WHEN [Type] = 3 THEN 1 ELSE 0 END) AS 'UsersTypeDirectoryGroupCount', SUM(CASE WHEN [Type] = 4 THEN 1 ELSE 0 END) AS 'UsersTypeDirectoryRobotCount', SUM(CASE WHEN [Type] = 5 THEN 1 ELSE 0 END) AS 'UsersTypeDirectoryExternalApplicationCount' FROM [dbo].[Users] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [IsDeleted] = 0 GROUP BY t.[Key], t.[AccountId]) AS SummaryData UNPIVOT (Value FOR Name IN (UsersTotalCount, UsersAllowedSessionAttendedCount, UsersAllowedSessionUnattendedCount, UsersRobotsAttendedCount, UsersRobotsRpaDeveloperCount, UsersRobotsCitizenDeveloperCount, UsersRobotsRpaDeveloperProCount, UsersTypeUserCount, UsersTypeRobotCount, UsersTypeDirectoryUserCount, UsersTypeDirectoryGroupCount, UsersTypeDirectoryRobotCount, UsersTypeDirectoryExternalApplicationCount)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE), (SELECT * FROM CombinedResults FOR XML PATH('Static'), TYPE), (SELECT OrganizationKey, TenantKey, ( SELECT [DeletionTime], [CreationTime], [LicenseId], [LicenseHostLicenseId] FOR XML PATH(''), TYPE, ELEMENTS ) AS Custom, LicenseId AS DeDup, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, l.[Id] AS 'LicenseId', l.[EncryptedLicenseInfo] AS 'LicenseInfo', l.[DeletionTime], l.[CreationTime], l.[HostLicenseId] AS 'LicenseHostLicenseId' FROM [dbo].[Licenses] l WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = l.[TenantId]) AS SummaryData UNPIVOT (Value FOR Name IN (LicenseInfo)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE), (SELECT OrganizationKey, TenantKey, [Date], ( SELECT [LicenseType] FOR XML PATH(''), TYPE, ELEMENTS ) AS Custom, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, cls.[Type] AS LicenseType, SUM(cls.Used) AS UsedLicenses, EOMONTH(cls.[Timestamp]) AS [Date] FROM [dbo].[ConsumptionLicenseStats] cls WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = cls.[TenantId] WHERE cls.[Timestamp] >= @startTime GROUP BY EOMONTH(cls.[Timestamp]), [Type], t.[Key], t.[AccountId]) AS SummaryData UNPIVOT (Value FOR Name IN (UsedLicenses)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE) FOR XML PATH('orchestrator') IF OBJECT_ID('tempdb..#TenantsAndAccounts') IS NOT NULL DROP TABLE #TenantsAndAccounts
-- uncomment the below line if running from sqlcmd, :XML is directive for sqlcmd -- :XML ON DECLARE @monthsBack INT = 6 IF OBJECT_ID('tempdb..#TenantsAndAccounts') IS NOT NULL DROP TABLE #TenantsAndAccounts; DECLARE @lastMigrationId NVARCHAR(50) = '' IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = '__MigrationHistory')) BEGIN SET @lastMigrationId = (SELECT TOP 1 [MigrationId] FROM [dbo].[__MigrationHistory] ORDER BY MigrationId DESC) END IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = '__EFMigrationsHistory')) BEGIN SET @lastMigrationId = (SELECT TOP 1 [MigrationId] FROM [dbo].__EFMigrationsHistory ORDER BY MigrationId DESC) END SET NOCOUNT ON DECLARE @startTime DATETIME = DATEADD(month, DATEDIFF(month, 0, DATEADD(MONTH, -@monthsBack, GETUTCDATE())), 0) SELECT [Id], [Key], [AccountId] INTO #TenantsAndAccounts FROM [Tenants] WITH(NOLOCK) ;WITH TransitionStatesCTE AS ( SELECT je.[TenantId], je.[State], je.[CreationTime], j.[RuntimeType], LEAD(je.[CreationTime]) OVER (PARTITION BY je.[JobId] ORDER BY je.[CreationTime]) as NextCreationTime, LEAD(je.[State]) OVER (PARTITION BY je.[JobId] ORDER BY je.[CreationTime]) as NextAction FROM [dbo].[JobEvents] je WITH(NOLOCK) JOIN [dbo].[Jobs] j WITH(NOLOCK) ON j.[Id] = je.[JobId] WHERE je.[CreationTime] >= @startTime ), MaxConcurrency AS ( SELECT je.[TenantId], je.[CreationTime], j.[RuntimeType], je.State, SUM(CASE WHEN je.[State] = 1 THEN 1 WHEN je.[State] IN (4, 5, 6, 7) AND je.[PreviousState] IN (1, 2, 3) THEN -1 ELSE 0 END) OVER ( PARTITION BY j.[RuntimeType], je.[TenantId] ORDER BY je.[CreationTime] ASC) AS RunningTotal FROM JobEvents je WITH(NOLOCK) JOIN [dbo].[Jobs] j WITH(NOLOCK) ON j.[Id] = je.[JobId] WHERE j.[CreationTime] >= @startTime), CombinedResults AS ( SELECT [Name], [Value] FROM [dbo].[Settings] WITH(NOLOCK) WHERE [Name] = 'Legacy.InstallationId' OR [Name] = 'InstallationId' UNION SELECT 'LastAppliedMigrationId' AS [Name], @lastMigrationId AS [Value] UNION SELECT 'ExportDate' AS [Name], CONVERT(NVARCHAR(50), GETUTCDATE(), 126) AS [Value] ) SELECT ( (SELECT OrganizationKey, TenantKey, [Date], ( SELECT RuntimeType FOR XML PATH(''), TYPE, ELEMENTS ) AS Custom, RuntimeType AS DeDup, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, tcte.RuntimeType, EOMONTH(tcte.[CreationTime]) AS [Date], SUM(DATEDIFF(SECOND, tcte.[CreationTime], tcte.[NextCreationTime])) AS JobsExecutionDurationSeconds FROM TransitionStatesCTE tcte JOIN #TenantsAndAccounts t ON t.[Id] = tcte.[TenantId] WHERE tcte.[State] IN (1, 2, 3) AND tcte.[NextAction] IN (2, 3, 4, 5, 6, 7) GROUP BY EOMONTH(tcte.[CreationTime]), t.[Key], t.[AccountId], tcte.[RuntimeType], tcte.[TenantId]) AS SummaryData UNPIVOT (Value FOR Name IN (JobsExecutionDurationSeconds)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE)), (SELECT OrganizationKey, TenantKey, [Date], ( SELECT RuntimeType FOR XML PATH(''), TYPE, ELEMENTS ) AS Custom, RuntimeType AS DeDup, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, mc.[RuntimeType], EOMONTH(mc.[CreationTime]) AS [Date], MAX(mc.[RunningTotal]) AS JobsMaxConcurrency FROM [MaxConcurrency] mc JOIN #TenantsAndAccounts t ON t.[Id] = mc.[TenantId] GROUP BY EOMONTH(mc.[CreationTime]), t.[Key], t.[AccountId], mc.[RuntimeType]) AS SummaryData UNPIVOT (Value FOR Name IN (JobsMaxConcurrency)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE) , (SELECT OrganizationKey, TenantKey, [Date], Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, EOMONTH([CreationTime]) AS [Date], COUNT(1) AS 'ProcessesCreatedCount' FROM [dbo].[Releases] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [IsDeleted] = 0 GROUP BY EOMONTH([CreationTime]), t.[Key], t.[AccountId]) AS SummaryData UNPIVOT (Value FOR Name IN (ProcessesCreatedCount)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE), (SELECT OrganizationKey, TenantKey, [Date], ( SELECT RuntimeType FOR XML PATH(''), TYPE, ELEMENTS ) AS Custom, RuntimeType AS DeDup, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, EOMONTH([CreationTime]) AS [Date], [RuntimeType], CAST(COUNT(1) AS NVARCHAR(50)) AS 'JobsCreated', CAST(SUM(CASE WHEN [State] = 5 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsStateSuccessfulCount', CAST(SUM(CASE WHEN [State] = 4 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsStateFaultedCount', CAST(SUM(CASE WHEN [ResumeVersion] <> NULL THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsStateWentThroughSuspendedCount', CAST(SUM(CASE WHEN [Source] = 0 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsSourceManualCount', CAST(SUM(CASE WHEN [Source] = 1 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsSourceScheduleCount', CAST(SUM(CASE WHEN [Source] = 2 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsSourceQueueCount', CAST(SUM(CASE WHEN [Source] = 12 THEN 1 ELSE 0 END) AS NVARCHAR(50)) AS 'JobsSourceAssistantCount', CAST(COUNT(DISTINCT(CASE WHEN [State] IN (4, 5) THEN RobotId END)) AS NVARCHAR(50)) AS 'JobsExecutionsDistinctRobotsCount', CAST(MIN(CASE WHEN [State] IN (4,5) THEN [CreationTime] ELSE GETUTCDATE() END) AS NVARCHAR(50)) AS 'JobsCreatedMinimumCreationTime', CAST(MAX(CASE WHEN [State] IN (4,5) THEN [CreationTime] ELSE GETUTCDATE() END) AS NVARCHAR(50)) AS 'JobsCreatedMaximumCreationTime' FROM [dbo].[Jobs] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [CreationTime] >= @startTime GROUP BY EOMONTH([CreationTime]), t.[Key], t.[AccountId], RuntimeType) AS SummaryData UNPIVOT (Value FOR Name IN (JobsCreated, JobsStateSuccessfulCount, JobsStateFaultedCount, JobsStateWentThroughSuspendedCount, JobsSourceManualCount, JobsSourceScheduleCount, JobsSourceQueueCount, JobsSourceAssistantCount, JobsExecutionsDistinctRobotsCount, JobsCreatedMinimumCreationTime, JobsCreatedMaximumCreationTime)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE), (SELECT OrganizationKey, TenantKey, [Date], Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, EOMONTH([CreationTime]) AS [Date], COUNT(1) AS 'QueueItemsCreated', SUM(CASE WHEN [Status] = 0 THEN 1 ELSE 0 END) AS 'QueueItemsStateNewCount', SUM(CASE WHEN [Status] = 2 THEN 1 ELSE 0 END) AS 'QueueItemsStateFailedCount', SUM(CASE WHEN [Status] = 3 THEN 1 ELSE 0 END) AS 'QueueItemsStateSuccessfulCount', SUM(CASE WHEN [Status] = 4 THEN 1 ELSE 0 END) AS 'QueueItemsStateAbandonedCount', SUM(CASE WHEN [Status] = 5 THEN 1 ELSE 0 END) AS 'QueueItemsStateRetriedCount', SUM(CASE WHEN [Status] = 6 THEN 1 ELSE 0 END) AS 'QueueItemsStateDeletedCount' FROM [dbo].[QueueItems] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [CreationTime] >= @startTime GROUP BY EOMONTH([CreationTime]), t.[Key], t.[AccountId]) AS SummaryData UNPIVOT (Value FOR Name IN (QueueItemsCreated, QueueItemsStateNewCount, QueueItemsStateFailedCount, QueueItemsStateSuccessfulCount, QueueItemsStateAbandonedCount, QueueItemsStateRetriedCount, QueueItemsStateDeletedCount)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE), (SELECT OrganizationKey, TenantKey, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, COUNT(1) AS 'UsersTotalCount', SUM(CASE WHEN AllowedSessions & 2 = 2 THEN 1 ELSE 0 END) AS 'UsersAllowedSessionAttendedCount', SUM(CASE WHEN AllowedSessions & 4 = 4 THEN 1 ELSE 0 END) AS 'UsersAllowedSessionUnattendedCount', SUM(CASE WHEN LicenseType = 1 THEN 1 ELSE 0 END) AS 'UsersRobotsAttendedCount', SUM(CASE WHEN LicenseType = 3 THEN 1 ELSE 0 END) AS 'UsersRobotsRpaDeveloperCount', SUM(CASE WHEN LicenseType = 4 THEN 1 ELSE 0 END) AS 'UsersRobotsCitizenDeveloperCount', SUM(CASE WHEN LicenseType = 6 THEN 1 ELSE 0 END) AS 'UsersRobotsRpaDeveloperProCount', SUM(CASE WHEN [Type] = 0 THEN 1 ELSE 0 END) AS 'UsersTypeUserCount', SUM(CASE WHEN [Type] = 1 THEN 1 ELSE 0 END) AS 'UsersTypeRobotCount', SUM(CASE WHEN [Type] = 2 THEN 1 ELSE 0 END) AS 'UsersTypeDirectoryUserCount', SUM(CASE WHEN [Type] = 3 THEN 1 ELSE 0 END) AS 'UsersTypeDirectoryGroupCount', SUM(CASE WHEN [Type] = 4 THEN 1 ELSE 0 END) AS 'UsersTypeDirectoryRobotCount', SUM(CASE WHEN [Type] = 5 THEN 1 ELSE 0 END) AS 'UsersTypeDirectoryExternalApplicationCount' FROM [dbo].[Users] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [IsDeleted] = 0 GROUP BY t.[Key], t.[AccountId]) AS SummaryData UNPIVOT (Value FOR Name IN (UsersTotalCount, UsersAllowedSessionAttendedCount, UsersAllowedSessionUnattendedCount, UsersRobotsAttendedCount, UsersRobotsRpaDeveloperCount, UsersRobotsCitizenDeveloperCount, UsersRobotsRpaDeveloperProCount, UsersTypeUserCount, UsersTypeRobotCount, UsersTypeDirectoryUserCount, UsersTypeDirectoryGroupCount, UsersTypeDirectoryRobotCount, UsersTypeDirectoryExternalApplicationCount)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE), (SELECT * FROM CombinedResults FOR XML PATH('Static'), TYPE), (SELECT OrganizationKey, TenantKey, ( SELECT [DeletionTime], [CreationTime], [LicenseId], [LicenseHostLicenseId] FOR XML PATH(''), TYPE, ELEMENTS ) AS Custom, LicenseId AS DeDup, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, l.[Id] AS 'LicenseId', l.[EncryptedLicenseInfo] AS 'LicenseInfo', l.[DeletionTime], l.[CreationTime], l.[HostLicenseId] AS 'LicenseHostLicenseId' FROM [dbo].[Licenses] l WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = l.[TenantId]) AS SummaryData UNPIVOT (Value FOR Name IN (LicenseInfo)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE), (SELECT OrganizationKey, TenantKey, [Date], ( SELECT [LicenseType] FOR XML PATH(''), TYPE, ELEMENTS ) AS Custom, Name, Value FROM ( SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, cls.[Type] AS LicenseType, SUM(cls.Used) AS UsedLicenses, EOMONTH(cls.[Timestamp]) AS [Date] FROM [dbo].[ConsumptionLicenseStats] cls WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = cls.[TenantId] WHERE cls.[Timestamp] >= @startTime GROUP BY EOMONTH(cls.[Timestamp]), [Type], t.[Key], t.[AccountId]) AS SummaryData UNPIVOT (Value FOR Name IN (UsedLicenses)) AS UnpivotedData FOR XML PATH('Tenant'), TYPE) FOR XML PATH('orchestrator') IF OBJECT_ID('tempdb..#TenantsAndAccounts') IS NOT NULL DROP TABLE #TenantsAndAccounts - Ejecuta el script SQL.
- En el menú contextual, selecciona Resultados a y, a continuación, Resultados a cuadrícula. Esta opción produce un archivo XML.
Nota: al seleccionar la opción Resultados a texto o la opción Resultados a archivo se truncan los datos exportados.
- Abre el archivo XML en SQL Server Management Studio y, a continuación, guarda el archivo.
- Opcionalmente, cargue el archivo XML en el Customer Portal de UiPath®.
Para exportar datos de uso a través de la utilidad
sqlcmd
:
- Copia el siguiente código en un editor de texto y guárdalo como un archivo SQL llamado
ExportScriptOrchMSI.sql
:DECLARE @monthsBack INT = 6 SET NOCOUNT ON DECLARE @startTime DATETIME = DATEADD(month, DATEDIFF(month, 0, DATEADD(MONTH, -@monthsBack, GETUTCDATE())), 0) SELECT [Id], [Key], [AccountId] INTO #TenantsAndAccounts FROM [Tenants] WITH(NOLOCK) ;WITH TransitionStatesCTE AS ( SELECT je.[TenantId], je.[State], je.[CreationTime], j.[RuntimeType], LEAD(je.[CreationTime]) OVER (PARTITION BY je.[JobId] ORDER BY je.[CreationTime]) as NextCreationTime, LEAD(je.[State]) OVER (PARTITION BY je.[JobId] ORDER BY je.[CreationTime]) as NextAction FROM [dbo].[JobEvents] je WITH(NOLOCK) JOIN [dbo].[Jobs] j WITH(NOLOCK) ON j.[Id] = je.[JobId] WHERE je.[CreationTime] > @startTime ) SELECT tcte.[TenantId], t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, tcte.RuntimeType, FORMAT(tcte.[CreationTime], 'MM.yyyy') AS [Date], SUM(DATEDIFF(SECOND, tcte.[CreationTime], tcte.[NextCreationTime])) as ExecutionDurationSeconds, 'JobExecutionTime' AS DatasetName FROM TransitionStatesCTE tcte JOIN #TenantsAndAccounts t ON t.[Id] = tcte.[TenantId] WHERE tcte.[State] IN (1, 2, 3) AND tcte.[NextAction] IN (2, 3, 4, 5, 6, 7) GROUP BY FORMAT(tcte.[CreationTime], 'MM.yyyy'), t.[Key], t.[AccountId], tcte.[RuntimeType], tcte.[TenantId] SELECT [TenantId], t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, FORMAT([CreationTime], 'MM.yyyy') AS [Date], COUNT(1) AS 'Processes.Created.Count', 'NumberOfProcesses' AS DatasetName FROM [dbo].[Releases] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [IsDeleted] = 0 GROUP BY TenantId, FORMAT([CreationTime], 'MM.yyyy'), t.[Key], t.[AccountId] SELECT TenantId, t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, FORMAT([CreationTime], 'MM.yyyy') AS [Date], [RuntimeType], COUNT(1) AS 'Jobs.Created', SUM(CASE WHEN [State] = 5 THEN 1 ELSE 0 END) AS 'Jobs.State.Successful.Count', SUM(CASE WHEN [State] = 4 THEN 1 ELSE 0 END) AS 'Jobs.State.Faulted.Count', SUM(CASE WHEN [ResumeVersion] <> NULL THEN 1 ELSE 0 END) AS 'Jobs.State.WentThroughSuspended.Count', SUM(CASE WHEN [Source] = 0 THEN 1 ELSE 0 END) AS 'Jobs.Source.Manual.Count', SUM(CASE WHEN [Source] = 1 THEN 1 ELSE 0 END) AS 'Jobs.Source.Schedule.Count', SUM(CASE WHEN [Source] = 2 THEN 1 ELSE 0 END) AS 'Jobs.Source.Queue.Count', SUM(CASE WHEN [Source] = 12 THEN 1 ELSE 0 END) AS 'Jobs.Source.Assistant.Count', COUNT(DISTINCT(CASE WHEN [State] IN (4, 5) THEN RobotId END)) AS 'Jobs.Executions.DistinctRobots.Count', MIN(CASE WHEN [State] IN (4,5) THEN [CreationTime] ELSE GETUTCDATE() END) AS 'Jobs.Created.MinimumCreationTime', MAX(CASE WHEN [State] IN (4,5) THEN [CreationTime] ELSE GETUTCDATE() END) AS 'Jobs.Created.MaximumCreationTime', 'JobsMetrics' AS DatasetName FROM [dbo].[Jobs] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [CreationTime] > @startTime GROUP BY FORMAT([CreationTime], 'MM.yyyy'), t.[Key], t.[AccountId], RuntimeType, [TenantId] SELECT [TenantId], t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, FORMAT([CreationTime], 'MM.yyyy') AS [Date], COUNT(1) AS 'QueueItems.Created', SUM(CASE WHEN [Status] = 0 THEN 1 ELSE 0 END) AS 'QueueItems.State.New.Count', SUM(CASE WHEN [Status] = 2 THEN 1 ELSE 0 END) AS 'QueueItems.State.Failed.Count', SUM(CASE WHEN [Status] = 3 THEN 1 ELSE 0 END) AS 'QueueItems.State.Successful.Count', SUM(CASE WHEN [Status] = 4 THEN 1 ELSE 0 END) AS 'QueueItems.State.Abandoned.Count', SUM(CASE WHEN [Status] = 5 THEN 1 ELSE 0 END) AS 'QueueItems.State.Retried.Count', SUM(CASE WHEN [Status] = 6 THEN 1 ELSE 0 END) AS 'QueueItems.State.Deleted.Count', 'QueueItemsMetrics' AS DatasetName FROM [dbo].[QueueItems] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [CreationTime] > @startTime GROUP BY FORMAT([CreationTime], 'MM.yyyy'), [TenantId], t.[Key], t.[AccountId] SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, TenantId, COUNT(1) AS 'Users.Total.Count', SUM(CASE WHEN AllowedSessions & 2 = 2 THEN 1 ELSE 0 END) AS 'Users.AllowedSession.Attended.Count', SUM(CASE WHEN AllowedSessions & 4 = 4 THEN 1 ELSE 0 END) AS 'Users.AllowedSession.Unattended.Count', SUM(CASE WHEN LicenseType = 1 THEN 1 ELSE 0 END) AS 'Users.Robots.Attended.Count', SUM(CASE WHEN LicenseType = 3 THEN 1 ELSE 0 END) AS 'Users.Robots.RpaDeveloper.Count', SUM(CASE WHEN LicenseType = 4 THEN 1 ELSE 0 END) AS 'Users.Robots.CitizenDeveloper.Count', SUM(CASE WHEN LicenseType = 6 THEN 1 ELSE 0 END) AS 'Users.Robots.RpaDeveloperPro.Count', SUM(CASE WHEN [Type] = 0 THEN 1 ELSE 0 END) AS 'Users.Type.User.Count', SUM(CASE WHEN [Type] = 1 THEN 1 ELSE 0 END) AS 'Users.Type.Robot.Count', SUM(CASE WHEN [Type] = 2 THEN 1 ELSE 0 END) AS 'Users.Type.DirectoryUser.Count', SUM(CASE WHEN [Type] = 3 THEN 1 ELSE 0 END) AS 'Users.Type.DirectoryGroup.Count', SUM(CASE WHEN [Type] = 4 THEN 1 ELSE 0 END) AS 'Users.Type.DirectoryRobot.Count', SUM(CASE WHEN [Type] = 5 THEN 1 ELSE 0 END) AS 'Users.Type.DirectoryExternalApplication.Count', 'UsersMetrics' AS DatasetName FROM [dbo].[Users] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [IsDeleted] = 0 GROUP BY [TenantId], t.[Key], t.[AccountId] DECLARE @lastMigrationId NVARCHAR(50) = '' IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = '__MigrationHistory')) BEGIN SET @lastMigrationId = (SELECT TOP 1 [MigrationId] FROM [dbo].[__MigrationHistory] ORDER BY MigrationId DESC) END IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = '__EFMigrationsHistory')) BEGIN SET @lastMigrationId = (SELECT TOP 1 [MigrationId] FROM [dbo].__EFMigrationsHistory ORDER BY MigrationId DESC) END SELECT [Name], [Value], 'EnvironmentSettings' AS DatasetName FROM [dbo].[Settings] WITH(NOLOCK) WHERE [Name] = 'Legacy.InstallationId' OR [Name] = 'InstallationId' UNION SELECT 'LastAppliedMigrationId' AS [Name], @lastMigrationId AS [Value], 'EnvironmentSettings' AS DatasetName SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, l.[TenantId], l.[Id] AS 'License.Id', l.[EncryptedLicenseInfo] AS 'License.Info', l.[DeletionTime] AS 'License.DeletionTime', l.[CreationTime] AS 'License.CreationTime', l.[HostLicenseId] AS 'License.HostLicenseId', 'LicenseInfoDataSet' as DatasetName FROM [dbo].[Licenses] l LEFT JOIN #TenantsAndAccounts t ON t.[Id] = l.[TenantId] IF OBJECT_ID('tempdb..#TenantsAndAccounts') IS NOT NULL DROP TABLE #TenantsAndAccounts
DECLARE @monthsBack INT = 6 SET NOCOUNT ON DECLARE @startTime DATETIME = DATEADD(month, DATEDIFF(month, 0, DATEADD(MONTH, -@monthsBack, GETUTCDATE())), 0) SELECT [Id], [Key], [AccountId] INTO #TenantsAndAccounts FROM [Tenants] WITH(NOLOCK) ;WITH TransitionStatesCTE AS ( SELECT je.[TenantId], je.[State], je.[CreationTime], j.[RuntimeType], LEAD(je.[CreationTime]) OVER (PARTITION BY je.[JobId] ORDER BY je.[CreationTime]) as NextCreationTime, LEAD(je.[State]) OVER (PARTITION BY je.[JobId] ORDER BY je.[CreationTime]) as NextAction FROM [dbo].[JobEvents] je WITH(NOLOCK) JOIN [dbo].[Jobs] j WITH(NOLOCK) ON j.[Id] = je.[JobId] WHERE je.[CreationTime] > @startTime ) SELECT tcte.[TenantId], t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, tcte.RuntimeType, FORMAT(tcte.[CreationTime], 'MM.yyyy') AS [Date], SUM(DATEDIFF(SECOND, tcte.[CreationTime], tcte.[NextCreationTime])) as ExecutionDurationSeconds, 'JobExecutionTime' AS DatasetName FROM TransitionStatesCTE tcte JOIN #TenantsAndAccounts t ON t.[Id] = tcte.[TenantId] WHERE tcte.[State] IN (1, 2, 3) AND tcte.[NextAction] IN (2, 3, 4, 5, 6, 7) GROUP BY FORMAT(tcte.[CreationTime], 'MM.yyyy'), t.[Key], t.[AccountId], tcte.[RuntimeType], tcte.[TenantId] SELECT [TenantId], t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, FORMAT([CreationTime], 'MM.yyyy') AS [Date], COUNT(1) AS 'Processes.Created.Count', 'NumberOfProcesses' AS DatasetName FROM [dbo].[Releases] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [IsDeleted] = 0 GROUP BY TenantId, FORMAT([CreationTime], 'MM.yyyy'), t.[Key], t.[AccountId] SELECT TenantId, t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, FORMAT([CreationTime], 'MM.yyyy') AS [Date], [RuntimeType], COUNT(1) AS 'Jobs.Created', SUM(CASE WHEN [State] = 5 THEN 1 ELSE 0 END) AS 'Jobs.State.Successful.Count', SUM(CASE WHEN [State] = 4 THEN 1 ELSE 0 END) AS 'Jobs.State.Faulted.Count', SUM(CASE WHEN [ResumeVersion] <> NULL THEN 1 ELSE 0 END) AS 'Jobs.State.WentThroughSuspended.Count', SUM(CASE WHEN [Source] = 0 THEN 1 ELSE 0 END) AS 'Jobs.Source.Manual.Count', SUM(CASE WHEN [Source] = 1 THEN 1 ELSE 0 END) AS 'Jobs.Source.Schedule.Count', SUM(CASE WHEN [Source] = 2 THEN 1 ELSE 0 END) AS 'Jobs.Source.Queue.Count', SUM(CASE WHEN [Source] = 12 THEN 1 ELSE 0 END) AS 'Jobs.Source.Assistant.Count', COUNT(DISTINCT(CASE WHEN [State] IN (4, 5) THEN RobotId END)) AS 'Jobs.Executions.DistinctRobots.Count', MIN(CASE WHEN [State] IN (4,5) THEN [CreationTime] ELSE GETUTCDATE() END) AS 'Jobs.Created.MinimumCreationTime', MAX(CASE WHEN [State] IN (4,5) THEN [CreationTime] ELSE GETUTCDATE() END) AS 'Jobs.Created.MaximumCreationTime', 'JobsMetrics' AS DatasetName FROM [dbo].[Jobs] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [CreationTime] > @startTime GROUP BY FORMAT([CreationTime], 'MM.yyyy'), t.[Key], t.[AccountId], RuntimeType, [TenantId] SELECT [TenantId], t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, FORMAT([CreationTime], 'MM.yyyy') AS [Date], COUNT(1) AS 'QueueItems.Created', SUM(CASE WHEN [Status] = 0 THEN 1 ELSE 0 END) AS 'QueueItems.State.New.Count', SUM(CASE WHEN [Status] = 2 THEN 1 ELSE 0 END) AS 'QueueItems.State.Failed.Count', SUM(CASE WHEN [Status] = 3 THEN 1 ELSE 0 END) AS 'QueueItems.State.Successful.Count', SUM(CASE WHEN [Status] = 4 THEN 1 ELSE 0 END) AS 'QueueItems.State.Abandoned.Count', SUM(CASE WHEN [Status] = 5 THEN 1 ELSE 0 END) AS 'QueueItems.State.Retried.Count', SUM(CASE WHEN [Status] = 6 THEN 1 ELSE 0 END) AS 'QueueItems.State.Deleted.Count', 'QueueItemsMetrics' AS DatasetName FROM [dbo].[QueueItems] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [CreationTime] > @startTime GROUP BY FORMAT([CreationTime], 'MM.yyyy'), [TenantId], t.[Key], t.[AccountId] SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, TenantId, COUNT(1) AS 'Users.Total.Count', SUM(CASE WHEN AllowedSessions & 2 = 2 THEN 1 ELSE 0 END) AS 'Users.AllowedSession.Attended.Count', SUM(CASE WHEN AllowedSessions & 4 = 4 THEN 1 ELSE 0 END) AS 'Users.AllowedSession.Unattended.Count', SUM(CASE WHEN LicenseType = 1 THEN 1 ELSE 0 END) AS 'Users.Robots.Attended.Count', SUM(CASE WHEN LicenseType = 3 THEN 1 ELSE 0 END) AS 'Users.Robots.RpaDeveloper.Count', SUM(CASE WHEN LicenseType = 4 THEN 1 ELSE 0 END) AS 'Users.Robots.CitizenDeveloper.Count', SUM(CASE WHEN LicenseType = 6 THEN 1 ELSE 0 END) AS 'Users.Robots.RpaDeveloperPro.Count', SUM(CASE WHEN [Type] = 0 THEN 1 ELSE 0 END) AS 'Users.Type.User.Count', SUM(CASE WHEN [Type] = 1 THEN 1 ELSE 0 END) AS 'Users.Type.Robot.Count', SUM(CASE WHEN [Type] = 2 THEN 1 ELSE 0 END) AS 'Users.Type.DirectoryUser.Count', SUM(CASE WHEN [Type] = 3 THEN 1 ELSE 0 END) AS 'Users.Type.DirectoryGroup.Count', SUM(CASE WHEN [Type] = 4 THEN 1 ELSE 0 END) AS 'Users.Type.DirectoryRobot.Count', SUM(CASE WHEN [Type] = 5 THEN 1 ELSE 0 END) AS 'Users.Type.DirectoryExternalApplication.Count', 'UsersMetrics' AS DatasetName FROM [dbo].[Users] WITH(NOLOCK) JOIN #TenantsAndAccounts t ON t.[Id] = [TenantId] WHERE [IsDeleted] = 0 GROUP BY [TenantId], t.[Key], t.[AccountId] DECLARE @lastMigrationId NVARCHAR(50) = '' IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = '__MigrationHistory')) BEGIN SET @lastMigrationId = (SELECT TOP 1 [MigrationId] FROM [dbo].[__MigrationHistory] ORDER BY MigrationId DESC) END IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = '__EFMigrationsHistory')) BEGIN SET @lastMigrationId = (SELECT TOP 1 [MigrationId] FROM [dbo].__EFMigrationsHistory ORDER BY MigrationId DESC) END SELECT [Name], [Value], 'EnvironmentSettings' AS DatasetName FROM [dbo].[Settings] WITH(NOLOCK) WHERE [Name] = 'Legacy.InstallationId' OR [Name] = 'InstallationId' UNION SELECT 'LastAppliedMigrationId' AS [Name], @lastMigrationId AS [Value], 'EnvironmentSettings' AS DatasetName SELECT t.[Key] AS TenantKey, t.[AccountId] AS OrganizationKey, l.[TenantId], l.[Id] AS 'License.Id', l.[EncryptedLicenseInfo] AS 'License.Info', l.[DeletionTime] AS 'License.DeletionTime', l.[CreationTime] AS 'License.CreationTime', l.[HostLicenseId] AS 'License.HostLicenseId', 'LicenseInfoDataSet' as DatasetName FROM [dbo].[Licenses] l LEFT JOIN #TenantsAndAccounts t ON t.[Id] = l.[TenantId] IF OBJECT_ID('tempdb..#TenantsAndAccounts') IS NOT NULL DROP TABLE #TenantsAndAccounts - Ejecuta el script SQL ejecutando el siguiente comando:
sqlcmd -i ExportScriptOrchMSI.sql -S ‘<Server>' -U '<User>' -P '<Password>' -d '<DB>' -o '<output-file>' -y 0
sqlcmd -i ExportScriptOrchMSI.sql -S ‘<Server>' -U '<User>' -P '<Password>' -d '<DB>' -o '<output-file>' -y 0 - Para ver el archivo de datos exportado localmente, ejecuta el siguiente comando de formato:
(Get-Content output.xml) -join '' | Set-Content output.xml
(Get-Content output.xml) -join '' | Set-Content output.xml - Cargue el archivo XML en el Customer Portal de UiPath®.