Uma das maneiras mais fáceis de fazer isso:
SELECT * FROM table
WHERE ((@status_id is null) or (status_id = @status_id))
and ((@date is null) or ([date] = @date))
and ((@other_parameter is null) or (other_parameter = @other_parameter))
etc.Isso elimina completamente o sql dinâmico e permite pesquisar em um ou mais campos. Ao eliminar o sql dinâmico, você remove ainda outra preocupação de segurança em relação à injeção de sql.