Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 BULK INSERT - error code 5(Access is denied.)  [new]
usausa
Member

Откуда:
Сообщений: 55
BULK INSERT unitconv FROM '\\xx.xx.xx.xx\uc\UCTEST.txt'


виполнаю команду, при етом все аккаунти(пользователа и сервиса) имеют доступ к папке другого компьютера + имеют сусадмин права, но видает ошибку. Поиск по форуму и в инете не помог, может у кого есть идеи?


4861, Level 16, State 1, Line 1
Cannot bulk load because the file "\\хх.хх.хх.хх\uc\UCTEST.txt" could not be opened. Operating system error code 5(Access is denied.).


select @@version
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64) Mar 29 2009 10:11:52 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.0 <X64> (Build 6001: Service Pack 1) (VM)
7 янв 10, 22:53    [8155996]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT - error code 5(Access is denied.)  [new]
usausa
Member

Откуда:
Сообщений: 55
usausa,

for 2005, but I have 2008

----
http://maykov.blogspot.com/2009/02/bulk-insert-access-denied-problem.html

bulk insert access denied problem

You may get this error when trying to use the bulk insert operator in SQL server 2005:

Cannot bulk load because the file "\\maykov100\public\blogcatalog.txt" could not be opened. Operating system error code 5(Access is denied.).

As it turns out, SQL server tries to use your credential to access the file to bulk import (impersonation). In a situation, where you access SQL server remotely (ie from a SQL Management Studio running on your machine), your credentials can't be retranslated. Possible ways to solve this problem:

* Use BCP from your local machine
* Run the SQL managements studio directly on a SQL machine
* Modify your company's active directory to allow impresonalizati0n

----
7 янв 10, 23:43    [8156129]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT - error code 5(Access is denied.)  [new]
Фёдоров
Member

Откуда: Richmond, VA
Сообщений: 1015
usausa
usausa,

for 2005, but I have 2008

----
http://maykov.blogspot.com/2009/02/bulk-insert-access-denied-problem.html

bulk insert access denied problem

You may get this error when trying to use the bulk insert operator in SQL server 2005:

Cannot bulk load because the file "\\maykov100\public\blogcatalog.txt" could not be opened. Operating system error code 5(Access is denied.).

As it turns out, SQL server tries to use your credential to access the file to bulk import (impersonation). In a situation, where you access SQL server remotely (ie from a SQL Management Studio running on your machine), your credentials can't be retranslated. Possible ways to solve this problem:

* Use BCP from your local machine
* Run the SQL managements studio directly on a SQL machine
* Modify your company's active directory to allow impresonalizati0n

----


Ну, дык пробовали

автор
* Run the SQL managements studio directly on a SQL machine
?

В качестве быстрого решения проблемы могу посоветовать скопировать файл на сервер и уже потом выполнить команду bulk insert
8 янв 10, 01:10    [8156221]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT - error code 5(Access is denied.)  [new]
usausa
Member

Откуда:
Сообщений: 55
нельза, ето надо дла девелопера, которий делает SSIS пакет, временное решение не имеет смисла.
Девелопер работает конечно же не на стороне SQL Servera(not directly)
8 янв 10, 01:34    [8156236]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT - error code 5(Access is denied.)  [new]
Glory
Member

Откуда:
Сообщений: 104764
usausa
нельза, ето надо дла девелопера, которий делает SSIS пакет, временное решение не имеет смисла.
Девелопер работает конечно же не на стороне SQL Servera(not directly)

Читать нужно оригинальный хелп прежде всего

Статья Importing Bulk Data by Using BULK INSERT or OPENROWSET(BULK...)
8 янв 10, 02:00    [8156260]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT - error code 5(Access is denied.)  [new]
usausa
Member

Откуда:
Сообщений: 55
Глория, процитал Блоб, но ничего нового не увидел, не могли би ви мена ткнуть носом, где рить дальше..вот кусок из документации:

++++++++++++++++++++++++++++++++++++++++++++
Security Considerations

If a user uses a SQL Server login, the security profile of the SQL Server process account is used. In contrast, if a SQL Server user logs on by using Windows Authentication, the user can read only those files that can be accessed by the user account, regardless of the security profile of the SQL Server process.

For example, consider a user who logged in to an instance of SQL Server by using Windows Authentication. For the user to be able to use BULK INSERT or OPENROWSET to import data from a data file into a SQL Server table, the user account requires read access to the data file. With access to the data file, the user can import data from the file into a table even if the SQL Server process does not have permission to access the file. The user does not have to grant file-access permission to the SQL Server process.

SQL Server and Microsoft Windows can be configured to enable an instance of SQL Server to connect to another instance of SQL Server by forwarding the credentials of an authenticated Windows user. This arrangement is known as impersonation or delegation. Understanding how SQL Server 2005 and later versions handle security for user impersonation is important when you use BULK INSERT or OPENROWSET. User impersonation allows the data file to reside on a different computer than either the SQL Server process or the user. For example, if a user on Computer_A has access to a data file on Computer_B, and the delegation of credentials has been set appropriately, the user can connect to an instance of SQL Server that is running on Computer_C, access the data file on Computer_B, and bulk import data from that file into a table on Computer_C. For more information, see Understanding Impersonation.
ms175915.note(en-us,SQL.100).gifNote:
The way in which SQL Server 2005 and later versions control access to files addresses a security issue that was present in Microsoft SQL Server 2000 and earlier versions. Formerly, after a user was authenticated, access to external files was based on the security profile of the SQL Server process. When the SQL Server process had read access to a file, for a user that did not have access to the file but was a member of the bulkadmin fixed server role, the user could import the file by using BULK INSERT and access the contents of the file.

Bulk Importing from a Remote Data File

To use BULK INSERT or INSERT...SELECT * FROM OPENROWSET(BULK...) to bulk import data from another computer, the data file must be shared between the two computers. To specify a shared data file, use its universal naming convention (UNC) name, which takes the general form, \\Servername\Sharename\Path\Filename. Additionally, the account used to access the data file must have the permissions that are required for reading the file on the remote disk.


For example, the following BULK INSERT statement bulk imports data into the SalesOrderDetail table of the AdventureWorks database from a data file that is named newdata.txt. This data file resides in a shared folder named \dailyorders on a network share directory named salesforce on a system named computer2.

BULK INSERT AdventureWorks.Sales.SalesOrderDetail
FROM '\\computer2\salesforce\dailyorders\neworders.txt';
GO
8 янв 10, 19:06    [8157991]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: BULK INSERT - error code 5(Access is denied.)  [new]
RESEARCH
Member

Откуда:
Сообщений: 186
Коллеги имею точно такую же ошибку

Cannot bulk load because the file "\\RIGLA-0095\tmp\data1.csv" could not be opened. Operating system error code 5(Access is denied.).

скажите по русски что надо сделать ?
9 апр 19, 15:55    [21857329]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT - error code 5(Access is denied.)  [new]
aleks222
Member

Откуда:
Сообщений: 693
RESEARCH
Коллеги имею точно такую же ошибку

Cannot bulk load because the file "\\RIGLA-0095\tmp\data1.csv" could not be opened. Operating system error code 5(Access is denied.).

скажите по русски что надо сделать ?

Учиться надо.
9 апр 19, 16:04    [21857339]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT - error code 5(Access is denied.)  [new]
RESEARCH
Member

Откуда:
Сообщений: 186
Коллеги и все же я не понимаю

прописал на папку доступ от mssqlserver и loginuser и тот же результат.
10 апр 19, 09:16    [21857948]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT - error code 5(Access is denied.)  [new]
aleks222
Member

Откуда:
Сообщений: 693
RESEARCH
Коллеги и все же я не понимаю

прописал на папку доступ от mssqlserver и loginuser и тот же результат.


Что-то мой хрустальный шар треснул - нихера не видно, чего ты там "прописал".

1. Зайди на сервер под учеткой MS SQL - проверь наличие доступа.
10 апр 19, 09:31    [21857954]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT - error code 5(Access is denied.)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 28722
RESEARCH
прописал на папку доступ от mssqlserver и loginuser и тот же результат.
А что такое "доступ от mssqlserver"?

loginuser - это имеется в виду Windows-пользователь?
Когда под ним логинитесь в виндах на сервере, видите этот файл "\\RIGLA-0095\tmp\data1.csv"?
10 апр 19, 09:35    [21857961]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить