xp_cmdshell в общедоступной предварительной версии SQL Server Linux

Я использую общедоступную предварительную версию SQL Server 2016 в Linux. Я пытаюсь запустить xp_cmdshell и получаю следующую ошибку. Я подозреваю, что это связано с разрешениями, но понятия не имею, как это исправить. Я потратил много часов на поиск некоторых ответов, но похоже, что поддержка SQL Server в Linux незначительна. Я запускаю это, используя учетную запись администратора. SQL Server установлен на Ubuntu 16.4 (как и рекомендуется). Я подключаюсь к нему с помощью Microsoft SQL Management Studio, работающей в Windows 10.

Код SQL:

EXEC xp_cmdshell @SQLtext, no_output

Сообщение об ошибке:

Сообщение 15121, уровень 16, состояние 21, процедура xp_cmdshell, строка 1 [строка запуска пакета 159] Произошла ошибка во время выполнения xp_cmdshell. Вызов «CreateProcess» завершился неудачно с кодом ошибки: «2».


person smucha    schedule 22.11.2016    source источник
comment
Я считаю, что xp_cmdshell не переходит на версию SQL Server для Linux, но я проверю источники. Редактировать: это был эпизод 70 подкаста SQL Data Partners, который представляет собой интервью с Трэвисом Райтом (менеджером программы для SQL Server при миграции на Linux) sqldatapartners.com/подкаст   -  person Rich Benner    schedule 22.11.2016
comment
Хорошо, спасибо за быстрый ответ. Если xp_cmdshell не будет доступен в Linux, то как я могу передавать команды в оболочку с помощью SQL Management Studio?   -  person smucha    schedule 22.11.2016
comment
@smucha, это отдельный вопрос, и он должен генерировать собственный вопрос на SO   -  person DForck42    schedule 22.11.2016
comment
Для справки, это на 34-й минуте этого подкаста.   -  person Rich Benner    schedule 22.11.2016
comment
Спасибо, это все проясняет   -  person smucha    schedule 23.11.2016


Ответы (1)


Согласно Примечаниям к выпуску Microsoft для SQL Server 2017 General Availability следующие компоненты в настоящее время недоступны в Linux:

Ядро базы данных

  • Транзакционная репликация
  • Репликация слиянием
  • Растянуть БД
  • полибаза
  • Распределенный запрос со сторонними подключениями
  • Расширенные системные хранимые процедуры (XP_CMDSHELL и т. д.)
  • Таблица файлов
  • Сборки CLR с набором разрешений EXTERNAL_ACCESS или UNSAFE
    Расширение буферного пула

Агент SQL Server

  • Подсистемы: CmdExec, PowerShell, средство чтения очереди, SSIS, SSAS, SSRS.
  • Оповещения
  • Агент чтения журнала
  • Изменить захват данных
  • Управляемое резервное копирование

Высокая доступность

  • Зеркальное отображение базы данных

Безопасность

  • Расширяемое управление ключами
  • Аутентификация AD для связанных серверов
  • Аутентификация AD для групп доступности (AG)

Услуги

  • Браузер SQL Server
  • Службы SQL Server R
  • StreamInsight
  • Аналитические службы
  • Службы отчетности
  • Услуги по обеспечению качества данных
  • Услуги мастер-данных

У Microsoft также есть список примечаний к выпуску и список неподдерживаемых функций здесь.

person DForck42    schedule 22.11.2016
comment
Примечание для всех - этот ответ устарел. Полнотекстовый архив, агент SQL и т. д. теперь доступны в общедоступной версии SQL 2017 docs.microsoft.com/en-us/sql/linux/ - person Alex from Jitbit; 05.10.2017
comment
@jitbit Я пошел дальше и обновил свой ответ, чтобы отразить самую последнюю версию - person DForck42; 05.10.2017