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

标签 c# sql stored-procedures permissions

我有一个 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/

相关文章:

c# - XUnit 和 ASP.NET Core 1.0 的依赖注入(inject)

mysql - 如何存储嵌套位置?

mysql - 存储过程语法错误

sql - 有没有一种优雅的方法可以将整行从一个数据库复制到具有相同架构的另一个数据库

sql - 将 sql_variant 转换为以 varchar 形式提供的 data_type

mysql - 如何在shell脚本中将mysql存储过程的结果转换为JSON数据?

c# - 从它们扩展的类中使用扩展方法

c# - 关键字 'User' 附近的语法不正确

c# - 用于在 C# 中选择的 SQL 查询生成器

mysql - 关于sql中连接的一般查询