运行时拒绝执行权限:
DECLARE @RootPath VARCHAR(1000) = '\\SomeUNCPath\SubFolder\'
...
EXEC master.sys.xp_subdirs @RootPath
来自调用包的作业,并且包具有单个SQL执行任务。我为文件夹上的用户“everyone”设置了完全控制权,所以我不知道在哪里可以查看。该程序包与部署程序包的位置具有不同的连接,因此创建作业并且连接使用Windows身份验证。在SQL Server消息的“查看上下文”页面中,调用者不是我,而是一个虚构的用户,但如果每个人都有完全控制权,则无关紧要。
如果我使用Windows身份验证登录到服务器,SQL代码在SQL Server Management Studio中可以正常工作,并且如果在Visual Studio的上下文中运行则可以正常工作 - 所以我认为它在两种情况下都像我一样运行。
当我运行包时,我收到错误:
'用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败。
当我通过Job运行包时,我得到了:
“对象'xp_subdirs'上的EXECUTE权限被拒绝, 数据库'mysqlsystemresource',架构'sys'。“可能失败 原因:查询问题,“ResultSet”属性未设置 正确,参数设置不正确,或连接未建立 正确“。
答案 0 :(得分:0)
虚构用户需要具有sysadmin的SQL Server角色。好吧,至少这是有效的。我将不得不尝试使用其他权限来查看我需要的最低权限级别。