It depends, firstly you do not want to hog the CPU processing the data if SQLServer wants all that CPU for itself - you'll be defeating the point, so migrating the data crunching task to a different server, even though this would be less efficient, would be faster overall. Typically DBs use a lot of CPU, so do some profiling whether you have the capacity.
If you have a mirrored server, that can be the best place to run a heavy computational task on the data, you'll just have to copy the results back to the original in most cases, but at least you'll have quick access to the original data.
Can you do the crunching during quiet times - overnight for example. If so, this is probably the best approach. If you need the data crunched in "real-time" then this obviously won't be sufficient.