繁体   English   中英

Windows模拟和SQL权限

[英]Windows Impersonation and SQL rights

我已在此问题中使用该技术来模拟对数据库具有管理权限的Windows用户。 我认为这将允许进程更改表等(如果我以该人的身份登录,则可以更改该表)。 我的连接字符串使用IntegratedSecurity并在提示用户输入db admin用户名和密码后,我模拟了该用户,然后重新连接到数据库。 我以为这将允许我创建表等,但是没有...

要给我的程序(临时)数据库管理员权限,我还需要做些其他事情吗?

我已经尝试使用EXECUTE AS LOGIN = @user ,但这并不EXECUTE AS LOGIN = @user -也许我还需要向SQL提供密码才能使它正常工作吗?

您可以在要使用的登录名中添加角色 ,也可以授予特定权限 第二种通常是首选方法,因为您可以更精细地提供给该帐户的访问权限。

您可能对连接池有问题。 当一个进程关闭一个连接时,该连接实际上并没有关闭,而是进入了进程的连接池。 下次该进程尝试打开连接时,如果池中的该连接具有与所请求的新连接相同的连接字符串,它将从该池中获得一个连接。 因此,您可能根本不会获得新的连接,而是已经与原始打开程序的身份验证一起打开的连接。

我能看到的唯一解决方法是为管理员用户使用不同的连接字符串:添加或删除没有区别的子句(例如“ MARS Connection = true”或类似内容)。 那应该工作。

干杯-

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM