xp_subdirs权限被拒绝

问题描述 投票:0回答:1

运行时拒绝执行权限:

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',数据库'mysqlsystemresource',架构'sys'上的EXECUTE权限被拒绝。”可能的失败原因:查询问题,“ResultSet”属性设置不正确,参数设置不正确或连接未正确建立。

sql sql-server authentication jobs sql-server-data-tools
1个回答
0
投票

虚构用户需要具有sysadmin的SQL Server角色。好吧,至少这是有效的。我将不得不尝试其他权限,以查看我需要的最低权限级别。

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/295174f9-30e8-4925-a9e5-49d073dbf3ab/executing-xpsubdirs-as-nonsysadmin?forum=sqlsecurity

© www.soinside.com 2019 - 2024. All rights reserved.