SQL Server批量插入UNCpath失败,尽pipe完全访问

我有两台机器(win2012r2上的客户端,win2016上的sql服务器)的设置,这两个都不是一个域的一部分。 客户机有一个共享,每个人都可以访问。 我正在使用SQL Server身份validation。 我能够从SQL服务器浏览共享

我有一个试图做BULK INSERT的应用程序,但它抱怨批量插入访问共享时遇到错误代码1326(用户名或密码不正确)。

这对我没有意义; 没有密码需要访问的文件,那怎么会是不正确的? 我也试着configuration应用程序上传到SQL Server上的共享,并使用本地path进行批量插入,但是这会触发BULK INSERT期间拒绝访问。

肖恩和蒂姆在评论中说了什么。 如果您的SQL Server(我将调用SQLServer2016)作为本地系统运行,那么它将以机器帐户访问共享,我将调用$ SQLServer2016。

您的份额可供所有人使用。 EVERYONE是一个内置的组,其中包括Authenticated Users(另一个内置组,包括在该计算机上拥有帐户的所有人)和Guest。 Guest是一个内置帐户,用于没有安装共享机器的帐户,我将其称为Fileserver2012R2。

根据定义,SQLServer2016的系统帐户$ SQLServer2016不是有效的Fileserver2012R2帐户。 SQLServer2016将通过Guest帐户访问Fileserver2012R2上的共享。

我的猜测是,Guestserver在Fileserver2012R2上被禁用。

在BCP的过程中,我曾多次遇到过这个问题。 我通常最终将文件放在驱动器的C:\根目录(在SQL Server计算机上),并且每次都能正常工作,即使我正在远程计算机上运行bCP。 这可能与BCP实用程序在不同的用户或帐户下运行有关。 在最近版本的Windows中,从共享networking文件夹读取和写入时遇到了很多问题。