数据库访问时,切换用户是一个必不可少的操作。ms SQL server提供了一个名为堆叠切换的功能,可以有效的帮助我们切换用户,节省大量的实现和时间。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站制作、播州网络推广、微信小程序、播州网络营销、播州企业策划、播州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供播州建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
在介绍mssql堆叠切换用户时,最好先解释一下什么是堆叠跟踪。堆叠跟踪是指MS SQL Server中标记一个事务及其子节点是否有一个请求线程完成。MS SQL Server支持多样化的请求线程,例如上下文、线程之间的SID和登录名,以及连接标识符(connectionID)等。
MS SQL Server的堆叠切换用户是在堆叠跟踪的基础上实现的,它主要是在事务上下文中记录一组用户,将这些用户堆叠起来,然后在同一trigger或存储过程中出现相同的用户名或SID时会自动跳到另一个用户去L。
例如,假设当前连接有两个用户A和B,当前正在使用用户A,然后我们在trigger中又使用了用户B,此时MS SQL Server就会堆叠切换到用户B去.
Syntax:
EXECUTE AS USER = ‘user_name’ or EXECUTE AS LOGIN = ‘login_name’;
具体实现代码如下:
USE tempdb
GO
— Create a procedure
IF OBJECT_ID(‘usp_TestExecutionAs’) IS NOT NULL
DROP PROCEDURE usp_TestExecutionAs
CREATE PROCEDURE usp_TestExecutionAs AS
BEGIN
DECLARE @UserName as VARCHAR(20)
SELECT @UserName = SYSTEM_USER
SELECT @UserName as ‘Before ExecutionAs’
EXECUTE AS LOGIN=’sa’;
SELECT SYSTEM_USER as ‘After ExecutionAs’
REVERT;
SELECT @UserName as ‘After Revert’
END
GO
— Execute the procedure
EXECUTE tempdb.dbo.usp_TestExecutionAs;
就是这样,使用MS SQL Server的指令即可实现堆叠切换用户的功能。它可以节省大量的实现时间,让我们的工作更加方便。此外,MS SQL Server还有其他多种切换用户的方式,例如使用Windows登录,或者使用系统角色。只要选择合适的方式,就可以更好地支持数据库访问和管理工作。
创新互联(cdcxhl.com)提供稳定的云服务器,香港云服务器,BGP云服务器,双线云服务器,高防云服务器,成都云服务器,服务器托管。精选钜惠,欢迎咨询:028-86922220。
文章名称:堆叠切换用户:MSSQL中的一把利刃(mssql堆叠切换用户)
网页路径:http://www.shufengxianlan.com/qtweb/news24/66174.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联