2009-06-23 37 views
5

Tôi cố gắng để thực hiện một số lượng lớn chèn vào SQL Server:SQL Server Bulk Insert Truy cập Issue

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

này hoạt động chạy chống lại cơ sở dữ liệu địa phương của tôi, nhưng khi tôi cố gắng chạy với máy chủ dev của chúng tôi, tôi nhận được các lỗi sau:.

"không thể số lượng lớn tải vì các tập tin" ..." không thể mở mã lỗi hệ điều hành 5 (. Truy cập bị từ chối)

Cả hai tài khoản của tôi, và các tài khoản dịch vụ SQL có Truy cập vào đường dẫn. Quản trị viên mạng của tôi đang làm việc với các đại biểu để có được điều này để làm việc, nhưng đang hết ý tưởng. Có ai ở đây nhìn thấy vấn đề này trước đây không?

Trả lời

3

Trích từ 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.

Là một thay thế, bạn có thể kết nối với Sql Server sử dụng SQL Authentication. Điều đó sẽ khiến cho Sql Server truy cập vào các cổ phiếu trong tài khoản của chính nó.

Và bạn có chắc chắn chèn hàng loạt được thực hiện trong tài khoản Sql Server không? Nếu đó là một công việc hàng loạt, nó có thể được thực thi dưới tài khoản Agent Sql Server. Theo mặc định, đó là system \ NetworkService. Thay đổi nó thành người dùng miền có quyền truy cập vào phần chia sẻ.

Các vấn đề liên quan