如果你用“execute as xxx”编写一个过程,是否可以在过程中以某种方式检索调用该过程的原始用户?
ORIGINAL_LOGIN()
http://technet.microsoft.com/en-us/library/ms189492.aspx
根据文档,您使用 EXECUTE AS CALLER:
作为调用者执行; 选择用户名(); -- 显示执行上下文设置为模块的调用者 SqlUser2。 恢复;
https://learn.microsoft.com/en-us/sql/t-sql/statements/execute-as-clause-transact-sql?view=sql-server-ver16