我有一个运行以下sql的程序:
CREATE FUNCTION [foo\bar].something
(
SQL看起来很好,但我收到了错误
The specified schema name "foo\bar" either does not exist or you do not have permission to use it.
我可以在数据库上运行什么SQL,以便获得模式访问权限来创建函数?我想我想将我的默认架构保持为dbo,只需访问其他[foo \ bar]架构。
答案 0 :(得分:2)
SQL Server联机丛书在CREATE FUNCTION主题(https://msdn.microsoft.com/en-us/library/ms186755.aspx)中声明:
在数据库和ALTER中需要CREATE FUNCTION权限 对正在创建函数的模式的权限
答案 1 :(得分:0)
由于某些奇怪的原因,虽然我确实阅读了文档,但ALTER在我的具体案例中并不起作用
GRANT ALL ON SCHEMA::[foo\bar] TO [TheUser]
解决了它。