最初的问题是:具有创建/alter权限的用户在尝试执行任何操作时都将获得此消息:
无法找到类型'nvarchar',因为它不存在或您没有权限。
通过一些网络挖掘,我发现这可能是因为他没有GRANT REFERENCE
的类型许可。然而,
select * from sys.types order by name
返回超过2000条记录,GRANT REFERENCE
命令接受单个类型作为参数。如何授予此用户对所有类型的引用权限?
发布于 2019-03-22 04:05:27
如果您需要这样做,只需使用动态SQL生成命令。
SELECT t.name,
'GRANT REFERENCES ON TYPE::'
+ SCHEMA_NAME(t.schema_id)
+ '.'
+ t.name
+ ' TO public;' AS command_to_run
FROM sys.types AS t;
https://dba.stackexchange.com/questions/232831
复制相似问题