This article covers all needed information on ApexSQL Manage Agent, a windows service that is created when ApexSQL Manage is installed.
ApexSQL Manage is a tool used to manage SQL Server instances. Aside from the main core features to discover SQL Server instances, perform SQL Server health checks, document SQL Server configuration, create instance snapshots, and comparison between live SQL Servers or snapshots, ApexSQL Manage has a scheduling feature which can be used to automate all previously mentioned features. In order to successfully execute the scheduled operations when the tool is closed, ApexSQL Manage Agent is used.
ApexSQL Manage Agent is a windows service that operates in the background. Aside from executing scheduled operations, ApexSQL Manage Agent is also used to communicate between the tool’s user interface and the SQL Server instance. The communication is performed via the Central Repository Database (CRD), for additional information on the Central Repository Database refer to the ApexSQL Manage components article.
ApexSQL Manage Agent breakdown
During the initial installation process and tool configuration, it is necessary to install ApexSQL Manage Agent. There are four different accounts under which the agent can be run:
- Local system – a high-privileged built-in account
- Local service – a built-in account that has the same level of access to resources and objects as members of the Users group
- Network service – a built-in account that has additional access to resources and objects than members of the Users group
- User – a local user account with Windows administrator permissions
It is important to note that the level of privileges and permissions for each account is different and heavily dependent on system security settings for that environment. The best practice is to install ApexSQL Manage Agent with the account that has all the necessary privileges in order to function properly. Detailed information on the permissions and requirements needed for ApexSQL Manage and ApexSQL Manage Agent can be found in the ApexSQL Manage – Permissions and requirements article.
If the ApexSQL Manage Agent is disabled or lacks necessary permissions, scheduled operations will not execute nor will the application function as intended.
When ApexSQL Manage is installed and ApexSQL Manage Agent is configured, two Windows services will be created:
- ApexSQL Manage Agent Service, a background service that is used for the following operations:
- Communication with the application’s Central Repository database (CRD)
- Parsing commands to SQL Server instances and collecting results for displaying in the main application
- Execution of preset scheduled operations in the background
- Sending email notifications upon executed scheduled operations with appropriate details corresponding to a previously configured schedule
- ApexSQL Manage Agent Updater Service, a background service used to update the agent whenever the main tool update contains enhancements for the agent
The two services can be found in the Windows services window:
ApexSQL Manage Agent Update Service is not to be confused with ApexSQL Update Service
In summary, ApexSQL Manage Agent is a helpful extension of the main application that is used only to communicate and execute scheduled operations in the background. It serves to support the automating process for all core features of the tool.
ApexSQL Manage Agent does not collect any personal data or data from SQL Server instances.