Един от най-лесните начини да постигнете това:
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))
и т.н. Това напълно елиминира динамичния sql и ви позволява да търсите в едно или повече полета. Чрез елиминиране на динамичния sql премахвате още един проблем със сигурността по отношение на sql инжектирането.