Quelles sont les autorisations nécessaires à l'instruction bulk insert en SQL Serveur à partir d'un partage réseau avec l'authentification Windows?

Je suis en train de travailler sur une application qui s'en vrac charge les données dans une base de données SQL Server 2008. Il écrit un fichier CSV vers un partage réseau, puis appelle une procédure stockée qui contient une commande d'INSERTION en bloc.

Je suis la migration de l'application de ce qui équivaut à un nouveau réseau. Dans ce nouveau monde en vrac insertion échoue avec ce message d'erreur:

Msg 4861, Level 16, State 1, Line 1
Cannot bulk load because the file "\\myserver\share\subfolder\filename" could not be opened. Operating system error code 5(failed to retrieve text for this error. Reason: 15105).

- Je me connecter à la base de données à l'aide de l'Authentification Windows, en utilisant le même compte qui a écrit le fichier. Le fichier et le dossier dans lequel il se trouve, subvention de lire et de modifier les droits d'accès à mon compte d'utilisateur et le serveur de base de données du compte de service de domaine. Ce compte de service a apparemment la délégation contrainte, et qui est mentionné sur MSDN. Toujours pas bon. Si je le connecte à l'aide d'un compte SQL Server, puis en vrac insertion réussit, mais nous essayons de nous en tenir exclusivement à l'Authentification Windows.

Quelqu'un avez une poignée sur ce qui doit être fait pour faire ce travail? Comment fonctionne exactement SQL Serveur aller sur l'accès aux données sur les partages réseau, sautillant entre son compte de service et de celui de l'utilisateur connecté? Je sais que je peux bulk insert dans une situation similaire dans notre infrastructure actuelle, mais il est tellement crufty avec l'âge qu'il serait difficile de suivre ce qui a été fait pour permettre cela dans le passé.

OriginalL'auteur RobH | 2012-06-27