Доступ к общему ресурсу нужен не вашей учетной записи. Поскольку вы запускаете команду BCP с помощью команды "xp_cmdshell", учетная запись, которая фактически выполняет команду bcp, является той же учетной записью, на которой запущена служба SQL Server на блоке SQL Server. Когда вы используете «xp_cmdshell», вы оставляете сеанс / аутентификацию позади и передаете управление новому сеансу вне SQL Server. Это делается с использованием учетной записи, на которой запущена служба SQL Server, а команда выполняется в ОС, на которой работает SQL Server. Скорее всего, вы даже не можете войти в ОС под SQL Server.
Вы должны подтвердить, что учетная запись службы SQL имеет доступ к общему ресурсу.
Я не уверен, что этоваша проблема, но это может быть. Вы можете проверить другие возможности:
Напечатайте содержимое команды @SQL вместо ее выполнения. Скопируйте это значение в командное окно и попробуйте запустить команду самостоятельно. Это проверит, что команда действительна и что такие пути, как пути, действительны.
Если вы можете, войдите на физический сервер (windows?), На котором работает ваш SQL Server. Войдите в систему как учетная запись службы SQL Server. Затем попробуйте выполнить команду bcp в окне командной строки. Это наиболее полный тест, но обычно у нас нет разрешения для аутентификации с использованием учетной записи, которая используется для запуска службы SQL Server.