2009-06-23 18 views
5

Próbuję wykonać luzem wkładkę na SQL Server:SQL Server Luzem Wstaw Dostęp Issue

BULK INSERT SampleData FROM '<UNC_Path>' 
WITH (FIELDTERMINATOR = '|', ROWTERMINATOR = '\n') 

To działa działa wbrew mojej lokalnej bazy danych, ale gdy próbuję uruchomić na naszym serwerze dev Dostaję następujący błąd:.

„Can not luzem obciążenia, ponieważ plik” nie można otworzyć ...”kod błędu System operacyjny 5 (. Odmowa dostępu)

Zarówno moje konto, a konto usługi SQL ma dostęp do ścieżki Mój administrator sieci pracuje z delegatami, aby to uzyskać do pracy, ale kończy się pomysł. Czy ktoś wcześniej widział ten problem?

Odpowiedz

3

Cytat Remus Rusanu:

Your client authenticates with SQL Server, then SQL Server impersonates the client and tries to access the UNC path. That is Delegation and is implicitly forbidden. You must take the explicit steps to enable constrained delegation for the SQL Server service account. See this article explaining the details: http://msdn.microsoft.com/en-us/library/ms998355.aspx The article is shows constrained delegation for an ASP service accessing the back end database, but in your case it would be the SQL Server in the middle accessing the back end UNC share.

Jako alternatywę, można podłączyć do serwera SQL przy użyciu uwierzytelniania SQL. To spowodowałoby, że Sql Server uzyskałby dostęp do udziałów na własnym koncie.

Czy jesteś pewien, że wkładka zbiorcza jest wykonywana na koncie Sql Server? Jeśli jest to zadanie wsadowe, prawdopodobnie jest wykonywane na koncie Sql Server Agent. Domyślnie jest to system \ NetworkService. Zmień go na użytkownika domeny z dostępem do udziału.