Context Switching (Database Engine)

The topics in this section provide information to help you understand and implement context switching in modules and sessions.

Understanding Context Switching

Describes how an execution context can be switched from one login or user to another for the purposes of impersonation.

Understanding Execution Context

Describes execution context and the login and user security tokens.

Understanding Impersonation

Describes how SQL Server supports impersonation and delegation.

Extending Database Impersonation by Using EXECUTE AS

Describes how to use EXECUTE AS to extend user impersonation beyond the scope of the current database.


Compares and contrasts the EXECUTE AS statement and the SETUSER statement.

Using EXECUTE AS to Create Custom Permission Sets

Describes how to define custom permission sets using EXECUTE AS inside a module.

Using EXECUTE AS in Modules

Describes how to use EXECUTE AS inside modules such as stored procedures, triggers, queues, and user-defined functions.

Tutorial: Ownership Chains and Context Switching

Provides a tutorial that shows SQL Server security concepts that involve ownership chains and user context switching.