|
|
1
1
您可能想查看应用程序角色(sp_setapprole),但您必须意识到,一旦上下文发生更改(例如设置了角色),SQL Server 2000将无法还原它(2005可能会)。这样做的结果是,当连接在代码中关闭时,它实际上是无用的,例如,它不能返回到池中并重用,这会导致可扩展性问题。 否则,一旦安全上下文建立,就无法更改它。 |
|
|
2
1
据我所知,SQL Server在传递的帐户是经过身份验证的上下文方面非常不同。以Enterprise Manager和其他工具为例,您必须断开连接并重新连接才能更改用户。 再加上看路 connection pooling 有效,它表示连接本身是缓存的用户特定的,因此如果你中途更改了执行方,将导致重大的安全问题。 所以简短的回答是,不,据我所知,这是不可能的。 |
|
|
3
0
根据您正在做的事情,EXECUTE AS可能会在这里为您提供帮助。这允许您在另一个用户的上下文中执行SQL,其方式与Windows shell中的RUN AS类似。SQL Server中的分析器和审计跟踪允许您查看原始用户以及语句在哪个上下文下运行。 EXECUTE AS用户=“新用户”; 选择。..<--新用户上下文下的SQL代码 回复; 注意:这在SQL Server 2000下不可用,是由于您的请求而添加的。 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
Marc Guillot · 记录值时忽略冲突 1 年前 |
|
|
Fachry Dzaky · 正确使用ROW_NUMBER 1 年前 |
|
|
TriumphTruth · 从满足特定条件的数据集中选择1行 1 年前 |