Ошибка при использовании BCP и скрытого пути для экспорта данных из SQL

Когда я использую скрытый путь, например \\\twn-a110093\s$\SNData1.csv , он не работает.

Сообщение об ошибке:

[Microsoft] [собственный клиент SQL] Не удается открыть файл данных хоста BCP

Возможно, символ «$» не распознается? Как исправить эту проблему?

 Exec master..xp_cmdshell 'bcp " select * from sfm.dbo.tblSNDataDetail " queryout "\\twn-a110093\s$\SNData1.csv" -c -t, -T -S TWN-SQL-01' 

Просто вы не можете напрямую передавать данные BCP на UNC-путь, будет проблема с двойным перерывом, вам нужно настроить ограниченное делегирование между двумя серверами. Вам нужно сделать первый BCP на вашем локальном диске, а затем переместить / скопировать файл в UNC-путь, который на самом деле быстрее, чем вы прямо с BCP на UNC-путь, даже если вы правильно настроили его. Верьте или нет, попробуйте.

Скорее всего, проблема безопасности:

«Процесс Windows, порожденный xp_cmdshell, имеет те же права безопасности, что и учетная запись службы SQL Server»

Убедитесь, что пользователь учетной записи службы SQL Server имеет доступ к этому пути / файлу.

Вы используете UNC-путь в команде BCP, и фактически вы непосредственно создаете файл на корневом диске S $. Он будет включать проверку безопасности. Вы можете попробовать:

1. Сначала измените путь из корневой папки диска в подпапку, например \twn-a110093\s$\Test\SNData1.csv

2. Предоставьте разрешение на запись учетной записи службы SQL Server в папку «test», если SQL Server работает под NT Service, вам необходимо предоставить разрешение на запись учетной записи Network Service в папку

3. Если «twn-a110093» – это не тот сервер, на котором расположен SQl-сервер, а затем в папке общего доступа к файлу, вам, вероятно, нужно предоставить полное разрешение «все».

4. Если все не работает, сначала загрузите BCP в локальную папку, затем файл robocopy в UNC Path, например, @Guna сказал, что лучше напрямую писать файл в UNC-путь, это правда.

  • Экспорт XML-данных с помощью команды BCP в SQL Server
  • Запись данных в текстовый файл с помощью запросов BCP для типа хранилища файлов
  • Экспорт BCP с разделителем строк запятой
  • BCP не копирует все строки
  • Как иметь значения, разделенные запятыми, в одной ячейке при экспорте результатов sql в CSV
  • BCP, когда имя базы данных начинается с числа
  • Проблема с BCP для работы на локальном сервере
  • Обработка ошибок SQLServerBulkCopy
  • SQL-запрос bcp возвращает SQLState = 28000. NativeError = 18456 Ошибка входа для пользователя
  • Оптимизация массивных вставок в несвязанные таблицы
  • Как перенести данные из базы данных SQL Server в базу данных Oracle
  • Interesting Posts

    Проблема в динамическом повороте + сервер sql 2005

    Есть ли более быстрый способ выполнения этого типа запроса (поиск неактивных учетных записей)?

    Запрос SQL для разделения данных столбца на строки

    ALTER TABLE DROP COLUMN не удалось, так как один или несколько объектов попадают в этот столбец

    Не удалось открыть новую базу данных «Имя базы данных». CREATE DATABASE прерывается (SQL Server, ошибка: 948)

    Получение номера недели из списка дат

    Обновление таблицы из хранимой процедуры

    Версия Agnostic SQL Server Script / Statement, которая обнаруживает существование конкретной базы данных

    Локализация таблиц поиска

    Использование параметров в службах MS Reporting Services (SQL Server 2008) для источника данных ODBC

    конвертирование между Biginit & Long & Int64 безопасно

    Как преобразовать bigint (временная метка UNIX) в datetime в SQL Server?

    Как экспортировать специальные данные BLOB запроса SQLServer в двоичный файл

    Как использовать выходные данные хранимых процедур в разделе IN в SQL Server

    SQL – проблема с левым соединением

    Давайте будем гением компьютера.