Everything you list is possible with some restrictions. Host security attributes allow you to create threads, but deny access to Thread.Join, etc. Read more about this in msdn.
Now the question is: βShould you do this?β I think this approach doesnβt sound very good, as it will load a lot of load on the database server, which will be very difficult to scale if necessary. I think the best approach is to add a custom assembly to SQL Server Reporting Services and allow processing there. If you run into scalability issues, you can add an additional reporting services engine.
There are also no restrictions on methods and classes in assemblies that are loaded into Reporting Services.
source share