• Joshua - from the question itself:

    You are testing an application role in SQL Server 2005. You connect with SSMS, invoke the role, and then execute various queries and stored procedures

    You can only "invoke the role" with sp_setapprole. The question is worded just so that it doesn't steer you to the answer. No - it doesn't specifically mention sp_setapprole, but that's on purpose, and IMO - not incorrect at all.

    Besides - it covers both alternatives. if the cookie isn't set, then you have to disconnect and reconnect to get your permissions; if the cookie is set, then you can use sp_unsetapprole.

    ----------------------------------------------------------------------------------
    Your lack of planning does not constitute an emergency on my part...unless you're my manager...or a director and above...or a really loud-spoken end-user..All right - what was my emergency again?