我有一个 Windows 服务需要 SQL Server 2005 数据库的执行权限。启动时,我检查是否可以连接到数据库,如果不能则停止服务。我还想检查一下是否可以使用该连接执行存储过程。有没有一种方法可以在不实际尝试执行存储过程并在发生异常时查看异常的情况下做到这一点?
最佳答案
SQL 2005 及以上你可以用HAS_PERM_BY_NAME
检查任何权限:
SELECT HAS_PERMS_BY_NAME('sp_foo', 'OBJECT', 'EXECUTE');
关于c# - 如何以编程方式确定我是否具有对数据库的执行权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1562553/