Crie uma função assim:
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
Edite sua tabela e adicione uma coluna computada (IsExists BIT). Defina a expressão para:
dbo.fn_FileExists(filepath)
Depois é só selecionar:
SELECT * FROM dbo.MyTable where IsExists = 1
Atualizar :
Para usar a função fora de uma coluna computada:
select id, filename, dbo.fn_FileExists(filename) as IsExists
from dbo.MyTable
Atualizar :
Se a função retornar 0 para um arquivo conhecido, provavelmente há um problema de permissões. Certifique-se de que a conta do SQL Server tenha permissões suficientes para acessar a pasta e os arquivos. Somente leitura deve ser suficiente.
E SIM, por padrão, a conta 'SERVIÇO DE REDE' não terá direito suficiente na maioria das pastas. Clique com o botão direito do mouse na pasta em questão e selecione 'Propriedades', depois clique na guia 'Segurança'. Clique em 'Editar' e adicione 'Serviço de Rede'. Clique em 'Aplicar' e teste novamente.