SQL Server インスタンスのローカル ドライブで xp_fileexists コマンドを正常に実行できます。ファイルが存在する場合、出力は 1 になります。ファイルが存在しない場合、出力は 0 です。SQL Server マシンにマップされているネットワーク ドライブで同じコマンドを実行すると、出力は常に 0 になります。
たとえば、「\\10.188.20.5\myfolder\myfile.txt」という URL のファイルがあるとします。私は走るだろう
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 が誤動作する原因は何ですか?