Как я могу получить доступ к файлу / папке по сети через XP_CMDSHELL в SQL Server 2008? - PullRequest
3 голосов
/ 02 ноября 2011

Я пытаюсь получить доступ к папке / каталогу, используя 'EXEC MASTER..XP_CMDSHELL', он работает для локального файла / папки, однако когда он не может получить доступ к папке по сети.

EXEC MASTER..XP_CMDSHELL 'c:\Images'  --Works fine
EXEC MASTER..XP_CMDSHELL '\\IPaddress\Images' -- returns "Access is denied."

Пожалуйстаобратите внимание, что я могу получить доступ к сетевому расположению, но не используя сервер sql.

Сервер Sql работает в режиме аутентификации Winodws.Сервер Sql использует учетную запись nt полномочия \ сетевой службы для доступа к удаленной папке.

С уважением

Ответы [ 3 ]

1 голос
/ 02 ноября 2011

Если вы запустите xp_cmdshell 'whoami.exe', он сообщит вам об учетной записи, под которой выполняется команда. Если эта учетная запись не имеет разрешений в сети, вы получите сообщение об ошибке.

Проверьте документацию SQL для изменения этой учетной записи / разрешений.

0 голосов
/ 29 декабря 2015

Когда вам нужно поместить файл, например, результат BCP, или резервную копию на удаленный диск, просто сопоставить этот диск с окнами не работает, он должен быть сопоставлен на SQL Server с !, чтобы сделать это, попробуйте какую-нибудь ссылкунапример:

exec xp_cmdshell 'net use p: \ \ Сервер \ Папка \ Папка \ Папка \ / Домен \ Логин / Пароль'

Ссылка: https://social.msdn.microsoft.com/Forums/en-US/6eca2d62-eb86-4f23-9b86-6f917017f50c/bcp-utility-via-xpcmdshell-and-network-drive?forum=sqlsecurity

0 голосов
/ 02 ноября 2011

Под какой учетной записью работает SQL-сервер? Как вы подключаетесь к серверу SQL? С аутентификацией Windows? Что вы хотите сделать "C: \ images"? Открыть папку в проводнике? Вы использовали sp_xp_cmdshell_proxy_account?

...