Show executing SQL statement in long-running query log message

Also fix typo ("progess" -> "progress").  Refactor unit test, and add unit test coverage for log message.
Have not notice that we can get the SQL text such easily.

For AdHoc, is it the exact sql text without parameter? How about for stored procedure?