Community Tools are executed on your monitored instances using the Messaging feature. The GUI communicates with the service via the repository database using service broker. The service runs the scripts and sends the data back to the GUI. The complexity is hidden behind the scenes - once the scripts are deployed and security configured, it just works.
Deploy the community tools to your SQL instances & ensure the DBA Dash service account has permissions to execute.
The script below can be used to automate the deployment of community tools & permissions using dbatools.
On the options tab in the service configuration tool, ensure Enable Communication is checked.
In the Allowed Community Scripts textbox, enter “*” to allow all community scripts or click the “ALL” link. Or click the “All Explicit” link and edit the comma-separated list as required.
Save the config & restart the service.
Community Tools can then be found in the Community Tools folder in the tree under each SQL instance node. A subset of tools will also appear under each database node, passing the context database to the procedure.
Running a tool is as simple as clicking Execute. Most tools have additional parameters that can be set.
Community tools are ran directly on your monitored instances rather than against the repository database. Where you see an Execute button rather than a Refresh button, the action will cause something to run directly on your monitored instance.
Community tools are run under the context of the DBA Dash service account. This allows users that have been granted appropriate access to the repository database access to the monitored instances which they might not normally have access to. SQL Injection, elevation of privilege etc might be possible on past, present or future versions of community scripts. Enable the community scripts that your organization trusts and limit access to run the scripts to appropriate individuals.
Users can run community scripts if they are a database owner on the repository database, or have the Messaging and CommunityScripts roles.