JBo*_*one 8 sql impersonation sql-server-2005 sql-server-2008
......之间的差异是什么?
execute as user = 'testuser'
Run Code Online (Sandbox Code Playgroud)
和
execute as login = 'testuser'
Run Code Online (Sandbox Code Playgroud)
我正在这些登录下执行跨数据库过程,它使用exececute作为登录,但不作为执行用户.它说服务器主体"testuser"不能在安全上下文下访问数据库"xxx".
当我SELECT SYSTEM_USER在两个命令之后,我看到它被设置为'testuser'
gor*_*ric 11
execute as login由于登录位于服务器级别,因此会为整个服务器提供模拟.由于用户是按数据库定义的,因此execute as user模拟仅适用于特定数据库,这就是您跨数据库时看到错误的原因.
| 归档时间: |
|
| 查看次数: |
8861 次 |
| 最近记录: |