Agent Control Center – ER Diagram

ACC database ER diagram (October 2026)

Entity–relationship diagram of the Agent Control Center (ACC) SQL Server database, rebuilt from the schema scripts in the AgentControlCenter repository (accTables.sql plus every upgrade script up to Migrations/Up/309000.sql).

56 tables · 577 columns · 80 foreign keys · 17 references without an FK constraint

How to read the diagrams

  • Solid line: foreign key constraint in the database.

  • Dotted line: ID column that points to another table but has no FK constraint (kept consistent by ACC code).

  • Crow’s foot = many · bar = exactly one · circle = optional.

  • Area diagrams show key columns only (PK, FK and reference columns). Expand a table below its diagram to see every column with its SQL type and whether it allows NULL.

Areas

Area

Tables

What it covers

Organizations & access

16

Tenants, the directory tree, users, roles, privileges, API keys and two-factor sessions.

Agents & content

8

Agents in the repository, their versions and cached status, plus input files, config files, shared folders and connections.

Servers, clusters & deployments

11

Where agents and files are deployed, which organization owns each server or cluster, and resource history.

Jobs, schedules & runs

8

Job settings per agent, schedules and labels, job history, live runs (AgentRun) and completed runs (AgentRunHistory).

Rate limits & proxies

6

Rate limits and their load counters, and proxy pools built from provider pools.

Tickets

4

Support tickets raised by users or by failed runs and jobs, with posts and attachments.

System

3

Stand-alone tables: audit trail, outgoing email queue and the database version.

Overview – all tables

Every table and relationship on one canvas. Click the image to open it at full size.

acc-erd-00-overview.png

Organizations & access

Tenants, the directory tree, users, roles, privileges, API keys and two-factor sessions.

acc-erd-01-organizations-access.png

Tables in this area (16)

Organizations — 11 columns, PK OrganizationId

Referenced by: AgentConfigs.OrganizationId, AgentSharedFolders.OrganizationId, Agents.OrganizationId, AuditLogs.OrganizationId (no FK), Connections.OrganizationId, ExportSchemas.OrganizationId, Labels.OrganizationId, OrganizationClusters.OrganizationId, OrganizationRateLimits.OrganizationId, OrganizationRsaKeys.OrganizationId, OrganizationServers.OrganizationId, ProxyPools.OrganizationId, ProxyProviderPools.OrganizationId, RoleDirectoryPrivileges.OrganizationId (no FK), Roles.OrganizationId (no FK), Tickets.CreatorOrganizationId, UserAccounts.OrganizationId

Column

Key

Type

Null

References

OrganizationId

PK

uniqueidentifier

no

-

CreateDateTime

-

datetime2(7)

no

-

DefaultDirectoryId

FK

uniqueidentifier

no

Directories.DirectoryId

Name

-

nvarchar(max)

yes

-

AuthorizedIps

-

nvarchar(max)

yes

-

IsRequireRateLimit

-

bit

no

-

IsRequireAgentApproval

-

bit

no

-

ScriptAccessLevel

-

int

no

-

MaxConcurrentSessions

-

int

no

-

RequireTwoFactor

-

bit

no

-

IsDisabled

-

bit

no

-

Directories — 17 columns, PK DirectoryId

Referenced by: AgentConfigs.DirectoryId, AgentSharedFolders.DirectoryId, Agents.DirectoryId, Directories.ParentId, DirectoryJobSettings.DirectoryId, ExportSchemas.DirectoryId, Organizations.DefaultDirectoryId, RoleDirectoryPrivileges.DirectoryId, UserAccountDirectoryPrivileges.DirectoryId, UserAccounts.DirectoryId

Column

Key

Type

Null

References

DirectoryId

PK

uniqueidentifier

no

-

Name

-

nvarchar(max)

no

-

ParentId

FK

uniqueidentifier

yes

Directories.DirectoryId

DefaultSupportUserAccountId

FK

uniqueidentifier

yes

UserAccounts.UserAccountId

DefaultConsumerUserAccountId

FK

uniqueidentifier

yes

UserAccounts.UserAccountId

IsGenerateRunFailureTickets

-

bit

no

-

IsGenerateJobFailureTickets

-

bit

no

-

NameOnServer

-

nvarchar(max)

no

-

Description

-

nvarchar(max)

yes

-

Environment

-

varchar(max)

yes

-

JobRunHistoryRetentionPeriod

-

int

yes

-

TicketRetentionPeriod

-

int

yes

-

LogRetentionPeriod

-

int

yes

-

DefaultAgentLogLevel

-

int

yes

-

IsLogAgentAndApiActivity

-

bit

no

-

HighResourceUsageAction

-

int

no

-

ScriptAccessLevel

-

int

no

-

DirectoryJobSettings — 22 columns, PK DirectoryId

Referenced by: none

Column

Key

Type

Null

References

DirectoryId

PK, FK

uniqueidentifier

no

Directories.DirectoryId (on delete cascade)

ContinueOnFailure

-

int

no

-

IsOneJobPerSchedule

-

bit

no

-

IsWindowless

-

bit

no

-

IsSuccessEnabled

-

bit

no

-

MinTotalDataCount

-

int

no

-

IsMinTotalDataCountEnabled

-

bit

no

-

IsMinTotalDataCountPercentage

-

bit

no

-

MaxTotalErrors

-

int

no

-

IsMaxTotalErrorsEnabled

-

bit

no

-

IsMaxTotalErrorsPercentage

-

bit

no

-

MinTotalActionCount

-

int

no

-

IsMinTotalActionCountEnabled

-

bit

no

-

IsMinTotalActionCountPercentage

-

bit

no

-

MinTotalExportRowsCount

-

int

no

-

IsMinTotalExportRowsCountEnabled

-

bit

no

-

IsMinTotalExportRowsCountPercentage

-

bit

no

-

IsRerunOnFailureEnabled

-

bit

no

-

RerunOnFailureMethod

-

int

yes

-

RerunOnFailureRetryCount

-

int

no

-

RerunOnFailureRetryIntervalHour

-

int

no

-

RerunOnFailureRetryIntervalMin

-

int

no

-

ExportSchemas — 5 columns, PK DirectoryId

Referenced by: none

Column

Key

Type

Null

References

DirectoryId

PK, FK

uniqueidentifier

no

Directories.DirectoryId

SchemaContent

-

varbinary(max)

yes

-

Description

-

nvarchar(max)

yes

-

LastUpdatedDateTime

-

datetime2(7)

no

-

OrganizationId

FK

uniqueidentifier

no

Organizations.OrganizationId

OrganizationRsaKeys — 6 columns, PK OrganizationRsaKeyId

Referenced by: none

Column

Key

Type

Null

References

OrganizationRsaKeyId

PK

uniqueidentifier

no

-

OrganizationId

FK

uniqueidentifier

no

Organizations.OrganizationId

PrivateKeyXmlEncrypted

-

nvarchar(max)

no

-

PublicKeyPemEncrypted

-

nvarchar(max)

no

-

PublicKeyXmlEncrypted

-

nvarchar(max)

no

-

EncryptionVersion

-

int

no

-

UserAccounts — 21 columns, PK UserAccountId

Referenced by: Directories.DefaultConsumerUserAccountId, Directories.DefaultSupportUserAccountId, MultiFactorAuthentication.UserAccountId (no FK), TicketPosts.PosterAccountId, Tickets.ConsumerUserAccountId, Tickets.SupporterUserAccountId, UserAccountApiKeys.UserAccountId, UserAccountApplications.UserAccountId, UserAccountBlockedApiKeys.UserAccountId, UserAccountDirectoryPrivileges.UserAccountId, UserAccountRoles.UserAccountId

Column

Key

Type

Null

References

UserAccountId

PK

uniqueidentifier

no

-

DirectoryId

FK

uniqueidentifier

no

Directories.DirectoryId

OrganizationId

FK

uniqueidentifier

yes

Organizations.OrganizationId

CreateDateTime

-

datetime2(7)

no

-

Email

-

nvarchar(max)

yes

-

FullName

-

nvarchar(max)

yes

-

IsDisabled

-

bit

no

-

PasswordHash

-

nvarchar(max)

yes

-

Stamp

-

nvarchar(max)

yes

-

Username

-

nvarchar(max)

no

-

IsAccessAllSubdirectories

-

bit

no

-

IsDeleted

-

bit

no

-

AuthenticationService

-

int

no

-

AuthenticationServiceUserId

-

nvarchar(max)

yes

-

HashVersion

-

int

no

-

InvalidPasswordAttempts

-

int

no

-

TwoFactorEnabled

-

bit

no

-

RequireTwoFactor

-

bit

no

-

IsReceiveTokenExpiryNotification

-

bit

no

-

EmailForNoneAgents

-

bit

no

-

IsDarkTheme

-

bit

no

-

Roles — 3 columns, PK RoleId

Referenced by: RoleDirectoryPrivileges.RoleId, UserAccountRoles.RoleId

Column

Key

Type

Null

References

RoleId

PK

int

no

-

Name

-

nvarchar(max)

yes

-

OrganizationId

ref (no FK)

uniqueidentifier

yes

Organizations.OrganizationId

UserAccountRoles — 2 columns, PK UserAccountId, RoleId

Referenced by: none

Column

Key

Type

Null

References

UserAccountId

PK, FK

uniqueidentifier

no

UserAccounts.UserAccountId

RoleId

PK, FK

int

no

Roles.RoleId

Privileges — 3 columns, PK PrivilegeId

Referenced by: RoleDirectoryPrivileges.PrivilegeId, UserAccountDirectoryPrivileges.PrivilegeId

Column

Key

Type

Null

References

PrivilegeId

PK

int

no

-

Name

-

nvarchar(50)

no

-

Description

-

nvarchar(200)

yes

-

RoleDirectoryPrivileges — 4 columns, PK RoleId, DirectoryId, PrivilegeId, OrganizationId

Referenced by: none

Column

Key

Type

Null

References

RoleId

PK, FK

int

no

Roles.RoleId

DirectoryId

PK, FK

uniqueidentifier

no

Directories.DirectoryId

PrivilegeId

PK, FK

int

no

Privileges.PrivilegeId

OrganizationId

PK, ref (no FK)

uniqueidentifier

no

Organizations.OrganizationId

UserAccountDirectoryPrivileges — 3 columns, PK UserAccountId, DirectoryId, PrivilegeId

Referenced by: none

Column

Key

Type

Null

References

UserAccountId

PK, FK

uniqueidentifier

no

UserAccounts.UserAccountId

DirectoryId

PK, FK

uniqueidentifier

no

Directories.DirectoryId

PrivilegeId

PK, FK

int

no

Privileges.PrivilegeId

Applications — 2 columns, PK ApplicationId

Referenced by: UserAccountApplications.ApplicationId

Column

Key

Type

Null

References

ApplicationId

PK

int

no

-

Name

-

nvarchar(max)

yes

-

UserAccountApplications — 2 columns, PK UserAccountId, ApplicationId

Referenced by: none

Column

Key

Type

Null

References

UserAccountId

PK, FK

uniqueidentifier

no

UserAccounts.UserAccountId

ApplicationId

PK, FK

int

no

Applications.ApplicationId

UserAccountApiKeys — 5 columns, PK UserAccountApiKeyId

Referenced by: none

Column

Key

Type

Null

References

UserAccountApiKeyId

PK

uniqueidentifier

no

-

UserAccountId

FK

uniqueidentifier

no

UserAccounts.UserAccountId

Token

-

varchar(500)

no

-

Expiry

-

datetime

no

-

Description

-

varchar(max)

yes

-

UserAccountBlockedApiKeys — 6 columns, PK UserAccountBlockedApiKeyId

Referenced by: none

Column

Key

Type

Null

References

UserAccountBlockedApiKeyId

PK

uniqueidentifier

no

-

UserAccountId

FK

uniqueidentifier

no

UserAccounts.UserAccountId

Token

-

varchar(500)

no

-

Expiry

-

datetime

no

-

Description

-

varchar(max)

yes

-

DateCreated

-

datetime

no

-

MultiFactorAuthentication — 3 columns, PK UserAccountId, MultiFactorStamp

Referenced by: none

Column

Key

Type

Null

References

UserAccountId

PK, ref (no FK)

uniqueidentifier

no

UserAccounts.UserAccountId

MultiFactorStamp

PK

uniqueidentifier

no

-

ExpiryDateTime

-

datetime

no

-

Agents & content

Agents in the repository, their versions and cached status, plus input files, config files, shared folders and connections.

acc-erd-02-agents-content.png

Tables from other areas that these tables point to (keys only in the diagram): Directories, Organizations, RateLimits, Clusters, AgentDeployments.

Tables in this area (8)

Agents — 11 columns, PK AgentId

Referenced by: AbortedSchedules.AgentId, AgentDeployments.AgentId, AgentInfoCaches.AgentId, AgentInputFiles.AgentId, AgentJobSettings.AgentId, AgentJobSettings.ChainAgentId, AgentRun.AgentId (no FK), AgentRunHistory.AgentId (no FK), AgentVersions.AgentId, AuditLogs.AgentId (no FK), ClusterDeployments.AgentId, Parameters.AgentId, RateLimitLoadPerAgent.AgentId, Tickets.AgentId

Column

Key

Type

Null

References

AgentId

PK

uniqueidentifier

no

-

AgentDescription

-

nvarchar(max)

yes

-

DirectoryId

FK

uniqueidentifier

no

Directories.DirectoryId

CreatedDateTime

-

datetime2(7)

no

-

Name

-

nvarchar(max)

no

-

Retention

-

int

yes

-

AccConfig

-

nvarchar(max)

yes

-

RateLimitId

FK

uniqueidentifier

yes

RateLimits.RateLimitId

OrganizationId

FK

uniqueidentifier

yes

Organizations.OrganizationId

IsAgentApproved

-

bit

no

-

IsAgentArchived

-

bit

no

-

AgentVersions — 17 columns, PK AgentVersionId

Referenced by: AgentDeployments.AgentVersionId, AgentInfoCaches.ClusterDeploymentVersionId (no FK), AgentInfoCaches.LatestVersionId (no FK), ClusterDeployments.AgentVersionId

Column

Key

Type

Null

References

AgentVersionId

PK

uniqueidentifier

no

-

AgentExportFile

-

varbinary(max)

no

-

AgentId

FK

uniqueidentifier

no

Agents.AgentId

AgentXmlFile

-

varbinary(max)

no

-

CreatedDateTime

-

datetime2(7)

no

-

IsProduction

-

bit

no

-

SoftwareVersion

-

int

no

-

Username

-

nvarchar(max)

yes

-

Version

-

nvarchar(max)

no

-

VersionDescription

-

nvarchar(max)

yes

-

ProxyPoolName

-

nvarchar(500)

yes

-

SuccessCriteria

-

nvarchar(max)

yes

-

AgentInformationJson

-

varbinary(max)

yes

-

ExportSchema

-

varbinary(max)

yes

-

IsExportSchemaValid

-

bit

yes

-

ScriptAccessLevel

-

int

yes

-

SessionSupport

-

int

yes

-

AgentInfoCaches — 31 columns, PK AgentId

Referenced by: none

Column

Key

Type

Null

References

AgentId

PK, FK

uniqueidentifier

no

Agents.AgentId

DefaultDeploymentId

ref (no FK)

uniqueidentifier

yes

AgentDeployments.AgentDeploymentId

DefaultDeploymentServerName

-

nvarchar(max)

yes

-

DefaultDeploymentVersion

-

nvarchar(max)

yes

-

LatestVersion

-

nvarchar(max)

yes

-

LatestVersionDateTime

-

datetime2(7)

yes

-

LatestVersionDescription

-

nvarchar(max)

yes

-

LatestVersionId

ref (no FK)

uniqueidentifier

yes

AgentVersions.AgentVersionId

LatestJobStatus

-

int

yes

-

LatestRunStatus

-

int

yes

-

ClusterDeploymentVersion

-

nvarchar(max)

yes

-

ClusterDeploymentVersionId

ref (no FK)

uniqueidentifier

yes

AgentVersions.AgentVersionId

ClusterId

ref (no FK)

uniqueidentifier

yes

Clusters.ClusterId

ClusterName

-

nvarchar(max)

yes

-

NextRunTime

-

datetimeoffset(7)

yes

-

LastRunTime

-

datetimeoffset(7)

yes

-

LastCompletedTime

-

datetimeoffset(7)

yes

-

TicketsOpen

-

int

yes

-

TicketsWaitingForSupporter

-

int

yes

-

TicketsWaitingForConsumer

-

int

yes

-

HasJobSetting

-

bit

no

-

RateLimitId

ref (no FK)

uniqueidentifier

yes

RateLimits.RateLimitId

IsAgentApproved

-

bit

no

-

LatestScriptAccessLevel

-

int

yes

-

DeployedScriptAccessLevel

-

int

yes

-

SuccessCriteria

-

nvarchar(max)

yes

-

ProxyPoolName

-

nvarchar(max)

yes

-

IsLatestExportSchemaValid

-

bit

yes

-

IsDeployedExportSchemaValid

-

bit

yes

-

IsAgentArchived

-

bit

no

-

ClusterDeploymentVersionDescription

-

nvarchar(max)

yes

-

Parameters — 3 columns, PK AgentId

Referenced by: none

Column

Key

Type

Null

References

AgentId

PK, FK

uniqueidentifier

no

Agents.AgentId (on delete cascade)

AccParameter

-

nvarchar(max)

no

-

UpdatedDateTime

-

datetime2(7)

no

-

AgentInputFiles — 8 columns, PK AgentInputFileId

Referenced by: none

Column

Key

Type

Null

References

AgentInputFileId

PK

uniqueidentifier

no

-

AgentId

FK

uniqueidentifier

no

Agents.AgentId

Name

-

varchar(500)

no

-

FileType

-

int

no

-

FileSizeKb

-

int

no

-

LastUpdated

-

datetimeoffset(7)

no

-

FileContent

-

varbinary(max)

yes

-

IsDeploy

-

bit

no

-

AgentConfigs — 7 columns, PK AgentConfigId

Referenced by: AgentConfigDeployments.AgentConfigId

Column

Key

Type

Null

References

AgentConfigId

PK

uniqueidentifier

no

-

ConfigContent

-

varbinary(max)

yes

-

Description

-

nvarchar(max)

yes

-

DirectoryId

FK

uniqueidentifier

no

Directories.DirectoryId

LastUpdatedDateTime

-

datetime2(7)

no

-

Name

-

nvarchar(max)

no

-

OrganizationId

FK

uniqueidentifier

yes

Organizations.OrganizationId

AgentSharedFolders — 10 columns, PK AgentSharedFolderId

Referenced by: AgentSharedFolderDeployments.AgentSharedFolderId, AgentSharedFolders.ParentId

Column

Key

Type

Null

References

AgentSharedFolderId

PK

uniqueidentifier

no

-

Description

-

nvarchar(max)

yes

-

DirectoryId

FK

uniqueidentifier

no

Directories.DirectoryId

LastUpdatedDateTime

-

datetime2(7)

no

-

Name

-

nvarchar(max)

no

-

SharedContent

-

varbinary(max)

yes

-

OrganizationId

FK

uniqueidentifier

yes

Organizations.OrganizationId

ParentId

FK

uniqueidentifier

yes

AgentSharedFolders.AgentSharedFolderId

IsFolder

-

bit

no

-

IsLegacy

-

bit

no

-

Connections — 8 columns, PK ConnectionId

Referenced by: none

Column

Key

Type

Null

References

ConnectionId

PK

uniqueidentifier

no

-

OrganizationId

FK

uniqueidentifier

no

Organizations.OrganizationId

Name

-

varchar(500)

no

-

LastUpdated

-

datetimeoffset(7)

no

-

FileContent

-

varbinary(max)

yes

-

IsDeploy

-

bit

no

-

Description

-

nvarchar(max)

yes

-

EncryptionVersion

-

int

no

-

Servers, clusters & deployments

Where agents and files are deployed, which organization owns each server or cluster, and resource history.

acc-erd-03-servers-clusters-deployments.png

Tables from other areas that these tables point to (keys only in the diagram): AgentConfigs, Agents, AgentVersions, AgentSharedFolders, Organizations.

Tables in this area (11)

Clusters — 13 columns, PK ClusterId

Referenced by: AgentConfigDeployments.ClusterId, AgentInfoCaches.ClusterId (no FK), AgentSharedFolderDeployments.ClusterId, ClusterDeployments.ClusterId, ClusterResourceHistory.ClusterId, OrganizationClusters.ClusterId, Servers.ClusterId

Column

Key

Type

Null

References

ClusterId

PK

uniqueidentifier

no

-

Name

-

nvarchar(max)

no

-

Description

-

nvarchar(max)

yes

-

Cpu

-

int

no

-

Memory

-

int

no

-

Sessions

-

int

no

-

CpuAvg

-

int

no

-

MemoryAvg

-

int

no

-

SessionsAvg

-

int

no

-

CpuPeak

-

int

no

-

MemoryPeak

-

int

no

-

SessionsPeak

-

int

no

-

LastUpdated

-

datetime

no

-

Servers — 31 columns, PK ServerId

Referenced by: AgentConfigDeployments.ServerId, AgentDeployments.ServerId, AgentSharedFolderDeployments.ServerId, OrganizationServers.ServerId, ServerResourceHistory.ServerId

Column

Key

Type

Null

References

ServerId

PK

uniqueidentifier

no

-

IpAddress

-

varchar(200)

yes

-

Key

-

nvarchar(max)

yes

-

Name

-

nvarchar(max)

no

-

Port

-

int

no

-

CgVersion

-

nvarchar(max)

yes

-

LocalPath

-

nvarchar(max)

yes

-

Description

-

nvarchar(max)

yes

-

ClusterId

FK

uniqueidentifier

yes

Clusters.ClusterId

CpuUsage

-

int

yes

-

DiskUsage

-

nvarchar(max)

yes

-

MemoryUsage

-

int

yes

-

RunningSessions

-

int

yes

-

Status

-

int

yes

-

LastUpdated

-

datetime

yes

-

NextUpdate

-

datetime

yes

-

OfflineDateTime

-

datetime2(7)

yes

-

CpuAvg

-

int

no

-

MemoryAvg

-

int

no

-

SessionsAvg

-

int

no

-

CpuPeak

-

int

no

-

MemoryPeak

-

int

no

-

SessionsPeak

-

int

no

-

CpuThreshold

-

int

no

-

MemoryThreshold

-

int

no

-

SessionThreshold

-

int

no

-

SessionDelay

-

int

yes

-

UseSsl

-

bit

no

-

CgNumericVersion

-

int

yes

-

CertHash

-

nvarchar(max)

yes

-

DiskThreshold

-

int

no

-

OrganizationClusters — 2 columns, PK OrganizationId, ClusterId

Referenced by: none

Column

Key

Type

Null

References

OrganizationId

PK, FK

uniqueidentifier

no

Organizations.OrganizationId

ClusterId

PK, FK

uniqueidentifier

no

Clusters.ClusterId

OrganizationServers — 2 columns, PK OrganizationId, ServerId

Referenced by: none

Column

Key

Type

Null

References

OrganizationId

PK, FK

uniqueidentifier

no

Organizations.OrganizationId

ServerId

PK, FK

uniqueidentifier

no

Servers.ServerId

ClusterDeployments — 4 columns, PK AgentId

Referenced by: none

Column

Key

Type

Null

References

AgentId

PK, FK

uniqueidentifier

no

Agents.AgentId

AgentVersionId

FK

uniqueidentifier

no

AgentVersions.AgentVersionId

ClusterId

FK

uniqueidentifier

no

Clusters.ClusterId

DeployedDateTime

-

datetime2(7)

yes

-

AgentDeployments — 8 columns, PK AgentDeploymentId

Referenced by: AgentInfoCaches.DefaultDeploymentId (no FK), Schedules.AgentDeploymentId

Column

Key

Type

Null

References

AgentDeploymentId

PK

uniqueidentifier

no

-

AgentId

FK

uniqueidentifier

no

Agents.AgentId

AgentVersionId

FK

uniqueidentifier

yes

AgentVersions.AgentVersionId

IsDefault

-

bit

no

-

ServerId

FK

uniqueidentifier

no

Servers.ServerId

ConfigContent

-

varbinary(max)

yes

-

ProxyPoolName

-

nvarchar(max)

yes

-

SuccessCriteria

-

nvarchar(max)

yes

-

Schedules — 8 columns, PK ScheduleId

Referenced by: none

Column

Key

Type

Null

References

ScheduleId

PK

uniqueidentifier

no

-

AgentDeploymentId

FK

uniqueidentifier

no

AgentDeployments.AgentDeploymentId

Cron

-

nvarchar(max)

no

-

InputParameters

-

nvarchar(max)

yes

-

IsWindowless

-

bit

yes

-

LogLevel

-

nvarchar(max)

yes

-

SessionId

-

nvarchar(max)

yes

-

StartTime

-

datetime2(7)

no

-

AgentConfigDeployments — 5 columns, PK AgentConfigDeploymentId

Referenced by: none

Column

Key

Type

Null

References

AgentConfigDeploymentId

PK

uniqueidentifier

no

-

AgentConfigId

FK

uniqueidentifier

no

AgentConfigs.AgentConfigId

DeployedDateTime

-

datetime2(7)

yes

-

ServerId

FK

uniqueidentifier

yes

Servers.ServerId

ClusterId

FK

uniqueidentifier

yes

Clusters.ClusterId

AgentSharedFolderDeployments — 5 columns, PK AgentSharedFolderDeploymentId

Referenced by: none

Column

Key

Type

Null

References

AgentSharedFolderDeploymentId

PK

uniqueidentifier

no

-

AgentSharedFolderId

FK

uniqueidentifier

no

AgentSharedFolders.AgentSharedFolderId

DeployedDateTime

-

datetime2(7)

yes

-

ServerId

FK

uniqueidentifier

yes

Servers.ServerId

ClusterId

FK

uniqueidentifier

yes

Clusters.ClusterId

ClusterResourceHistory — 7 columns, PK ClusterResourceHistoryId

Referenced by: none

Column

Key

Type

Null

References

ClusterResourceHistoryId

PK

uniqueidentifier

no

-

ClusterId

FK

uniqueidentifier

no

Clusters.ClusterId

Sessions

-

int

no

-

Cpu

-

int

no

-

Memory

-

int

no

-

Created

-

datetime

no

-

IsCurrentCluster

-

bit

no

-

ServerResourceHistory — 11 columns, PK ServerResourceHistoryId

Referenced by: none

Column

Key

Type

Null

References

ServerResourceHistoryId

PK

uniqueidentifier

no

-

ServerId

FK

uniqueidentifier

no

Servers.ServerId

CgSessions

-

int

no

-

CgCpu

-

int

no

-

CgMem

-

int

no

-

DbCpu

-

int

no

-

DbMem

-

int

no

-

TotalCpu

-

int

no

-

TotalMem

-

int

no

-

Created

-

datetime

no

-

TimespanMinutes

-

int

no

-

Jobs, schedules & runs

Job settings per agent, schedules and labels, job history, live runs (AgentRun) and completed runs (AgentRunHistory).

acc-erd-04-jobs-schedules-runs.png

Tables from other areas that these tables point to (keys only in the diagram): Agents, Organizations, RateLimits.

Tables in this area (8)

AgentJobSettings — 37 columns, PK AgentId

Referenced by: AgentJobHistory.AgentId, AgentJobSchedules.AgentId

Column

Key

Type

Null

References

AgentId

PK, FK

uniqueidentifier

no

Agents.AgentId

RunId

-

bigint

no

-

LastStatus

-

int

yes

-

LastTotalSuccessActionCount

-

int

yes

-

LastTotalErrors

-

int

yes

-

LastTotalDataCount

-

int

yes

-

NextScheduleTime

-

datetimeoffset(7)

yes

-

IsSuccessEnabled

-

bit

no

-

MaxTotalErrors

-

int

no

-

IsMaxTotalErrorsEnabled

-

bit

no

-

IsMaxTotalErrorsPercentage

-

bit

no

-

MinTotalDataCount

-

int

no

-

IsMinTotalDataCountEnabled

-

bit

no

-

IsMinTotalDataCountPercentage

-

bit

no

-

DataDelivery

-

int

no

-

DynamicSuccessActionVolume

-

int

no

-

IsOneJobPerSchedule

-

int

no

-

LastTotalDeliveryCount

-

int

yes

-

ContinueOnFailure

-

int

no

-

PageLoadLimit

-

int

yes

-

PageLoadCounter

-

int

yes

-

PageLoadCounterStartTime

-

datetime

yes

-

IsWindowless

-

int

no

-

IsChainJobs

-

bit

no

-

ChainAgentPars

-

nvarchar(max)

yes

-

ChainAgentId

FK

uniqueidentifier

yes

Agents.AgentId

MinTotalActionCount

-

int

no

-

IsMinTotalActionCountEnabled

-

bit

no

-

IsMinTotalActionCountPercentage

-

bit

no

-

MinTotalExportRowsCount

-

int

no

-

IsMinTotalExportRowsCountEnabled

-

bit

no

-

IsMinTotalExportRowsCountPercentage

-

bit

no

-

IsRerunOnFailureEnabled

-

int

no

-

RerunOnFailureMethod

-

int

yes

-

RerunOnFailureRetryCount

-

int

no

-

RerunOnFailureRetryIntervalHour

-

int

no

-

RerunOnFailureRetryIntervalMin

-

int

no

-

AgentJobSchedules — 17 columns, PK AgentJobScheduleId

Referenced by: AbortedSchedules.AgentJobScheduleId, AgentRun.AgentJobScheduleId (no FK), AgentRunHistory.AgentJobScheduleId (no FK), ScheduleLabels.AgentJobScheduleId

Column

Key

Type

Null

References

AgentJobScheduleId

PK

uniqueidentifier

no

-

AgentId

FK

uniqueidentifier

no

AgentJobSettings.AgentId

Cron

-

nvarchar(max)

no

-

SessionId

-

nvarchar(max)

yes

-

StartTime

-

datetime

no

-

InputParameters

-

nvarchar(max)

yes

-

LogLevel

-

int

no

-

IsWindowless

-

bit

no

-

TotalRunCount

-

int

no

-

CompletedRunCount

-

int

no

-

ScheduleStatus

-

int

no

-

IsEnabled

-

bit

no

-

LastRunTime

-

datetimeoffset(7)

yes

-

CompletedTime

-

datetimeoffset(7)

yes

-

NextRunTime

-

datetimeoffset(7)

yes

-

TimeZoneId

-

nvarchar(max)

no

-

ErrorMessage

-

nvarchar(max)

yes

-

AgentJobHistory — 21 columns, PK AgentJobHistoryId

Referenced by: none

Column

Key

Type

Null

References

AgentJobHistoryId

PK

uniqueidentifier

no

-

AgentId

FK

uniqueidentifier

no

AgentJobSettings.AgentId

StartTime

-

datetimeoffset(7)

no

-

EndTime

-

datetimeoffset(7)

yes

-

TotalSuccessActionCount

-

int

yes

-

TotalDynamicSuccessActionCount

-

int

yes

-

TotalVolume

-

int

yes

-

TotalErrors

-

int

yes

-

TotalDataCount

-

int

yes

-

CompletedScheduleCount

-

int

no

-

TotalScheduleCount

-

int

no

-

RunId

-

bigint

no

-

Status

-

int

no

-

CompletedRunCount

-

int

no

-

TotalRunCount

-

int

no

-

TotalDeliveryCount

-

int

yes

-

TotalPageLoadCount

-

int

yes

-

TotalRequestCount

-

bigint

yes

-

TotalDownloadCount

-

int

yes

-

ErrorMessage

-

nvarchar(max)

yes

-

IsDeleteInputFilesOnCompleted

-

bit

no

-

AgentRun — 43 columns, PK AgentRunId

Referenced by: none

Column

Key

Type

Null

References

AgentRunId

PK

uniqueidentifier

no

-

AgentId

ref (no FK)

uniqueidentifier

no

Agents.AgentId

SessionId

-

nvarchar(max)

yes

-

RunId

-

bigint

no

-

ServerIp

-

varchar(200)

yes

-

AgentJobScheduleId

ref (no FK)

uniqueidentifier

yes

AgentJobSchedules.AgentJobScheduleId

StartTime

-

datetimeoffset(7)

no

-

EndTime

-

datetimeoffset(7)

yes

-

ExpectedEndTime

-

datetimeoffset(7)

yes

-

RunTimeSeconds

-

int

yes

-

Status

-

int

no

-

SuccessActionCount

-

int

no

-

DynamicSuccessActionCount

-

int

no

-

Errors

-

int

no

-

DataCount

-

int

no

-

StatusMessage

-

nvarchar(max)

yes

-

Volume

-

int

no

-

LogPath

-

nvarchar(max)

yes

-

InputParameters

-

nvarchar(max)

yes

-

LogLevel

-

int

no

-

IsWindowLess

-

bit

no

-

DeliveryCount

-

int

no

-

PageLoadCount

-

int

no

-

DownloadCount

-

int

no

-

BackupDataExpiry

-

datetimeoffset(7)

yes

-

RequestCount

-

bigint

no

-

ErrorMessage

-

varchar(max)

yes

-

LastUpdated

-

datetimeoffset(7)

yes

-

IsDeleteInputFilesOnCompleted

-

bit

no

-

RateLimitId

ref (no FK)

uniqueidentifier

yes

RateLimits.RateLimitId

IsRunning

-

bit

no

-

Domain

-

nvarchar(max)

yes

-

RunMethod

-

int

no

-

CpuUsage

-

decimal(5,2)

yes

-

HasRaisedUsageTicket

-

bit

no

-

StopMessage

-

nvarchar(max)

yes

-

SessionType

-

int

no

-

IsResetSuccessCriteria

-

bit

no

-

RetryCount

-

int

no

-

AccParameters

-

nvarchar(max)

yes

-

IsMaxRunTimeFailure

-

bit

no

-

IsCustomRunId

-

bit

no

-

QueuedReason

-

nvarchar(max)

yes

-

AgentRunHistory — 42 columns, PK AgentRunHistoryId

Referenced by: Tickets.AgentRunHistoryId (no FK)

Column

Key

Type

Null

References

AgentRunHistoryId

PK

uniqueidentifier

no

-

AgentId

ref (no FK)

uniqueidentifier

no

Agents.AgentId

SessionId

-

nvarchar(max)

yes

-

RunId

-

bigint

no

-

ServerIp

-

varchar(200)

yes

-

AgentJobScheduleId

ref (no FK)

uniqueidentifier

yes

AgentJobSchedules.AgentJobScheduleId

StartTime

-

datetimeoffset(7)

no

-

EndTime

-

datetimeoffset(7)

yes

-

ExpectedEndTime

-

datetimeoffset(7)

yes

-

RunTimeSeconds

-

int

yes

-

Status

-

int

no

-

SuccessActionCount

-

int

no

-

DynamicSuccessActionCount

-

int

no

-

Errors

-

int

no

-

DataCount

-

int

no

-

StatusMessage

-

nvarchar(max)

yes

-

Volume

-

int

no

-

LogPath

-

nvarchar(max)

yes

-

InputParameters

-

nvarchar(max)

yes

-

LogLevel

-

int

no

-

IsWindowLess

-

bit

no

-

DeliveryCount

-

int

no

-

PageLoadCount

-

int

no

-

DownloadCount

-

int

no

-

BackupDataExpiry

-

datetimeoffset(7)

yes

-

RequestCount

-

bigint

no

-

ErrorMessage

-

varchar(max)

yes

-

LastUpdated

-

datetimeoffset(7)

yes

-

IsDeleteInputFilesOnCompleted

-

bit

no

-

RateLimitId

ref (no FK)

uniqueidentifier

yes

RateLimits.RateLimitId

IsRunning

-

bit

no

-

Domain

-

nvarchar(max)

yes

-

RunMethod

-

int

no

-

CpuUsage

-

decimal(5,2)

yes

-

HasRaisedUsageTicket

-

bit

no

-

StopMessage

-

nvarchar(max)

yes

-

SessionType

-

int

no

-

IsResetSuccessCriteria

-

bit

no

-

RetryCount

-

int

no

-

AccParameters

-

nvarchar(max)

yes

-

IsMaxRunTimeFailure

-

bit

no

-

IsCustomRunId

-

bit

no

-

AbortedSchedules — 8 columns, PK AbortedScheduleId

Referenced by: none

Column

Key

Type

Null

References

AbortedScheduleId

PK

uniqueidentifier

no

-

AgentId

FK

uniqueidentifier

no

Agents.AgentId

AgentJobScheduleId

FK

uniqueidentifier

no

AgentJobSchedules.AgentJobScheduleId

MissedDateTime

-

datetimeoffset(7)

no

-

LastRunDateTime

-

datetimeoffset(7)

yes

-

NextRunDateTime

-

datetimeoffset(7)

yes

-

SessionId

-

nvarchar(max)

yes

-

ErrorMessage

-

nvarchar(max)

yes

-

Labels — 3 columns, PK LabelId

Referenced by: ScheduleLabels.LabelId

Column

Key

Type

Null

References

LabelId

PK

uniqueidentifier

no

-

OrganizationId

FK

uniqueidentifier

no

Organizations.OrganizationId

LabelName

-

nvarchar(max)

no

-

ScheduleLabels — 3 columns, PK ScheduleLabelId

Referenced by: none

Column

Key

Type

Null

References

ScheduleLabelId

PK

uniqueidentifier

no

-

AgentJobScheduleId

FK

uniqueidentifier

no

AgentJobSchedules.AgentJobScheduleId

LabelId

FK

uniqueidentifier

no

Labels.LabelId

Rate limits & proxies

Rate limits and their load counters, and proxy pools built from provider pools.

acc-erd-05-rate-limits-proxies.png

Tables from other areas that these tables point to (keys only in the diagram): Organizations, Agents.

Tables in this area (6)

RateLimits — 20 columns, PK RateLimitId

Referenced by: AgentInfoCaches.RateLimitId (no FK), AgentRun.RateLimitId (no FK), AgentRunHistory.RateLimitId (no FK), Agents.RateLimitId, OrganizationRateLimits.RateLimitId, RateLimitLoadPerAgent.RateLimitId

Column

Key

Type

Null

References

RateLimitId

PK

uniqueidentifier

no

-

Name

-

nvarchar(500)

no

-

IsLoadLimitEnabled

-

bit

no

-

LoadType

-

int

no

-

LoadLimit

-

bigint

no

-

LoadLimitHours

-

int

no

-

IsSessionLimitEnabled

-

bit

no

-

SessionLimit

-

int

no

-

IsPreventAgentStartOnLimit

-

bit

no

-

LoadCounter

-

bigint

no

-

LoadCounterStartTime

-

datetime

yes

-

IsGlobal

-

bit

no

-

IsAllAgents

-

bit

no

-

IsDomainFilterEnabled

-

bit

no

-

IsDomainFilterRegex

-

bit

no

-

DomainFilter

-

nvarchar(max)

yes

-

IsGenerateTicketOnLimit

-

bit

no

-

IsSuccessOnLimit

-

bit

no

-

IsPerAgent

-

bit

no

-

LoadLimitMinutes

-

int

no

-

OrganizationRateLimits — 2 columns, PK OrganizationId, RateLimitId

Referenced by: none

Column

Key

Type

Null

References

OrganizationId

PK, FK

uniqueidentifier

no

Organizations.OrganizationId

RateLimitId

PK, FK

uniqueidentifier

no

RateLimits.RateLimitId

RateLimitLoadPerAgent — 5 columns, PK RateLimitLoadPerAgentId

Referenced by: none

Column

Key

Type

Null

References

RateLimitLoadPerAgentId

PK

uniqueidentifier

no

-

RateLimitId

FK

uniqueidentifier

no

RateLimits.RateLimitId

AgentId

FK

uniqueidentifier

no

Agents.AgentId

LoadCounter

-

bigint

no

-

LoadCounterStartTime

-

datetime

yes

-

ProxyPools — 7 columns, PK ProxyPoolId

Referenced by: ProxyPoolProviders.ProxyPoolId

Column

Key

Type

Null

References

ProxyPoolId

PK

uniqueidentifier

no

-

CreatedDateTime

-

datetime2(7)

no

-

Description

-

nvarchar(max)

yes

-

LastUpdatedDateTime

-

datetime2(7)

no

-

Name

-

nvarchar(max)

no

-

OrganizationId

FK

uniqueidentifier

no

Organizations.OrganizationId

IsDisabled

-

bit

no

-

ProxyProviderPools — 10 columns, PK ProxyProviderPoolId

Referenced by: ProxyPoolProviders.ProxyProviderPoolId

Column

Key

Type

Null

References

ProxyProviderPoolId

PK

uniqueidentifier

no

-

AuthorizedIps

-

nvarchar(max)

yes

-

Description

-

nvarchar(max)

yes

-

ExpiryDateTime

-

datetime2(7)

yes

-

LastUpdatedDateTime

-

datetime2(7)

no

-

Name

-

nvarchar(max)

no

-

OrganizationId

FK

uniqueidentifier

no

Organizations.OrganizationId

ProxyIps

-

nvarchar(max)

yes

-

IsEncrypted

-

bit

no

-

IsDisabled

-

bit

no

-

ProxyPoolProviders — 2 columns, PK ProxyPoolId, ProxyProviderPoolId

Referenced by: none

Column

Key

Type

Null

References

ProxyPoolId

PK, FK

uniqueidentifier

no

ProxyPools.ProxyPoolId

ProxyProviderPoolId

PK, FK

uniqueidentifier

no

ProxyProviderPools.ProxyProviderPoolId

Tickets

Support tickets raised by users or by failed runs and jobs, with posts and attachments.

acc-erd-06-tickets.png

Tables from other areas that these tables point to (keys only in the diagram): UserAccounts, Agents, Organizations, AgentRunHistory.

Tables in this area (4)

Tickets — 12 columns, PK TicketId

Referenced by: TicketPosts.TicketId

Column

Key

Type

Null

References

TicketId

PK

uniqueidentifier

no

-

AgentId

FK

uniqueidentifier

yes

Agents.AgentId

ConsumerUserAccountId

FK

uniqueidentifier

yes

UserAccounts.UserAccountId

SupporterUserAccountId

FK

uniqueidentifier

yes

UserAccounts.UserAccountId

TicketStatusId

FK

int

no

TicketStatus.StatusId

TicketNumber

-

bigint

no

-

Subject

-

nvarchar(max)

no

-

DateCreated

-

datetimeoffset(7)

no

-

DateUpdated

-

datetimeoffset(7)

no

-

CreatorOrganizationId

FK

uniqueidentifier

yes

Organizations.OrganizationId

AgentRunHistoryId

ref (no FK)

uniqueidentifier

yes

AgentRunHistory.AgentRunHistoryId

Priority

-

int

no

-

TicketPosts — 6 columns, PK PostId

Referenced by: TicketPostAttachments.PostId

Column

Key

Type

Null

References

PostId

PK

uniqueidentifier

no

-

TicketId

FK

uniqueidentifier

no

Tickets.TicketId

PosterAccountId

FK

uniqueidentifier

yes

UserAccounts.UserAccountId

PostHtml

-

nvarchar(max)

no

-

DateCreated

-

datetimeoffset(7)

no

-

DateUpdated

-

datetimeoffset(7)

no

-

TicketPostAttachments — 7 columns, PK AttachmentId

Referenced by: none

Column

Key

Type

Null

References

AttachmentId

PK

uniqueidentifier

no

-

PostId

FK

uniqueidentifier

no

TicketPosts.PostId

FileName

-

varchar(200)

no

-

FIleType

-

varchar(100)

no

-

FileSize

-

int

no

-

FilePath

-

varchar(500)

no

-

FileData

-

varbinary(max)

no

-

TicketStatus — 2 columns, PK StatusId

Referenced by: Tickets.TicketStatusId

Column

Key

Type

Null

References

StatusId

PK

int

no

-

StatusName

-

nvarchar(max)

no

-

System

Stand-alone tables: audit trail, outgoing email queue and the database version.

acc-erd-07-system.png

Tables from other areas that these tables point to (keys only in the diagram): Organizations, Agents.

Tables in this area (3)

AuditLogs — 10 columns, PK AuditLogId

Referenced by: none

Column

Key

Type

Null

References

AuditLogId

PK

uniqueidentifier

no

-

OrganizationId

ref (no FK)

uniqueidentifier

yes

Organizations.OrganizationId

Username

-

nvarchar(max)

no

-

AuditType

-

int

no

-

Operation

-

int

no

-

EntryId

-

uniqueidentifier

no

-

AgentId

ref (no FK)

uniqueidentifier

yes

Agents.AgentId

Description

-

nvarchar(max)

yes

-

Content

-

nvarchar(max)

yes

-

Created

-

datetimeoffset(7)

no

-

EmailQueues — 12 columns, PK EmailQueueId

Referenced by: none

Column

Key

Type

Null

References

EmailQueueId

PK

uniqueidentifier

no

-

ToAddresses

-

nvarchar(max)

no

-

CcAddresses

-

nvarchar(max)

yes

-

BccAddresses

-

nvarchar(max)

yes

-

FromAddress

-

nvarchar(max)

yes

-

Subject

-

nvarchar(max)

no

-

Body

-

nvarchar(max)

yes

-

IsHtml

-

bit

no

-

IsError

-

bit

no

-

ErrorMessage

-

nvarchar(max)

yes

-

Created

-

datetimeoffset(7)

no

-

Attachments

-

nvarchar(max)

yes

-

AccVersion — 2 columns, PK AccVersionId

Referenced by: none

Column

Key

Type

Null

References

AccVersionId

PK

int

no

-

Version

-

int

no

-

Notes

  • AgentRun holds runs that are still active. It was created in upgrade 209001 as a copy of AgentRunHistory’s columns (AgentRunHistoryId renamed to AgentRunId), so the two tables share almost the same shape.

  • AgentJobSchedules and AgentJobHistory point to AgentJobSettings.AgentId, not straight to Agents: an agent needs job settings before it can have schedules or job history.

  • AgentInfoCaches, AgentJobSettings, ClusterDeployments and Parameters use AgentId as their primary key, so each agent has at most one row in each of them.

  • Dotted lines are worked out from column names, for example AgentRunHistory.AgentId, Tickets.AgentRunHistoryId and AuditLogs.OrganizationId. The database does not enforce them.

  • Left out: stored procedures (for example GetDiagnosticData), keyless Entity Framework query types such as DiagnosticsAgent, and AuthenticationServices, which upgrade 202001 dropped.

  • Built from the schema scripts, not from a live database. A server with manual schema changes may differ.


Earlier ER diagram (November 2025)


image-20251113-111529.png
AgentControlCenter_ERD (2)_page-0002.jpg
AgentControlCenter_ERD (2)_page-0003.jpg
AgentControlCenter_ERD (2)_page-0004.jpg
AgentControlCenter_ERD (2)_page-0005.jpg
AgentControlCenter_ERD (2)_page-0006.jpg
AgentControlCenter_ERD (2)_page-0007.jpg
AgentControlCenter_ERD (2)_page-0008.jpg
AgentControlCenter_ERD (2)_page-0009.jpg
AgentControlCenter_ERD (2)_page-0010.jpg
AgentControlCenter_ERD (2)_page-0011.jpg
AgentControlCenter_ERD (2)_page-0012.jpg
AgentControlCenter_ERD (2)_page-0013.jpg