SQL Server与Active Directory:用户权限管理与服务搭建
1. SQL Server用户模拟与权限管理
在SQL Server中,用户可以模拟其他用户,这一功能通过 EXECUTE AS 和 REVERT 语句来控制活动连接的模拟操作。不过,由于PHP应用中存在连接池,使用该功能时需谨慎。同时,存储过程也能以其他用户的身份执行。
1.1 定义执行用户
在创建存储过程时,可以指定执行该过程的用户,有以下几种选项:
- EXECUTE AS CALLER :存储过程以调用用户的身份执行,这是默认行为。
- EXECUTE AS OWNER :存储过程以过程所有者的用户账户执行。
- EXECUTE AS 'user name' :存储过程以指定用户的身份执行。
- EXECUTE AS SELF : EXECUTE AS 'user name' 的简化形式,用户为定义或更改该过程的用户。
以下是一个以其他用户身份执行的存储过程示例:
CREATE PROC runAsJulia
WITH EXECUTE AS 'Julia'
AS
SELECT user_name() AS DatabaseUser;
GO
当用户Doris调用 EXEC runAsJuli
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



