Transact-SQL 语法约定语法SQL Server Azure SQL 数据库 本部分介绍适用于 . 的 EXECUTE ASSQL Server 语法。 函数(内联表值函数除外)、存储过程和 DML 触发器: syntaxsql 复制 { EXEC | EXECUTE } AS { CALLER | SELF | OWNER | 'user_name' } 具有数据库范围的 DDL 触发器: syntaxsql 复制 {...
使用ORIGINAL_LOGIN 函式時,可傳回連線至 SQL Server 執行個體的登入名稱。 您可以利用這個函數來傳回有許多明確或隱含內容切換的工作階段中原始登入的識別。 權限 若要指定某項登入的 EXECUTE AS,呼叫者必須具有指定登入名稱的 IMPERSONATE 權限,而且不應拒絕其 IMPERSONATE ANY LOGIN 權限。 若要指定資料庫使用者的...
SQL Server Azure SQL Database 本節描述 的EXECUTE ASSQL Server 語法。 函式(內嵌資料表值函式除外)、預存程式和 DML 觸發程式: syntaxsql {EXEC|EXECUTE}AS{CALLER|SELF|OWNER|'user_name'} 具有資料庫範圍的 DDL 觸發程式: syntaxsql {EXEC|EXECUTE}AS{CALLER|SELF|'user_name'} ...
SQL Server Azure SQL 数据库 本部分介绍适用于 . 的EXECUTE ASSQL Server 语法。 函数(内联表值函数除外)、存储过程和 DML 触发器: syntaxsql {EXEC|EXECUTE}AS{CALLER|SELF|OWNER|'user_name'} 具有数据库范围的 DDL 触发器: syntaxsql {EXEC|EXECUTE}AS{CALLER|SELF|'user_name'} ...
图2.SQL Server端报错 结论:由此看出,当连接池复用时,第一次连接切换了上下文第二次连接复用时就会直接报错,这也是期待的结果,从而保证了安全性,如果希望采用这种方式结合连接池,则必须在第一次连接完使用Revert将安全上下文转换回登录时的安全上下文。 实验二:在存储过程中使用Execute As转换安全上下文 ...
EXECUTE AS LOGIN/USER和Revert表达式都是从SQL Server 2005就有。Revert的作用是用于切换当前过程的执行上下文返回上一个EXECUTE AS 语句发生之前的安全上下文。Revert可以在存储过程、ad-hoc环境下、用户定义函数中使用。Revert是和 EXECUTE AS LOGIN/USER配合起来使用的。
使用EXECUTE AS 扩展数据库模拟 SQL Server 支持使用独立的 EXECUTE AS 语句显式模拟另一主体或在模块上使用 EXECUTE AS 子句隐式模拟另一主体的能力。通过使用 EXECUTE AS LOGIN 语句,独立的 EXECUTE AS 语句可用于模拟服务器级的主体或登录帐户。通过使用 EXECUTE AS USER 语句,独立的 EXECUTE AS 语句还可用于...
EXECUTE AS 可以用于定义函数、过程、队列和触发器等用户定义模块的执行上下文。例如,可以将执行上下文从模块调用方切换到模块所有者或指定的用户。在早期版本的 SQL Server 中,始终在模块调用方上下文中执行这些模块。 通过指定执行模块的上下文,可以控制数据库引擎使用哪个用户帐户来验证是否对模块引用的任何对象拥有权限...
Applies ToSQL Server 2019 on Linux SQL Server 2019 on Windows Microsoft 365 免费试用版正在等待你使用 立即解锁症状 在Microsoft SQL Server 2019 中运行具有 EXECUTE AS 语句的 PolyBase 查询时,你注意到 PolyBase 查询超时,或者收到类似于以下内容的错误消息: 消息11001,级别 16,状态 1,行 编号 TCP ...
當您在 Microsoft SQL Server 2019 中執行具有 EXECUTE AS 語句的 PolyBase 查詢時,您會注意到 PolyBase 查詢逾時,或收到類似以下的錯誤訊息: Msg 11001、層級 16、州/市 1、 Line LineNumber TCP 提供者:已知沒有這類主機。 Msg 15274、層級 16、州/市 1、 Line LineNumber 由於目前的安全性內容不受信...