Condividi tramite


Considerazioni sulla sicurezza del caricamento bulk (SQLXML 4.0)

Di seguito sono riportate le linee guida di sicurezza per l'uso del caricamento bulk XML:

  • Quando si specifica che l'operazione di caricamento bulk deve essere eseguita come transazione, utilizzare la TempFilePath proprietà per specificare una cartella in cui creare i file temporanei.

    Il processo di caricamento bulk crea questi file temporanei con le autorizzazioni seguenti:

    • L'accesso in lettura/scrittura/eliminazione viene concesso al processo di caricamento bulk.

    • L'autorizzazione di lettura viene concessa a tutti gli utenti, perché l'account con cui Microsoft SQL Server accederà a questi file è sconosciuto. È possibile limitare l'accesso a questi file temporanei impostando le autorizzazioni appropriate per la cartella che li contiene.

  • Il caricamento bulk XML non dispone di impostazioni di autorizzazioni. Si presuppone che il database sia configurato correttamente e che il contesto utente (ovvero l'account di accesso impostato per il caricamento bulk) disponga delle autorizzazioni appropriate impostate.

  • In modalità non transazionale, se si verifica un errore durante il processo di caricamento bulk, i dati potrebbero essere lasciati in uno stato parzialmente caricato. Il caricamento bulk si arresterà semplicemente nel punto in cui si verifica questo problema. La modalità transazionale può essere usata per risolvere questo problema.

  • Quando si verificano errori di caricamento bulk, possono includere informazioni sul database. Ad esempio, possono includere il nome di una tabella o di una colonna o informazioni sul tipo di colonna. Quando si usa il caricamento bulk, è consigliabile rilevare gli errori dal processo di caricamento bulk e restituire un messaggio di errore generico, anziché esporre gli errori direttamente agli utenti.

  • Il caricamento bulk non imposta alcun limite per la quantità di dati su cui funziona. Il caricamento bulk non esegue alcuna verifica delle dimensioni dei dati da caricare. È responsabilità dell'utente che esegue il caricamento bulk per garantire che la memoria sia sufficiente per elaborare il file specificato e che nel database sia disponibile spazio sufficiente per archiviare i dati caricati.

  • Il caricamento bulk non tenta di usare i dati forniti come codice. L'input dei dati non viene mai eseguito in alcun modo. Qualsiasi codice o comando nei dati di input viene considerato come dati normali e non verrà eseguito.

  • Il caricamento bulk può apportare modifiche di formattazione ai dati specificati in base alle differenze tra i modelli di dati XML e SQL Server. Ad esempio, il formato per specificare un'ora è diverso. Il caricamento bulk tenterà di risolvere queste differenze. Di conseguenza, alcune informazioni sulla precisione potrebbero andarsi perse.

  • Il caricamento bulk non imposta alcun limite per la quantità di tempo necessaria per elaborare i dati. L'elaborazione continuerà fino al completamento dell'elaborazione o si verifica un errore.

  • Il caricamento bulk consente di creare ed eliminare tabelle temporanee all'interno del database e di disporre delle autorizzazioni necessarie per eseguire questa operazione. Le autorizzazioni per queste tabelle verranno concesse allo stesso utente che si connette al database per il processo di caricamento bulk.

  • Il caricamento bulk può creare ed eliminare file temporanei usati durante l'elaborazione in modalità transazionale e ha bisogno delle autorizzazioni per farlo. Questi file vengono creati con le stesse autorizzazioni dell'utente corrente del thread in cui è in esecuzione il caricamento bulk.

  • Se l'utente imposta un file di log degli errori per SQLXML in cui scrivere errori, ogni volta che viene eseguito il caricamento bulk il file verrà sovrascritto con i dati dell'ultimo processo di caricamento bulk.

Vedere anche

Esecuzione del caricamento bulk di dati XML (SQLXML 4.0)