Condividi tramite


Attività Inserimento di massa

Data aggiornamento: 17 luglio 2006

L'attività Inserimento di massa rappresenta un modo efficiente per copiare grandi quantità di dati in una tabella o in una vista di SQL Server. Si supponga, ad esempio, che nella propria società venga utilizzato un mainframe per archiviare l'elenco prodotti, che include un milione di righe, ma che il sistema e-commerce dell'azienda utilizzi SQL Server 2005 per popolare le pagine Web. È necessario aggiornare la tabella di SQL Server dei prodotti durante la notte utilizzando l'elenco master dei prodotti del mainframe. A tale scopo è possibile salvare l'elenco prodotti in un file delimitato da tabulazione e utilizzare l'attività Inserimento di massa per copiare i dati direttamente nella tabella di SQL Server.

Per garantire la massima velocità di copia, non è consentito eseguire trasformazioni durante lo spostamento dei dati dal file di origine alla tabella o alla vista.

Per configurare l'attività Inserimento di massa, procedere nel modo seguente:

  • Specificare la gestione connessione OLE DB da utilizzare per la connessione al database SQL Server di destinazione e la tabella o la vista in cui si desidera inserire i dati. L'attività Inserimento di massa supporta solo le connessioni OLE DB per il database di destinazione.
  • Consente di specificare una gestione connessione file o file flat per accedere al file di origine. L'attività Inserimento di massa utilizza la gestione connessione solo per il percorso del file di origine. L'attività ignora le altre opzioni selezionate nell'editor della gestione connessione.
  • Definire il formato utilizzato dall'attività Inserimento di massa, utilizzando un file di formato o definendo i delimitatori di colonna e di riga dei dati di origine. Se si utilizza un file di formato, specificare la gestione connessione file da utilizzare per accedere a tale file.
  • Specificare le azioni da eseguire nella tabella o nella vista di destinazione quando i dati vengono inseriti dall'attività. È possibile specificare se verificare i vincoli, consentire IDENTITY_INSERT, mantenere i valori Null, attivare trigger o bloccare la tabella.
  • Fornire informazioni sul batch di dati da inserire, ad esempio le dimensioni del batch, la prima e l'ultima riga del file da inserire, il numero massimo di errori oltre il quale interrompere l'inserimento delle righe e i nomi delle colonne che verranno ordinate.

Se l'attività Inserimento di massa utilizza una gestione connessione file flat per accedere al file di origine, invece del formato specificato nella gestione connessione file flat utilizza il formato specificato in un file di formato oppure i valori delle proprietà RowDelimiter e ColumnDelimiter dell'attività.

Considerazioni sull'utilizzo

Prima di utilizzare l'attività Inserimento di massa, considerare gli aspetti seguenti:

  • Con l'attività Inserimento di massa i dati possono essere trasferiti solo da un file di testo a una tabella o a una vista di SQL Server. Per utilizzare l'attività Inserimento di massa per trasferire dati da altri sistemi di gestione di database (DBMS, Database Management System), è necessario esportare i dati dall'origine a un file di testo e quindi importarli dal file di testo a una tabella o vista di SQL Server.
  • La destinazione deve essere una tabella o vista di database di SQL Server. Se nella tabella o vista di destinazione sono già presenti dati, durante l'esecuzione dell'attività Inserimento di massa i nuovi dati verranno aggiunti a quelli esistenti. Se si desidera sostituire i dati, prima dell'attività Inserimento di massa avviare un'attività Esegui SQL che esegue un'istruzione DELETE o TRUNCATE. Per ulteriori informazioni, vedere Attività Esegui SQL.
  • Nell'oggetto attività Inserimento di massa è possibile utilizzare un file di formato. Se il file di formato è stato creato dall'utilità bcp, è possibile specificarne il percorso nell'attività Inserimento di massa. L'attività Inserimento di massa supporta file di formato sia XML che non XML. Per ulteriori informazioni sui file di formato, vedere File di formato per l'importazione o l'esportazione di dati.
  • I pacchetti che contengono attività Inserimento di massa possono essere eseguiti solo dai membri del ruolo predefinito del server sysadmin.

Utilizzo dell'attività Inserimento di massa con le transazioni

Se le dimensioni del batch non sono impostate, l'intera operazione di copia di massa verrà considerata come un'unica transazione. Se il valore delle dimensioni del batch è 0, i dati verranno inseriti in un solo batch. Se le dimensioni del batch sono impostate, ogni batch rappresenterà una transazione di cui verrà eseguito il commit alla fine dell'esecuzione. Per ulteriori informazioni, vedere Transazioni implicite.

Il comportamento dell'attività Inserimento di massa in relazione alle transazioni varia a seconda che l'attività partecipi o meno alla transazione del pacchetto. Se l'attività Inserimento di massa non partecipa alla transazione del pacchetto, per ogni batch privo di errori verrà eseguito il commit prima di procedere con il batch successivo. Se l'attività Inserimento di massa partecipa alla transazione, al termine dell'attività i batch privi di errori rimarranno nella transazione e saranno soggetti alle operazioni di commit o di rollback del pacchetto.

In caso di errore nell'attività Inserimento di massa, i batch già caricati non verranno sottoposti automaticamente a rollback. Analogamente l'esito positivo dell'attività non comporta automaticamente l'esecuzione del commit per tali batch. Le operazioni di commit e di rollback vengono eseguite solo se le proprietà del flusso di lavoro o del pacchetto sono state impostate in questo senso.

Impostazione dell'origine e della destinazione

Quando si specifica il percorso del file di testo di origine, prendere in considerazione i fattori seguenti:

  • Il server deve disporre delle autorizzazioni necessarie per accedere sia al file che al database di destinazione.
  • Poiché l'attività Inserimento di massa viene eseguita dal server, tutti i file di formato utilizzati dall'attività devono trovarsi sul server.
  • Il file di origine caricato dall'attività Inserimento di massa può trovarsi sullo stesso server del database di SQL Server in cui vengono inseriti i dati oppure su un server remoto. Se il file si trova su un server remoto, sarà necessario specificarne il percorso in formato UNC (Universal Naming Convention).

Ottimizzazione delle prestazioni

Per ottimizzare le prestazioni, prendere in considerazione i fattori seguenti:

  • Se il file di testo si trova nello stesso computer del database di SQL Server in cui vengono inseriti i dati, l'operazione di copia avviene a una velocità superiore, in quanto i dati non devono essere trasferiti in rete.
  • L'attività Inserimento di massa non registra le righe che determinano errori. Se è necessario acquisire tali informazioni, utilizzare gli output degli errori dei componenti del flusso di dati per registrare in un file di eccezioni le righe che provocano errori.

Voci di log personalizzate disponibili nell'attività Inserimento di massa

Nella tabella seguente sono elencate le voci di log personalizzate disponibili per l'attività Inserimento di massa. Per ulteriori informazioni, vedere Implementazione della registrazione nei pacchetti e Messaggi personalizzati per la registrazione.

Voce di log Descrizione

DTSBulkInsertTaskBegin

Indica che l'inserimento di massa è iniziato.

DTSBulkInsertTaskEnd

Indica che l'inserimento di massa è terminato.

DTSBulkInsertTaskInfos

Offre informazioni descrittive sull'attività.

Configurazione dell'attività Inserimento di massa

È possibile impostare le proprietà tramite Progettazione SSIS o a livello di programmazione.

Per ulteriori informazioni sulle proprietà che è possibile impostare in Progettazione SSIS, fare clic su uno degli argomenti seguenti:

Per ulteriori informazioni sull'impostazione di queste proprietà in Progettazione SSIS, fare clic sull'argomento seguente:

Configurazione dell'attività Inserimento di massa a livello di programmazione

Per ulteriori informazioni sull'impostazione di queste proprietà a livello di programmazione, fare clic sull'argomento seguente:

Cronologia modifiche

Versione Cronologia

17 luglio 2006

Contenuto modificato:
  • Inserimento dell'informazione che l'attività Inserimento di massa supporta solo le connessioni OLE DB per il database di destinazione.
  • Aggiunta di una tabella di voci di log personalizzate.

Vedere anche

Attività

Gestione degli errori nei dati

Concetti

Attività di Integration Services
Gestione connessione file
Gestione connessione OLE DB
Creazione del flusso di controllo di un pacchetto

Guida in linea e informazioni

Assistenza su SQL Server 2005