none
Permissões xp_fileexists RRS feed

  • Pergunta

  • Pessoal, bom dia

     

    Estamos fazendo uma migração de ambientes de sql server 2000 para sql server 2008.

    Uma das funcionalidades utilizadas no ambiente 2000 é o comando xp_fileexists para verificar a existência de um arquivo antes de fazer um bulk insert.

     

    Bem, pelo que analisei, no SQL 2008 esta função somente retornar que o arquivo existe(caso ele exista), se o login tiver permissão de sysadmin. Caso ele não tenha esta permissão, ela sempre retorna zero (não existe) mesmo que o arquivo exista.

    No sql 2000 não havia nesta necessidade de permissão.

     

    Alguem tem alguma sugestão de solução? Já tentei configurar uma proxy account, mas so permitiu execuções do xp_cmdshell. Também tentei criar uma credencial apontando para o usuário que sobe o serviço do sql server mas tambem nao funcinou. Não quero manter um usuário de aplicação com sysadmin.

     

    abs

     

    Andre


    Andre Savioli
    sexta-feira, 15 de outubro de 2010 15:58

Respostas

  • Andre,

    Esta é uma oputra maneira de fazer o que vc precisa...

    DECLARE @arquivo varchar(100)
      set @arquivo='d:\teste.txt';
    BEGIN TRY
      EXEC ('SELECT * FROM OPENROWSET(BULK N'''+@arquivo+''', SINGLE_BLOB) AS Document')
    END TRY
    BEGIN CATCH
      PRINT 'ERROR'
    END CATCH;
    go
    

    att.
    Marcelo Fernandes


    Não Perca o Worldwide Online TechDay 2010

    Um evento gratuito com grandes personalidades (Buck Woody, Chad Miller, Steve Jones, Fabricio Catae e muito mais...

    Eu vou falar sobre particionamento de tabelas registre-se

    Acesse o site do evento http://www.online.techday.net.br

    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    • Marcado como Resposta Richard Juhasz quinta-feira, 27 de setembro de 2012 17:21
    sexta-feira, 15 de outubro de 2010 19:59
    Moderador