使用 BULK INSERT 在多台SQL Server (AD環境下) 出現訊息 4861 作業系統錯誤碼 5

使用 BULK INSERT 在多台SQL Server (AD環境下) 出現訊息 4861 作業系統錯誤碼 5

情境:

多台SQL Server 在AD環境下,進行資料拋轉透過 BULK INSERT 或 OPENROWSET (文字檔 txt or 檔案),
出現
錯誤訊息:
訊息 4861, 層級 16, 狀態 1, 伺服器 WIN2K3R2, 行 1
無法大量載入,因為檔案 ".txt" 無法開啟。作業系統錯誤碼 5(存取被拒。)。

When executing the BULK INSERT statement by using sqlcmd or osql,

from one computer, inserting data into SQL Server on a second computer,

and specifying a data_file on third computer by using a UNC path, you may receive a 4861 error.

 

解決方案:
到 ADOC  (Active Directory Users and Computers ) 設定該電腦名稱-委派 - 信任這台電腦委派的特定服務 – SQL 執行個體
設定 SQL 服務類型於委派的特定服務,以下說明文字引用 http://msdn.microsoft.com/zh-tw/library/ms175915.aspx

image

參考:

如何:為報表伺服器註冊服務主要名稱 (SPN)
http://technet.microsoft.com/zh-tw/library/cc281382.aspx

允許SQL登入存取非SQLserver資源
http://social.msdn.microsoft.com/Forums/zh-TW/240/thread/0e2a398e-915c-4bcc-8645-92ce1a1bfd7f

不知怎麼換 BULK INSERT 的執行身份
http://byronhu.wordpress.com/2010/07/21/%e4%b8%8d%e7%9f%a5%e6%80%8e%e9%ba%bc%e6%8f%9b-bulk-insert-%e7%9a%84%e5%9f%b7%e8%a1%8c%e8%ba%ab%e5%88%86