La depuración de SSDT SQL Server no llega a los puntos de interrupción de CLR

Apliqué elParche de herramientas de datos de SQL Server a Visual Studio 2012 (Premium) y creó un proyecto de función definida por el usuario CLR de SQL Server en C #:

public partial class UserDefinedFunctions
{
    [Microsoft.SqlServer.Server.SqlFunction]
    public static SqlInt32 Add42(SqlInt32 in_param)
    {
        SqlInt32 retval = in_param + 42;  // Set break point here.
        return retval;
    }
}

En el panel del Explorador de objetos de SQL Server, hago clic con el botón derecho en la UDF recién publicada y selecciono "Ejecutar función ...". Se me solicita que proporcione un valor de entrada de muestra, y Visual Studio luego publica la función (nuevamente) en mi 2012 local SQL Server y genera un script que se parece a esto:

DECLARE    @return_value Int

EXEC    @return_value = [dbo].[Add42] @in_param = 5

SELECT    @return_value as 'Return Value'

GO

... y lo ejecuta, devolviendo el resultado esperado de 47.

Si ahora coloco un punto de interrupción en una línea ejecutable en mi código CLR UDF C #, haga clic derecho en la función UDF en el Explorador de objetos de SQL Server y esta vez seleccione "Función de depuración ...", aterrizo en un depurador para el Script de prueba SQL. Puedo pasar por las sentencias de SQL hasta el final de la secuencia de comandos, que devuelve el resultado correcto, pero el punto de interrupción en mi código C # nunca se alcanza en el depurador de C #.

La terminología para esta característica parece engañosa. Para cualquier programador, "depurar" una función significa pasar por las líneas ejecutables en el código de la función en sí. Simplemente generando un arnés de prueba SQL que llama a mi función compilada y recupera el resultado, simplemente está "probando" la función. A lo sumo, lo único que se está "depurando" es la prueba generada por la herramienta en sí misma, porque no puede "Entrar en" el código CLR. La única opción es "Pasar por encima".

Entonces, ¿cómo puedo obtener Visual Studio para realmentedepurar, y golpear el punto de interrupción en mi código C # UDF?

Respuestas a la pregunta(4)

Su respuesta a la pregunta