2014-01-18 2 views
2

EDIT:xp_cmdshell Доступ запрещен - 2012 Dev Edition, установленный на Windows, 8

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


У меня есть версия SQL Server 2012 Developer Edition (с пакетом обновления 1), установленная на моем ноутбуке Windows 8.1. Я создал папку специально для проверки импорта/экспорта файлов с помощью хранимых процедур. Расположение: C: \ SQL

Когда я бегу

exec xp_cmdshell 'dir c:\sql' 

возвращает содержимое папки. Когда я бегу

exec xp_cmdshell 'dir c:\sql > dir c:\sql\dir.txt' 

возвращает доступ запрещен

Так что я посмотрел вокруг немного, увидел этот

EXEC xp_cmdshell 'osql -E -Q"select suser_sname()"' 

И добавил MSSQLSERVER для групп пользователей и конкретно имеют полный доступ к C: \ SQL.

Есть ли у кого-нибудь дополнительные предложения?

Благодаря

ответ

1

Да, учетная запись, вы работаете в SQL должен иметь prevledges к C: \ каталог SQL.

Однако ваша проблема является синтаксической ошибкой. Дополнительная команда 'dir'. Попробуйте исправить.

-- pipe output to dir.txt 
exec xp_cmdshell 'dir c:\sql > c:\sql\dir.txt' 

В моем разработчике SQL Server 2012 он возвращает значение null в качестве значения. Но список каталогов существует. Я изменился на c: \ temp для моего выполнения.

enter image description here

+0

Это была ошибка при вставке с моей стороны, извините. Смешно, однако, я установил xp_cmdshell для выполнения с гораздо более сложными проблемами с разрешениями (несколько серверов по сетям и т. Д.), Но я бы никогда не установил его локально, и я думал, что Windows 8 может быть странной птицей. –

+0

Хорошо, пожалуйста, дайте мне кредит. –

Смежные вопросы