4861 – Impossibile eseguire il caricamento bulk perché non è stato possibile aprire il file “%1!”. Codice di errore del sistema operativo %2!.

0
(0)

Messaggio

Codice: 4861

Messaggio in italiano: Impossibile eseguire il caricamento bulk perché non è stato possibile aprire il file “%1!”. Codice di errore del sistema operativo %2!.

Messaggio in inglese: Cannot bulk load because the file “%ls” could not be opened. Operating system error code %ls.

Spiegazione

Questo errore può comparire per molti diversi motivi, ma tutti riguardano l’impossibilità di accedere a un file di cui si vorrebbe fare un caricamento bulk. L’errore con codice 4861 riporta il messaggio del sistema operativo, quindi la parte finale può essere diversa, anche a parità di codice.

Causa

  1. Il primo motivo è che la cartella in cui si trova il file non è accessibile dal servizio SQL Server. Normalmente SQL Server è un servizio Windows che usa un account di sistema NT Service\MSSQL$SQLEXPRESS; impostare un account di dominio e dare l’accesso alla cartella in cui risiede il file da caricare potrebbe risolvere il problema.
  2. Il secondo motivo è che il nome del file non è scritto correttamente. Il messaggio di errore potrebbe essere fuorviante, perché sembra che il problema sia di accesso e invece è di correttezza del nome.
  3. Il terzo motivo potrebbe essere che Windows non abbia impostata la delega degli account di sicurezza. Questo potrebbe impedire il caricamento di file in cui il percorso è specificato tramite un UNC (es. \\server\share\folder\file.csv). Per ulteriori dettagli, vedere la pagina
    https://docs.microsoft.com/it-it/sql/t-sql/statements/bulk-insert-transact-sql
    nella sezione Security.

    Parametri

    %1! rappresenta il nome del file da cui il bulk insert dovrebbe ottenere i dati

    %2! riporta il messaggio del sistema operativo che genera l’errore

Soluzione

A seconda della causa bisogna verificare tre elementi.

  1. Verificare che l’account con cui è avviato SQL server abbia diritti di accesso alla cartella indicata. È possibile cambiare l’account SQL server aprendo i servizi (start => esegui => services.msc), cliccare su SQL Server, tab connessione; oppure è possibile assegnare diritti di lettura all’utente che sta eseguendo SQL Server; oppure entrambe le soluzioni.
  2. Verificare che il nome del file sia scritto correttamente. L’errore è banale, ma è segnalato in maniera fuorviante.
  3. Impostare in Windows la delega degli account di sicurezza oppure mettere il file in una cartella locale di SQL server, in modo da non avere la necessità di usare percorsi UNC

Hai trovato utile questo contenuto?

Valutazione: 0 / 5. Voti: 0

Vota per primo questo contenuto

Ci dispiace che tu abbia trovato inutile o sbagliato questo contenuto

Lasciaci un messaggio

Come possiamo migliorare?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Moderazione dei commenti attiva. Il tuo commento non apparirà immediatamente.