I prefer using SPs whenever it's possible. but in some work environments, you are required to attach condition to existing SQL statements or constructing SQL statements based on program flow. it would be slower but this is can't be done using SPs except when you use
exec
and in such case you will lose the value of SPs or you will - and that mostly happen - have to make large number of SPs or put lot of business on them. but if we are talking about parameterized queries, then it differs: when using TSQL with parameterized queries you nearly get the same performance of SPs as it's also cached. and yes SPs are debuggable but debugging parameterized queries is much much easier. again if you are going to ask, I'll definitely choose SPs but with respect to the above issues. shortly, the correct answer is 'it depends'. and the correct question should be 'What scenarios would using SPs is preferred to TSQL?'
plextoR