xp_cmdshell 在 SQL 服务器上 Linux Public 预览

xp_cmdshell on SQL Server Linux Public Preview

我正在 Linux 上使用 SQL Server 2016 的 Public 预览版。 我正在尝试 运行 xp_cmdshell 并得到以下错误。 我怀疑它与权限有关,但不知道如何解决这个问题。 我花了很多时间寻找一些答案,但似乎对 Linux 上的 SQL 服务器的支持很少。 我正在 运行 使用管理员帐户进行此操作。 SQL 服务器安装在 Ubuntu 16.4(推荐)。 我在 Windows 10.

上使用 Microsoft SQL Management Studio 运行ning 连接到它

SQL代码:

EXEC xp_cmdshell @SQLtext, no_output

错误信息:

Msg 15121, Level 16, State 21, Procedure xp_cmdshell, Line 1 [Batch Start Line 159] An error occurred during the execution of xp_cmdshell. A call to 'CreateProcess' failed with error code: '2'.

根据 Microsoft's Release Notes SQL Server 2017 全面可用性,以下内容目前在 Linux 上不可用:

数据库引擎

  • 事务复制
  • 合并复制
  • 拉伸数据库
  • 多碱基
  • 使用第 3 方连接的分布式查询
  • 系统扩展存储过程(XP_CMDSHELL等)
  • 文件表
  • 具有 EXTERNAL_ACCESS 或 UNSAFE 权限集的 CLR 程序集
    缓冲池扩展

SQL 服务器代理

  • 子系统:CmdExec、PowerShell、队列 Reader、SSIS、SSAS、SSRS
  • 警报
  • 日志Reader代理
  • 更改数据捕获
  • 托管备份

高可用性

  • 数据库镜像

安全

  • 可扩展密钥管理
  • 链接服务器的 AD 身份验证
  • 可用性组 (AG) 的 AD 身份验证

服务

  • SQL 服务器浏览器
  • SQL 服务器 R 服务
  • StreamInsight
  • 分析服务
  • 报告服务
  • 数据质量服务
  • 主数据服务

Microsoft 还有发行说明列表和不支持的功能列表here