SQL 服务器角色需要的权限才能使用 OBJECT_NAME
Permissions required for SQL Server role to be able to use OBJECT_NAME
我需要向 SQL 服务器数据库角色授予什么最低权限和对象才能获得 OBJECT_NAME
和 OBJECT_SCHEMA_NAME
return 一个值而不是 NULL
?
如果有什么奇怪的东西那么我可以只使用 sys.objects
和 sys.schemas
但我假设使用 OBJECT_NAME
和 OBJECT_SCHEMA_NAME
将是单值的更好方法@@PROCID
访问。
根据 OBJECT_NAME
and OBJECT_SCHEMA_NAME
的 MSDN 页面:
Requires ANY permission on the object. To specify a database ID, CONNECT permission to the database is also required, or the guest account must be enabled.
所以答案是您需要any 对传递给函数的对象的权限。确保在调用函数时确实传递了一个有效的 object_id
(属于 INT
类型并且应该对应于当前或指定数据库中对象的 object_id
值)。
我需要向 SQL 服务器数据库角色授予什么最低权限和对象才能获得 OBJECT_NAME
和 OBJECT_SCHEMA_NAME
return 一个值而不是 NULL
?
如果有什么奇怪的东西那么我可以只使用 sys.objects
和 sys.schemas
但我假设使用 OBJECT_NAME
和 OBJECT_SCHEMA_NAME
将是单值的更好方法@@PROCID
访问。
根据 OBJECT_NAME
and OBJECT_SCHEMA_NAME
的 MSDN 页面:
Requires ANY permission on the object. To specify a database ID, CONNECT permission to the database is also required, or the guest account must be enabled.
所以答案是您需要any 对传递给函数的对象的权限。确保在调用函数时确实传递了一个有效的 object_id
(属于 INT
类型并且应该对应于当前或指定数据库中对象的 object_id
值)。