В чем разница между...
execute as user = 'testuser'
И
execute as login = 'testuser'
Я выполняю процедуру кросс-базы данных под этими логинами, и она работает с выполнением от имени входа, но не с выполнением от имени пользователя. Он говорит, что основной сервер «testuser» не может получить доступ к базе данных «xxx» в контексте безопасности.
Когда я SELECT SYSTEM_USER
после обеих команд, я вижу, что он установлен на 'testuser'