Considerazioni sulla sicurezza del caricamento bulk (SQLXML 4.0)

Si applica a: SQL Server database SQL di Azure

Di seguito sono riportate alcune linee guida relative alla sicurezza quando si utilizza il caricamento bulk XML:

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

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

    • Al processo di caricamento bulk vengono concessi gli accessi di tipo Lettura/Scrittura/Eliminazione.

    • 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 sulla cartella che li contiene.

  • Il caricamento bulk XML non include impostazioni specifiche per le autorizzazioni. Si presuppone che il database sia impostato correttamente e che per il contesto dell'utente, ovvero l'account di accesso utilizzato per il caricamento bulk, siano state impostate le autorizzazioni appropriate.

  • Se si verifica un errore durante il processo di caricamento bulk in modalità non transazionale, è possibile che i dati restino in uno stato di caricamento parziale, ovvero il caricamento bulk si arresta nel punto in cui si trova. Per risolvere questo problema è possibile utilizzare la modalità transazionale.

  • Se vengono visualizzati messaggi di errore relativi al caricamento bulk, è possibile che includano informazioni sul database, ad esempio il nome di una tabella o di una colonna o la specifica del tipo di colonna. Quando si utilizza il caricamento bulk, è necessario prestare particolare attenzione agli errori generati dal processo di caricamento bulk e restituire un messaggio di errore generico anziché esporre gli errori direttamente agli utenti.

  • Per il caricamento bulk non è previsto alcun limite sulla quantità di dati da gestire né alcun controllo sulla dimensione dei dati da caricare. È responsabilità dell'utente eseguire il caricamento bulk per garantire che la memoria disponibile sia sufficiente per elaborare il file specificato e che lo spazio disponibile nel database sia sufficiente per archiviare i dati caricati.

  • Durante il caricamento bulk non viene effettuato alcun tentativo di utilizzo dei dati forniti come codice. I dati di input non vengono mai eseguiti e gli eventuali comandi o frammenti di codice presenti in tali dati vengono considerati come dati normali e pertanto non vengono eseguiti.

  • Il caricamento bulk può apportare modifiche di formattazione ai dati specificati in base alle differenze tra i modelli di dati XML e SQL Server. Il formato per la specifica dell'ora è ad esempio diverso. Poiché durante il caricamento bulk si tenterà di risolvere queste differenze, si potrebbero perdere alcune informazioni sulla precisione.

  • Il caricamento bulk non prevede l'impostazione di alcun limite sulla quantità di tempo necessaria per l'elaborazione dei dati. L'elaborazione continuerà finché non sarà stata completata o non si verificherà un errore.

  • Il caricamento bulk consente di creare ed eliminare tabelle temporanee all'interno del database ma a tale scopo è necessario disporre di autorizzazioni specifiche. Le autorizzazioni per queste tabelle verranno concesse allo stesso utente che si sta connettendo al database per il processo di caricamento bulk.

  • Il caricamento bulk consente di creare ed eliminare i file temporanei utilizzati durante l'elaborazione in modalità transazionale ma a tale scopo è necessario disporre di autorizzazioni specifiche. Questi file vengono creati con le stesse autorizzazioni di cui dispone l'utente corrente del thread in cui è in esecuzione il caricamento bulk.

  • Se l'utente imposta un file di log degli errori in cui scrivere gli errori relativi a SQLXML, a ogni esecuzione del caricamento bulk il file verrà sovrascritto con i dati dell'ultimo processo di caricamento bulk.

Vedi anche

Esecuzione del caricamento bulk di dati XML (SQLXML 4.0)