1

我能够在我的 SQL Server 实例的本地驱动器上成功运行 xp_fileexists 命令。如果文件存在,则输出为 1。如果文件不存在,则输出为 0。当我在 SQL Server 机器上映射的网络驱动器上运行相同的命令时,输出始终为 0。

例如,如果我有一个 URL 为“\\10.188.20.5\myfolder\myfile.txt”的文件。我会跑

SET @MYFILE = '\\10.188.20.5\myfolder\myfile.txt'
EXEC MASTER.DBO.XP_FILEEXIST @MYFILE, @MYOUTPUT OUT
PRINT @MYOUTPUT

结果将返回 0。

如果我在同一个 URL 上运行批量插入命令,文件将被成功导入

BULK INSERT #mytable
FROM '\\10.188.20.5\myfolder\myfile.txt'

是什么导致 xp_fileexists 在网络驱动器上出现故障?

4

3 回答 3

4

问题出在用于运行 SQL Server 的管理员帐户密码上。密码已更改,但 SQL Server 继续运行。只是因为密码冲突,'MASTER.DBO.XP_FILEEXIST' 不起作用,但其他 SQL Server 函数起作用。一旦我更改了与用于运行 SQL Server 的管理员帐户关联的密码,该功能就按预期工作。

于 2012-12-19T15:33:51.787 回答
2

它取决于服务通常本地系统的凭据,该系统没有网络访问权限

于 2012-11-14T15:36:43.493 回答
-1

转到 >> Sql Server 配置管理器 >> 在左侧面板上转到 SQL Server 服务 >> 选择您自己的实例 (MyPc\Sqlexpress) 并输入帐户名、用户名和密码。

现在它应该可以工作了

于 2015-06-16T13:27:55.737 回答