• Or CLR procedures. you can spawn threads inside one of those.

    However why do you want to? You complicate things and if you have issues with your code, you could create debugging headaches or other issues.

    I used to manage hundreds of instances and we'd have processes that connected to every machine. Worked well.

    The other thing you might consider is have a local admin database on each server. Set up the permissions job in there and have each server pull the data to the admin database. It's self contained and it allows you to hit each server directly and get the info.

    Then have a central instance that connects to all these remote admin databases and gets the data. If it misses one or there's an issue, it still has the other data and you could always get to that local machine and see the data there.