我们最近开始测试在Compat模式100下运行的新SQL2008服务器,我们的一个.NET应用程序已停止运行并返回错误:
对象'My Stored proc',数据库'My Database',架构'dbo'上的EXECUTE权限被拒绝。
现在我已经确定此应用程序正在建立连接的登录具有正确的EXECUTE权限,因此我知道这不是问题。所以我想知道是否还有其他原因导致这种情况与SQL Server 2008的兼容模式有关,甚至是其他什么?
.NET应用程序当前处于3.5并使用System.Data.SqlClient来调用存储过程。
提前致谢!
答案 0 :(得分:1)
想出来 - 我使用的用户帐户需要相应的EXECUTE权限(尽管我特意说我已经这样做了)。在Management Studio中,它没有告诉我,当我授予这些权限时,它并没有坚持,当我右键单击数据库并进入属性>权限并找到有问题的帐户的有效权限我发现了愚蠢的错误。此帐户最初来自SQL2000实例,我只是忘记将权限移植到。