当前位置: 首页 > 面试题库 >

MS SQL Server:检查用户是否可以执行存储过程

谢英光
2023-03-14
问题内容

如何检查用户是否可以在MS SQL Server中执行存储过程?

我可以通过连接到master数据库并执行以下命令来查看用户是否具有显式执行权限:

databasename..sp_helpprotect 'storedProcedureName', 'username'

但是,如果用户是具有执行权限的角色的成员,则sp_helprotect不会帮助我。

理想情况下,我希望能够打电话给类似

databasename..sp_canexecute 'storedProcedureName', 'username'

这将返回布尔值。


问题答案:

fn_my_permissions
HAS_PERMS_BY_NAME



 类似资料:
  • 问题内容: 如何检查存储过程或查询是否仍在SQL Server中运行? 主意 我曾经想过要在过程开始时在哪里写日志,并在过程结束时将日志删除。 缺陷: 使用过程监控器 我希望能有一个可以合并为一个存储过程的解决方案和/或,作为输入,所以使用SQL Server的界面将无法正常工作跟踪程序或解决方案。 更新#1 用法示例: 该过程应该像 并在运行时(20秒内)返回true,然后在函数失败或系统重新启

  • 问题内容: 当我尝试从Rails调用存储过程时,出现以下异常: Rails Wiki中 有一个页面讨论用于解决此问题的MySQL适配器的修补程序,但是它已过时,似乎不再起作用。 配置代码正确地启用了存储过程,但是在存储过程调用之后连接仍然不同步并且新方法不再起作用,仍然存在问题。 关于如何使它工作的任何建议? 这是我正在使用的代码: 无论是否返回任何结果,它都会引发相同的异常。 问题答案: 将程序

  • 问题内容: 我正在写一个基本查询,类似: 我想然后通过使用类似的结果执行: 我的问题是,如何检查? 问题答案: 如果您希望查询可能经常返回行(尤其是很多行),也可以这样做,这可能会提供一个更好的短路机会: …因为它将在到达匹配的第一行后立即返回。 我不建议仅使用它,因为您每次都必须实现(忽略)整个结果集。

  • 我有一个可以工作的DM命令,但如果我尝试DM一个关闭了DMs的人,会给出以下错误: 我如何让它检查用户是否打开了DMs?

  • 问题内容: 我主要是oracle新手,所以如果这是一个愚蠢的问题,请原谅我… 我有一个名为“ CODE”的架构,该架构具有一个执行任意SQL的存储proc(目前,请忽略与此相关的潜在安全问题)。传入的SQL将选择数据;但是所有数据都驻留在架构A,B或C中- 但是SQL一次只能选择一个架构。 例如:类型A的用户创建字符串’SELECT * FROM A.USERTABLE’-类型B的用户创建字符串’

  • 我有麻烦让我的代码工作。当用户输入用户名时,它会检查数据库,看看它是否存在,以及它是否设置了