Select * from table
where 1= CASE
when @param is null and column1='asdf' then 1
when @param is not null and column1='asdf' and colummn2 = @param then 1
else 0
END

Just an idea. Syntactically, the statement is corrent but you may alter the statement to address the requirements.