XP_FileExists不适用于网络驱动器

时间:2012-11-14 15:30:37

标签: sql-server sql-server-2008 tsql

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

例如,如果我的文件的网址为“\\ 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在网络驱动器上出现故障?

3 个答案:

答案 0 :(得分:2)

这取决于服务的凭据 通常是本地系统,没有网络访问

答案 1 :(得分:1)

问题原来是用于运行SQL Server的管理员帐户密码。密码已更改,但SQL Server继续运行。刚刚发生的'MASTER.DBO.XP_FILEEXIST'由于密码冲突而无效,但其他SQL Server功能确实如此。一旦我更改了与用于运行SQL Server的Admin帐户关联的密码,该功能就会按预期工作。

答案 2 :(得分:-1)

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

现在应该可行