我们遇到了一个问题:我们用c#创建了一个网站。网站上有一个按钮连接到SQL Server数据库,并调用一个存储过程来执行任务。
我们的用户被授予存储过程的执行权限。但是,当用户单击网站上的按钮时,将显示如下错误。只有当用户在数据库和c#应用程序所在的服务器上具有Admin权限时,该按钮才能正常工作。
错误消息是:
无法作为服务器主体执行,因为主体“sa”可以执行 不存在,这种类型的委托人不能冒充,或者你这样做 没有许可。
触发错误的c#代码是:
cmd.ExecuteNonQuery();
有人能帮帮我吗?
我尝试在服务器上为用户分配标准权限,但它不起作用。并且分配用户拥有数据库的所有权,存储过程和相关表存在,也无效。