Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 xp_cmdshell удаление файлов с диска на сервере  [new]
assmsk
Member

Откуда:
Сообщений: 169
После выполнения процедуры по заливке данных из файлов .dbf хочу эти самые файлы удалить через xp_cmdshell.
Команды копирования создания папок и переименования работают, но удаление нет. Хотя сам я могу руками эти файлы удалить.

EXEC xp_cmdshell 'DEL "E:\New folder\temp\*.DBF"'--,NO_OUTPUT;

Выдает - "Access is denied."

Что необходимо сделать, что бы можно было удалять файлы?
24 окт 17, 17:29    [20896383]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell удаление файлов с диска на сервере  [new]
LoopN
Guest
assmsk
После выполнения процедуры по заливке данных из файлов .dbf хочу эти самые файлы удалить через xp_cmdshell.
Команды копирования создания папок и переименования работают, но удаление нет. Хотя сам я могу руками эти файлы удалить.

EXEC xp_cmdshell 'DEL "E:\New folder\temp\*.DBF"'--,NO_OUTPUT;

Выдает - "Access is denied."

Что необходимо сделать, что бы можно было удалять файлы?

Попробуй у папки temp изменить настройки безопасности. Добавить "Все" или "Everyone" и поставить полный доступ.
24 окт 17, 17:32    [20896401]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell удаление файлов с диска на сервере  [new]
LoopN
Guest
попробуй еще перед del написать команду:
E:

чтобы получилось две строки
E:
del E:\...\*.dbf
24 окт 17, 17:46    [20896442]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell удаление файлов с диска на сервере  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
assmsk
После выполнения процедуры по заливке данных из файлов .dbf хочу эти самые файлы удалить через xp_cmdshell.
Команды копирования создания папок и переименования работают, но удаление нет. Хотя сам я могу руками эти файлы удалить.

EXEC xp_cmdshell 'DEL "E:\New folder\temp\*.DBF"'--,NO_OUTPUT;

Выдает - "Access is denied."

Что необходимо сделать, что бы можно было удалять файлы?

Настроить
EXEC sp_xp_cmdshell_proxy_account 'пользователь который может удалить любую папку', 'пароль такого пользователя;

Ну или на каталог E:\New folder\temp дать право записи для учетки, из-под которой работает служба SQL Engine.
Первый вариант лучше - каталогов может быть много...
24 окт 17, 17:54    [20896460]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell удаление файлов с диска на сервере  [new]
assmsk
Member

Откуда:
Сообщений: 169
LoopN
assmsk
После выполнения процедуры по заливке данных из файлов .dbf хочу эти самые файлы удалить через xp_cmdshell.
Команды копирования создания папок и переименования работают, но удаление нет. Хотя сам я могу руками эти файлы удалить.

EXEC xp_cmdshell 'DEL "E:\New folder\temp\*.DBF"'--,NO_OUTPUT;

Выдает - "Access is denied."

Что необходимо сделать, что бы можно было удалять файлы?

Попробуй у папки temp изменить настройки безопасности. Добавить "Все" или "Everyone" и поставить полный доступ.


Всем доступ туда давать нельзя, но спасибо за верный путь. Дал полный доступ сервисному аккаунту "MSSQLSERVER" и все заработало
25 окт 17, 17:13    [20899869]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell удаление файлов с диска на сервере  [new]
p-сервер
Member [заблокирован]

Откуда:
Сообщений: 41
Надо ставить SQL Server на линуксе и запускать в xp_cmdshell команду rm с нужными опциями.
25 окт 17, 17:21    [20899888]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить