"This code should not affect the speed of the application or service data for the SQL server"
This is a Schroedinger Cat scenario: in order to find out the current status of a given remote service or process, you must serialize the message on the network, wait for a response, de-serialize the response and act on it. All of which will require some work and resources from all the machines involved.
However, this work can be performed in the background thread on the caller and, if not called too often, cannot affect the target server in any measurable way.
You can use SMO (SQL Server Management Objects) to connect to a remote server and do almost everything you can do with SQL Admin tools, because they use SMO to work with their magic. This is a fairly simple API and can be very powerful in the right hands.
SMO makes it unsurprising that you have the appropriate rights to the fields that you want to control. If you do not have / cannot have sufficient rights, you can ask your friendly SQL amin team to publish a simple data feed that provides some of the data you need.
NTN.
source share