我有一个访问 SQLServer 数据库的 Windows 应用程序。在上周左右的某个时间,它停止在其他人的机器上工作,并抛出异常,表明他们没有对存储过程的执行权限。我想知道什么机制可能改变了我的数据库(当然我没有做任何事情......至少在知情的情况下)。
我设置了一个名为 db_execproc 的角色,添加了用户(应用程序使用 Windows 身份验证进行连接),并在 dbo 模式上授予角色 EXECUTE。一切正常,但由于某种原因它停止工作。再次向该角色授予 EXECUTE 解决了该问题。
所以我想知道这可能是如何被破坏的(SQLServer 更新?)。
此外,在 SQL Server Management Studio 中,我试图验证 db_execproc 是否具有正确的权限,但我看不到任何东西(在我授予它们之前或之后)。. . 如何查看已授予角色哪些权限?