orchestrator
2022.10
false
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.
UiPath logo, featuring letters U and I in white

Guia do usuário do Orchestrator

Última atualização 28 de abr de 2025

Exportação de dados de uso

Esta seção fornece instruções sobre como exportar um resumo de uso de alto nível, incluindo as seguintes métricas relevantes:

  • Duração de execução do robô por mês, por tipo de robô.
  • Concorrência de robôs, ou seja, o número máximo de robôs que executaram trabalhos ao mesmo período.
  • Métricas sobre execução de trabalhos.
  • Taxa de falha de trabalhos.
  • Métricas sobre processos de execução.
  • Métricas em itens de fila.
  • Métricas sobre usuários.
  • Informações do ambiente.
O resultado da exportação de dados é um arquivo output.xml.
Observação: você pode carregar o arquivo de dados exportado para o UiPath® Customer Portal para nos ajudar a obter uma melhor compreensão do uso e fornecer a você um melhor suporte.
Para exportar dados de uso por meio do SQL Server Management Studio ou do utilitário sqlcmd usando o PowerShell, siga as instruções nas seções a seguir.

Exportação de dados de uso por meio do SQL Server Management Studio

Para exportar dados de uso por meio do SQL Server Management Studio:
  1. Copie o seguinte script SQL no 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
  2. Execute o script SQL.
  3. No menu de contexto, selecione Resultados para e, em seguida, Resultados para Grade. Essa opção produz um arquivo XML.
    Observação: selecionar a opção Resultados para texto ou a opção Resultados para arquivo trunca os dados exportados.
  4. Abra o arquivo XML no SQL Server Management Studio e, em seguida, salve o arquivo.
  5. Opcionalmente, carregue o arquivo XML para o UiPath® Customer Portal.

Exportar dados de uso por meio do utilitário sqlcmd

Para exportar dados de uso por meio do utilitário sqlcmd:
  1. Copie o seguinte código para um editor de texto e salve-o como um arquivo SQL nomeado 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 #TenantsAndAccountsDECLARE @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
  2. Execute o script SQL executando o seguinte comando:
    sqlcmd -i ExportScriptOrchMSI.sql -S<Server>' -U '<User>' -P '<Password>' -d '<DB>' -o '<output-file>' -y 0sqlcmd -i ExportScriptOrchMSI.sql -S ‘<Server>' -U '<User>' -P '<Password>' -d '<DB>' -o '<output-file>' -y 0
  3. Para visualização do arquivo de dados exportado localmente, execute o seguinte comando de formatação:
    (Get-Content output.xml) -join '' | Set-Content output.xml(Get-Content output.xml) -join '' | Set-Content output.xml
  4. Carregue o arquivo XML para o UiPath® Customer Portal.

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2025 UiPath. Todos os direitos reservados.