gpt4 book ai didi

sql-server - 获得对 xp_cmdshell 的执行权限

转载 作者:太空狗 更新时间:2023-10-30 01:38:46 27 4
gpt4 key购买 nike

我在尝试从存储过程中执行 xp_cmdshell 时看到一条错误消息。

xp_cmdshell 已在实例上启用。并且已向我的用户授予执行权限,但我仍然看到异常。

对象“xp_cmdshell”、数据库“mssqlsystemresource”、模式“sys”的 EXECUTE 权限被拒绝

部分问题在于这是一个共享集群,我们在实例上只有一个数据库,所以我们没有全方位的管理员权限。所以我无法进入并授予权限,等等。

最佳答案

对于不是 SQL Server 实例上 sysadmin 角色成员的用户,您需要执行以下操作以授予对 xp_cmdshell 扩展存储过程的访问权限。此外,如果您忘记了其中一个步骤,我列出了将抛出的错误。

  1. 启用 xp_cmdshell 程序

    Msg 15281, Level 16, State 1, Procedure xp_cmdshell, Line 1SQL Server blocked access to procedure 'sys.xp_cmdshell' of component 'xp_cmdshell' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'xp_cmdshell' by using sp_configure. For more information about enabling 'xp_cmdshell', see "Surface Area Configuration" in SQL Server Books Online.*

  2. 为具有对 master 数据库的公共(public)访问权限的非系统管理员用户创建登录

    Msg 229, Level 14, State 5, Procedure xp_cmdshell, Line 1The EXECUTE permission was denied on the object 'xp_cmdshell', database 'mssqlsystemresource', schema 'sys'.*

  3. 授予对 xp_cmdshell 存储过程的 EXEC 权限

    Msg 229, Level 14, State 5, Procedure xp_cmdshell, Line 1The EXECUTE permission was denied on the object 'xp_cmdshell', database 'mssqlsystemresource', schema 'sys'.*

  4. 使用 sp_xp_cmdshell_proxy_account 创建一个 xp_cmdshell 将在其下运行的代理帐户

    Msg 15153, Level 16, State 1, Procedure xp_cmdshell, Line 1The xp_cmdshell proxy account information cannot be retrieved or is invalid. Verify that the '##xp_cmdshell_proxy_account##' credential exists and contains valid information.*

从您的错误来看,似乎错过了第 2 步或第 3 步。我不熟悉集群,不知道该设置是否有任何特殊之处。

关于sql-server - 获得对 xp_cmdshell 的执行权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2016669/

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