XP_CMDSHELL время от времени отключается без причины - PullRequest
0 голосов
/ 28 декабря 2018

Я хочу знать, как я могу сохранить XP_cmdshell включенным навсегда.Это локальная система, и я использую xp_cmdshell до , чтобы создать текстовый файл с результатами запроса.

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

Я много искал это, но, к сожалению, не получил ответа.

ps: Я знаю, как включить xp_cmdshell, яхочу, чтобы это продолжалось только вечно.

1 Ответ

0 голосов
/ 28 декабря 2018

Наверное, нет.Вы могли бы быть в состоянии перехватить и отклонить команду с помощью триггера DML на уровне сервера, но я действительно не рекомендовал бы это.

На самом деле есть только два хороших варианта, IMHO,Сначала включите и настройте ведение журнала аудита, чтобы определить, кто / что сбрасывает его, а затем с этим справиться.Поскольку это, вероятно, некоторые процедуры безопасности компании / корпорации, это, вероятно, предпочтительный путь.

XP_CmdShell очень удобен, но его трудно обеспечить должным образом.По сути, вы должны ограничить его только использованием SysAdmin, а затем агрессивно заблокировать права SysAdmin.Это сложно, потому что мир SQL Server изобилует небрежными приложениями (внутренними и сторонними), которые либо требуют, либо предполагают, что у них есть SysAdmin.

Другая возможность состоит в использовании другого, более безопасного методаделать то же самое.И SSIS, и SqlAgent имеют такие возможности.В прошлом я успешно использовал CmdExec от SqlAgent, его немного сложнее настроить, но гораздо проще защитить, и я бы порекомендовал попробовать его использовать.

...