Compartilhar via


Considerações sobre segurança de carga em massa (SQLXML 4.0)

Veja a seguir as diretrizes de segurança para usar o Carregamento em Massa XML:

  • Quando você especifica que a operação carregamento em massa deve ser executada como uma transação, você usa a TempFilePath propriedade para especificar uma pasta na qual criar os arquivos temporários.

    O processo de carregamento em massa cria esses arquivos temporários com as seguintes permissões:

    • O acesso de leitura/gravação/exclusão é concedido ao processo de carregamento em massa.

    • permissão Leitura é concedida a todos os usuários, pois a conta na qual o Microsoft SQL Server acessará esses arquivos é desconhecida. Você pode restringir o acesso a esses arquivos temporários definindo as permissões apropriadas na pasta que os contém.

  • O carregamento em massa XML em si não tem nenhuma configuração de permissões. Supõe-se que o banco de dados esteja configurado corretamente e que o contexto do usuário (ou seja, o logon que o Carregamento em Massa está definido use) tenha as permissões apropriadas definidas.

  • No modo não transacional, se ocorrer um erro durante o processo de carregamento em massa, os dados poderão ser deixados em um estado parcialmente carregado. O Carregamento em Massa simplesmente será interrompido no ponto em que ele está quando isso acontecer. O modo transacional pode ser usado para aliviar esse problema.

  • Quando ocorrem erros de carregamento em massa, eles podem incluir informações sobre o banco de dados. Por exemplo, eles podem incluir o nome de uma tabela ou coluna ou informações de tipo de coluna. Ao usar o Carregamento em Massa, você deve tomar cuidado para capturar erros do processo de carregamento em massa e retornar uma mensagem de erro genérica, em vez de expor erros diretamente aos usuários.

  • O Carregamento em Massa não define nenhum limite na quantidade de dados em que trabalha. O Carregamento em Massa não faz nenhuma verificação sobre o tamanho dos dados a serem carregados. É responsabilidade do usuário executar o Carregamento em Massa para garantir que haja memória suficiente para processar o arquivo especificado e que haja espaço suficiente no banco de dados para armazenar os dados que estão sendo carregados.

  • O Carregamento em Massa não tenta usar os dados que são dados como código. A entrada de dados nunca é executada de forma alguma. Qualquer código ou comando nos dados de entrada é tratado como dados normais e não será executado.

  • O Carregamento em Massa pode fazer alterações de formatação nos dados especificados com base nas diferenças entre os modelos de dados do XML e do SQL Server. Por exemplo, o formato para especificar um horário é diferente. O Carregamento em Massa tentará resolver essas diferenças. Como resultado, algumas informações de precisão podem ser perdidas.

  • O Carregamento em Massa não define nenhum limite na quantidade de tempo necessária para processar os dados. O processamento continuará até que o processamento seja concluído ou ocorra um erro.

  • O Carregamento em Massa pode criar e excluir tabelas temporárias no banco de dados e precisa de permissões para fazer isso. As permissões para essas tabelas serão fornecidas ao mesmo usuário que está se conectando ao banco de dados para o processo de carregamento em massa.

  • O Carregamento em Massa pode criar e excluir arquivos temporários usados durante o processamento do modo transacional e precisa de permissões para fazer isso. Esses arquivos são criados com as mesmas permissões que o usuário atual do thread no qual o Carregamento em Massa está em execução.

  • Se o usuário definir um arquivo de log de erros para SQLXML gravar erros, cada vez que o Carregamento em Massa for executado, o arquivo será substituído com dados do último processo de carregamento em massa.

Consulte Também

Executando carga em massa de dados XML (SQLXML 4.0)