Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Seguem-se as diretrizes de segurança para a utilização do XML Bulk Load:
Quando especifica que a operação de Carregamento em Massa deve ser realizada como uma transação, utiliza a propriedade TempFilePath para especificar uma pasta onde criar os ficheiros temporários.
O processo Bulk Load cria estes ficheiros temporários com as seguintes permissões:
O acesso de Leitura/Escrita/Eliminação é concedido ao processo de Carregamento em Massa.
A permissão de Ler é concedida a todos os utilizadores, porque a conta sob a qual o Microsoft SQL Server irá aceder a estes ficheiros é desconhecida. Pode restringir o acesso a estes ficheiros temporários definindo as permissões apropriadas na pasta que os contém.
O XML Bulk Load não tem definições de permissões. Assume-se que a base de dados está configurada corretamente e que o contexto do utilizador (ou seja, o login que o Bulk Load é definido) tem as permissões apropriadas definidas.
No modo não transacional, se ocorrer um erro durante o processo de Carregamento em Massa, os dados podem ficar parcialmente carregados. O Bulk Load simplesmente para no ponto em que isto acontece. O modo transacional pode ser usado para aliviar este problema.
Quando ocorrem erros de carregamento em massa, podem incluir informações sobre a base de dados. Por exemplo, podem incluir o nome de uma tabela ou coluna, ou informação sobre o tipo de coluna. Quando usar Bulk Load, deve ter cuidado para detetar erros do processo Bulk Load e devolver uma mensagem de erro genérica, em vez de expor erros diretamente aos utilizadores.
O Bulk Load não define limite para a quantidade de dados sobre a qual trabalha. O Bulk Load não verifica o tamanho dos dados a carregar. É responsabilidade do utilizador que executa o Bulk Load garantir que existe memória suficiente para processar o ficheiro especificado e que há espaço suficiente na base de dados para armazenar os dados a serem carregados.
O Bulk Load não tenta usar os dados fornecidos como código. A entrada de dados nunca é executada de qualquer forma. Qualquer código ou comandos nos dados de entrada são tratados como dados normais e não serão executados.
O Bulk Load pode fazer alterações de formatação aos dados dados com base nas diferenças entre os modelos de dados XML e SQL Server. Por exemplo, o formato para especificar uma hora é diferente. A Bulk Load tentará resolver estas diferenças. Como resultado, alguma informação precisa pode ser perdida.
O Bulk Load não estabelece limite para o tempo que demora a processar os dados. O processamento continuará até que o processamento seja concluído ou ocorra um erro.
O Bulk Load pode criar e eliminar tabelas temporárias dentro da base de dados e necessita de permissões para o fazer. As permissões para estas tabelas serão atribuídas ao mesmo utilizador que se está a ligar à base de dados para o processo de Bulk Load.
O Bulk Load pode criar e eliminar ficheiros temporários usados durante o processamento em modo transacional e necessita de permissões para o fazer. Estes ficheiros são criados com as mesmas permissões que o utilizador atual da thread onde o Bulk Load está a correr.
Se o utilizador definir um ficheiro de registo de erro para o SQLXML escrever erros, então cada vez que o Bulk Load for executado, o ficheiro será sobrescrito com dados do último processo de Bulk Load.
Ver também
Executando o carregamento em massa de dados XML (SQLXML 4.0)