Buat fungsi seperti ini:
CREATE FUNCTION dbo.fn_FileExists(@path varchar(512))
RETURNS BIT
AS
BEGIN
DECLARE @result INT
EXEC master.dbo.xp_fileexist @path, @result OUTPUT
RETURN cast(@result as bit)
END;
GO
Edit tabel Anda dan tambahkan kolom yang dihitung (IsExists BIT). Setel ekspresi ke:
dbo.fn_FileExists(filepath)
Kemudian pilih saja:
SELECT * FROM dbo.MyTable where IsExists = 1
Pembaruan :
Untuk menggunakan fungsi di luar kolom yang dihitung:
select id, filename, dbo.fn_FileExists(filename) as IsExists
from dbo.MyTable
Pembaruan :
Jika fungsi mengembalikan 0 untuk file yang dikenal, kemungkinan ada masalah izin. Pastikan akun SQL Server memiliki izin yang memadai untuk mengakses folder dan file. Hanya baca saja sudah cukup.
Dan YA, secara default, akun 'LAYANAN JARINGAN' tidak akan memiliki hak yang cukup untuk sebagian besar folder. Klik kanan pada folder yang dimaksud dan pilih 'Properties', lalu klik tab 'Security'. Klik 'Edit' dan tambahkan 'Layanan Jaringan'. Klik 'Terapkan' dan uji ulang.