我使用Windows身份验证连接到SQL Server。我在dbo
模式中创建了一个存储过程。当我尝试在SSMS中执行该存储过程时,我收到以下错误
对象'sp_test',数据库'myDB,schema = dbo
上的执行权限被拒绝
这里需要做什么?
为什么我需要为我创建的存储过程授予权限?
答案 0 :(得分:2)
如果您创建了存储过程并不重要。 SQL Server不使用Windows身份验证来确定您是否有权执行存储过程。它仅使用它来授予您连接服务器的权限。连接后,您需要将Windows帐户映射到相应数据库中的用户。完成此操作后,您通常希望自己成为数据库角色的成员(创建新角色或使用其中一个预定义角色),然后向您所属的角色授予执行权限。这可以确保此角色的任何成员都可以执行存储过程。