gpt4 book ai didi

.net - 存储过程中的表值参数获取执行权限被拒绝错误

转载 作者:行者123 更新时间:2023-12-02 01:13:37 25 4
gpt4 key购买 nike

调用将表值参数作为参数之一的存储过程时出现以下错误

对象“ValidationErrors”的EXECUTE权限被拒绝

ValidationErrors 是使用以下语句创建的 TVP:

CREATE TYPE [dbo].[ValidationErrors] AS TABLE(
[ErrorMessage] [varchar](255) NOT NULL
)

执行存储过程的用户具有存储过程的执行权限。但是,我仍然收到上述错误。有什么想法吗?

最佳答案

我认为您可能还需要授予用户对该类型的权限。

向类型授予权限的引用:
SQL 2005
SQL 2008

更新:
回复:当您拥有存储过程的权限时,为什么必须授予类型的权限。我不知道确切的原因,但是BOL说:

Unlike user-defined types created by using sp_addtype, the public database role is not automatically granted REFERENCES permission on types that are created by using CREATE TYPE. This permission must be granted separately.

更新 2:要授予 EXECUTE 权限,您需要在 SSMS 中运行以下命令:

GRANT EXECUTE ON TYPE::dbo.ValidationErrors TO SomeUser;

关于.net - 存储过程中的表值参数获取执行权限被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2244217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com