как я могу получить доступ к файлу / папке по сети через XP_CMDSHELL в sql server 2008?

#sql #sql-server-2008 #file-access #xp-cmdshell

#sql #sql-server-2008 #доступ к файлам #xp-cmdshell

Вопрос:

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

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

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

Sql server работает в режиме аутентификации Winodws. Sql server использует учетную запись «nt authority network service» для доступа к удаленной папке.

С уважением

Ответ №1:

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

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

Ответ №2:

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

exec xp_cmdshell ‘net use p: Server Folder Папка Папка / Домен Логин / пароль’

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