none
Utilizando bulk insert - problema de permissão RRS feed

  • Pergunta

  • Pessoal

       Vendo o script abaixo o que eu precisaria liberar a mais dentro do perfil do AD ou em outro lugar, vendo o que perfil da pessoa que estaria no AD, conseguiria abrir a pasta normalmente, para efetuar a criação / deleção / alteração dos arquivos na pasta ( \\xxx.xx.xx.xx\xxxx\xx\ ), onde até foi pensando que o usuário que foi colocado para subir e administrar o SQL Server ( Agent ), que também estaria o AD e teria acesso a está pasta também, para criação / deleção / alteração, poderia também estar precisando adicionar algo a mais para ter algum tipo de permissão especial. E os 2 perfis estaria como SysAdmin dentro do SQL Server, até para certificar que por dentro do SQL Server não precisaria adicionar mais nenhuma permissão ou por algum motivo, tenho de adicionar algo a mais dentro do SQL Server para atender a uma situação como está ?

    BULK INSERT tb_catraca_ope FROM '\\xxx.xx.xx.xx\xxxx\xx\arq_catraca.txt' WITH (FIELDTERMINATOR ='\t' ,CODEPAGE = 'ACP' ,firstrow = 2 ,ROWTERMINATOR = '0x0a'); Msg 4861, Level 16, State 1, Line 3 Cannot bulk load because the file \\xxx.xx.xx.xx\xxxx\xx\arq_catraca.txt could not be opened.

    Operating system error code 5(Acesso negado.).



    • Editado neibala terça-feira, 24 de agosto de 2021 16:08 Erro de digitação.
    quinta-feira, 12 de agosto de 2021 20:53

Todas as Respostas

  • Neibala,

    A mensagem é clara, acesso negado, o que impede que o Bulk Insert tenha acesso ao arquivo que esta sendo mapeado via rede.

    A conta de usuário que você esta utilizando para processar o Bulk Insert deve ter permissão de acesso ao referido compartilhamento de rede ou máquina.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 13 de agosto de 2021 18:18
  • Junior Galvão

        Veja se poderia neste caso de bulk insert por algum motivo ter algum tipo de permissão diferente, pois o habitual, fisicamente ele consegue, criar/alteração/apagar arquivos sem nenhum problema e até mesmo a conta que administra o SQL Server também estaria com está permissão, por isto estou com dúvida se dentro do AD teria de ter algo a mais além das permissões normais, por estar sendo feita de outra forma o acesso a pasta, teria ?

    quinta-feira, 19 de agosto de 2021 15:30
  • Neibala,

    Sim, a conta de usuário do AD tem que ter permissão para rodar o Bulk Insert.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 20 de agosto de 2021 22:52
  • Junior Galvão / Grupo

       Mais vendo que as permissões normais ele já teria de executar localmente as ações de criar/deletar/modificar, no caso ai do Bulk Insert qual seria a opção a mais que precisaria ativar ? ( Onde ai o bulk insert, começaria a funcionar. )

    terça-feira, 24 de agosto de 2021 15:57
  • Neibala,

    Acredito que a permissão possa estar relacionada com o database role BulkOperator ou BulkAdmin.

    Sinceramente eu não tenho a certeza em relação a esta fato.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sábado, 28 de agosto de 2021 16:54
  • Olá Nei,

    veja está questão parecida com a sua e veja se o user possui as permissões necessárias para executar o Bulk corretamente.

    https://docs.microsoft.com/en-us/answers/questions/293852/sql-server-bulk-insert-permisisons.html


    Se esta resposta lhe ajudou, marque-a como útil para que outra pessoa com dúvida ou problema semelhante possa encontrar resposta ou ajuda mais facilmente. * Jefferson Clyton Pereira da Silva - [ MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]

    sexta-feira, 3 de setembro de 2021 19:49
  • Jeferson / Junior Galvão

        Se o perfil do usuário já está como SysAdmin, ai no caso ele já teria a permissão ideal correto ? ( Conforme comentei o inicio da dúvida. )

        Ai pensando em algo neste sentido, vendo que o perfil do usuário estaria por fora atendendo as operações de ( criação / deleção / alteração dos arquivos na pasta ). Ai para questão de confirmar se o perfil dentro do SQL Server estaria ok, foi executado na pasta de backup, onde o usuário em questão teria também permissão e fazendo o teste deu certo.

         A veio a dúvida na questão da permissão de AD na outra pasta, teria de adicionar algo a mais além das permissões normais ? ( E  teria algo que conseguiria identificar através de algum script que a permissão da pasta estaria habilitado mesmo ? ( Mesmo vendo que as operações na pasta ele executa sem problema, agora para executar o bulk insert da problema de permissão. )

    quarta-feira, 8 de setembro de 2021 01:37
  • Neibala,

    Acredito que você terá que definir as configurações para este usuário justamente na pasta que estará sendo utilizada.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sábado, 11 de setembro de 2021 00:01
  • Junior Galvão

        Mais só para um entendimento melhor as permissões na pasta foi dado, onde por fora do SQL Server ele consegue executar todas as operações que pelo SQL Server estaria utilizando, desconsiderando apenas a instrução bulk insert e para certificar que na parte do bulk insert estaria ok, foi direcionado a execução para um storage de backup e ele conseguiu executar sem problema. Já neste Servidor de arquivo não deu certo.

        Você teria outra ideia do que poderia adicionar além das permissões normais ?

    quinta-feira, 23 de setembro de 2021 21:30
  • Neibala,

    Esta conta de login/usuário dentro do SQL Server possuí a permissão de BulkAdmin?


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quinta-feira, 23 de setembro de 2021 23:45
  • Junior Galvão

       O processo ai o perfil do usuário estaria como SysAdmin, isto já não seria o suficiente, para a execução ?

    sexta-feira, 1 de outubro de 2021 00:26
  • Neibala,

    Sim! É mais do que suficiente.

    Sinceramente falando, existe alguma inconsistência nas suas políticas de permissão que acabam impactando.

    Seus posts aqui nos fóruns são muito recorrentes para estas questões.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 1 de outubro de 2021 13:17
  • Olá Nei , 

    O user tem permissão de sysadmin dá permissões máxima a ele dentro do Banco de Dados (instancia) e não no ambiente externo .  As pastas do windows e etc... 

    Você necessita fazer com que o 'Sql Server' no caso o user que vai acessar a pasta (diretório)  tenha acesso a mesma. 

    Se a pasta só tem permissão para o user A acessar e fazer o que quiser e vc está usando o user B no Sql Server para executar operação nesta pasta vc não vai conseguir pois necessita dar acesso ao user B na pasta.

    Então este é o seu problema. 


    Se esta resposta lhe ajudou, marque-a como útil para que outra pessoa com dúvida ou problema semelhante possa encontrar resposta ou ajuda mais facilmente. * Jefferson Clyton Pereira da Silva - [ MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]

    segunda-feira, 4 de outubro de 2021 13:27
  • Junior Galvão

       O processo ai o perfil do usuário estaria como SysAdmin, isto já não seria o suficiente, para a execução ?

    -------------

    Olá Nei,

    Suficiente para o user fazer o processo de dentro da Instancia , mas, o Sql Server tem acesso a esta pasta ? permissão de leitura e escrita ?  Faça esta verificação por favor. 


    Se esta resposta lhe ajudou, marque-a como útil para que outra pessoa com dúvida ou problema semelhante possa encontrar resposta ou ajuda mais facilmente. * Jefferson Clyton Pereira da Silva - [ MCSA | MCP | MCTS | MTA | Analista de Banco de Dados - Sql Server e Oracle ]

    segunda-feira, 4 de outubro de 2021 13:30
  • Jefferson / Junior Galvão / Grupo

       Pessoal o usuário do SQL Server teria, por isto comentei na abertura do dúvida que foi testado, tanto com o perfil do usuário como com o perfil do usuário do SQL Server, para certificar que o problema não estaria na parte do SQL Server, mais reforçando que o perfil do usuário execução algo direto na pasta o mesmo consegue fazer sem problema algum de permissão.

      Ai veio a dúvida se por algum motivo a execução de bulk insert, teria de ter alguma permissão em especial, dentro do AD, visto que tanto pelo SQL Server os perfis estaria ( ok ), só que em parte pelo ( AD ), o perfil estaria (+/-) ( ok ), só não saberia se deveria ter algo a mais ?

       

         

    segunda-feira, 4 de outubro de 2021 19:59