sql >> Base de Datos >  >> RDS >> Sqlserver

¿Problema conocido?:El procedimiento almacenado de SQL Server 2005 no se completa con un parámetro

Intente enmascarar el parámetro de entrada.

Supongo que la recompilación no funciona debido al valor predeterminado especificado (EDITAR :O parámetro enviado en la primera llamada) que se detecta en tiempo de compilación. Entonces, recompilar no tiene ningún efecto.

He visto una gran diferencia entre los planes estimados simplemente cambiando el valor predeterminado de, por ejemplo, cero a NULL, o no tener uno.

ALTER PROCEDURE [usp_debug_mightwork]
    @DATA_DT_ID AS int = 20081130
AS
BEGIN
    DECLARE @IDATA_DT_ID AS int
    SET @IDATA_DT_ID = @DATA_DT_ID
    -- Stuff here that depends on IDATA_DT_ID
END

Creo que este artículo explica...

EDITAR:

Nuevo enlace sobre planes y parámetros de consulta . Sigue siendo un rastreo de parámetros si se especifica un valor predeterminado o no.

Tipo de artículo relacionado sobre constantes y planes