BULK INSERT - Доступ запрещен - PullRequest
0 голосов
/ 07 мая 2020

Я уже некоторое время борюсь с этой ошибкой. У меня есть команда ниже:

-- Declare main variables
DECLARE @command VARCHAR(500);
DECLARE @currentPath VARCHAR(100);
SELECT  @currentPath = '\\SERVERNAME.Domain\Temp\';
DECLARE @currentFile VARCHAR(100);
DECLARE @currentDate VARCHAR(100) = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 126),'-',''),'T','T'),':','');

-- BILL OF MATERIALS
SET @currentFile = 'File'
TRUNCATE TABLE SampleData.iTable;
SET DATEFORMAT dmy;
SET @command =    ' BULK INSERT SampleData.iTable'
SET @command = @command + ' FROM ''' + @currentPath + @currentFile + '.csv'''
SET @command = @command + ' WITH '
SET @command = @command + ' (FIRSTROW = 2, '
SET @command = @command + '  FIELDTERMINATOR = '';'', '
SET @command = @command + '  ROWTERMINATOR = ''\n'', '
SET @command = @command + '  MAXERRORS = 99999, '
SET @command = @command + '  ERRORFILE = ''' + @currentPath + @currentFile + '_ERROR_' + @currentDate + '.csv'',' 
SET @command = @command + '  TABLOCK '
SET @command = @command + ' ) '
EXECUTE (@command)

Она хорошо работает, если я запускаю ее из Management Studio внутри SQL Server VM. Если я запустил эту массовую вставку из студии управления со своего компьютера или любого другого компьютера, подключенного к тому же экземпляру сервера SQL, с тем же пользователем, той же базой данных и всем остальным ... Я получаю сообщение об ошибке ниже:

Невозможно массовая загрузка, потому что файл "\ SERVERNAME.Domain \ Temp \ File.csv" не может быть открыт. Код ошибки операционной системы 5 (Доступ запрещен.).

Возможная причина в том, что пользователь находится в другом домене, чем SQL Сервер и общий путь .. но не уверен, что это тоже проблема, потому что я может успешно запустить BULK INSERT с SQL серверной виртуальной машины

Другая возможная причина - делегирование активного каталога, но у меня нет разрешения на проверку, а также почему это будет делегирование, если я могу запустить команду с сервера SQL VM?

Любой совет приветствуется!

Спасибо

Фелипе Карлессо

...