Configuraría un seguimiento en SQL Server Profiler para ver qué configuraciones de opciones SET usa la conexión cuando se conecta desde el código .NET, y qué configuraciones se usan en SSMS. Por configuración de opciones SET, me refiero a
ARITHABORT
ANSI_NULLS
CONCAT_NULL_YIELDS_NULL
//etc
Eche un vistazo a MSDN para una tabla de opciones
He visto el problema antes donde las opciones eran diferentes (en ese caso, ARITHABORT
) y la diferencia de rendimiento fue enorme.