从sql连接字符串

时间:2017-06-26 18:46:35

标签: sql-server connection-string

我正在尝试从SQL连接字符串中找到一种方法来执行“execute as user”命令。我有一个来自外部源的查询,我无法修改,还有一个已经使用execute as user进行安全设置的数据库。我唯一可以修改的是连接字符串。我一直在寻找并且在搜索中找不到任何相关内容。

在连接字符串中可以执行类似于“以用户身份执行”的内容吗?

如果是,怎么样?

使用SQL Server 2016 - SP1

编辑: 表中的用户具有与之关联的许多角色。每个唯一的角色组合都有一个用户创建(无法登录,因此您无法以该用户身份进行连接并获得访问权限)。该用户具有应用行级安全性的模式,因此根据用户的角色,他们只能看到允许的数据。使用“作为用户执行= [自动生成的用户]”,他们使用唯一权限模式模拟适当的用户,从而仅返回允许他们查看的数据。我将与用户建立连接,然后需要执行相同的execute as语句,但我无法修改实际查询,因此需要在连接字符串中完成。

1 个答案:

答案 0 :(得分:0)

您无法通过连接字符串执行此操作,因为您必须已连接才能模拟用户。

连接字符串允许用户连接(即登录)到SQL实例,因此无法登录的用户无法使用它。相反,您必须以具有登录权限的用户身份进行连接,然后通过EXECUTE AS USER模拟用户。