Получение выполняет разрешение к xp_cmdshell

Я вижу сообщение об ошибке при попытке выполнить xp_cmdshell из хранимой процедуры.

xp_cmdshell включен на экземпляре. И выполнить разрешение было дано моему пользователю, но я все еще вижу исключение.

ВЫПОЛНИТЬ разрешение было отклонено на объекте ‘xp_cmdshell’, база данных ‘mssqlsystemresource’, схема ‘sys’

Часть проблемы - то, что это - общий кластер, и у нас есть единая база данных на экземпляре, таким образом, у нас нет полного спектра администраторских полномочий. Таким образом, я не могу войти и дать разрешения и этажерку.

32
задан David Griffiths 6 January 2010 в 22:13
поделиться

1 ответ

Для пользователей, которые не являются членами роли системного администратора в экземпляре SQL Server, необходимо выполнить следующие действия, чтобы предоставить доступ к расширенной хранимой процедуре xp_cmdshell. Кроме того, если вы забыли один из шагов, я перечислил ошибку, которая будет выдана.

  1. Включите процедуру xp_cmdshell

    Сообщение 15281, уровень 16, состояние 1, процедура xp_cmdshell, строка 1 SQL Server заблокировал доступ к процедуре sys.xp_cmdshell компонента xp_cmdshell, поскольку этот компонент отключен как часть конфигурации безопасности для этого сервера. Системный администратор может включить использование xp_cmdshell с помощью процедуры sp_configure. Дополнительные сведения о включении 'xp_cmdshell' см. В разделе «Конфигурация контактной зоны» в электронной документации по SQL Server. *

  2. Создайте учетную запись для пользователя, не являющегося системным администратором, который имеет общий доступ к базе данных master

    Сообщение 229, уровень 14 , Состояние 5, процедура xp_cmdshell, строка 1 В разрешении EXECUTE было отказано для объекта «xp_cmdshell», базы данных «mssqlsystemresource», схемы «sys». *

  3. Предоставить разрешение EXEC для хранимой процедуры xp_cmdshell

    Сообщение 229, уровень 14, состояние 5, процедура xp_cmdshell, строка 1 В разрешении EXECUTE было отказано для объекта «xp_cmdshell», базы данных «mssqlsystemresource», схемы «sys». *

  4. Создайте учетную запись прокси, под которой будет запускаться xp_cmdshell, с использованием sp_xp_cmdshell_proxy_account

    Msg 15153, уровень 16, состояние 1, Процедура xp_cmdshell, строка 1 Информация об учетной записи прокси xp_cmdshell не может быть получена или недействительна. Убедитесь, что учетные данные '## xp_cmdshell_proxy_account ##' существуют и содержат действительную информацию. *

Судя по вашей ошибке, шаг 2 или 3 был пропущен. Я не знаком с кластерами, чтобы знать, есть ли что-то особенное в этой настройке.

55
ответ дан 27 November 2019 в 19:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: