Отличие между EXECUTE AS USER и EXECUTE AS LOGIN в SQL Server заключается в том, что они предоставляют разные возможности имперсонализации: 13
Таким образом, EXECUTE AS LOGIN используется, когда нужно взять на себя разрешения на уровне сервера, а EXECUTE AS USER — когда требуется изменить контекст на уровне базы данных. 13
Например, EXECUTE AS LOGIN полезен, если нужен доступ к нескольким базам данных при имперсонализации разных идентификаторов, а EXECUTE AS USER — если требуется доступ только к одной базе данных. 45