如何以编程方式确定我是否对数据库具有执行权限?

Has*_*niH 1 c# sql permissions stored-procedures

我有一个Windows服务,需要SQL Server 2005数据库的执行权限.在启动时,我检查是否可以连接到数据库并停止服务,如果我不能.我还想检查是否可以使用该连接执行存储过程.有没有办法在没有实际尝试执行sproc并查看异常的情况下执行此操作?

Rem*_*anu 11

SQL 2005以及您可以通过以下方式检查任何权限HAS_PERM_BY_NAME:

SELECT HAS_PERMS_BY_NAME('sp_foo', 'OBJECT', 'EXECUTE');
Run Code Online (Sandbox Code Playgroud)