Condividi tramite


Destinazione SQL Server

Si applica a: SQL Server SSIS Integration Runtime in Azure Data Factory

La destinazione SQL Server si connette a un database di SQL Server locale ed esegue il caricamento bulk dei dati nelle tabelle e nelle viste di SQL Server. Non è possibile usare la destinazione SQL Server nei pacchetti che accedono a un database di SQL Server in un server remoto. Per tali pacchetti, utilizzare la destinazione OLE DB. Per altre informazioni, vedere OLE DB Destination.

Autorizzazioni

Gli utenti che eseguono pacchetti che includono la destinazione SQL Server devono disporre dell'autorizzazione "Creazione oggetti globali", che può essere concessa tramite lo strumento Criteri di sicurezza locali, accessibile dal menu Strumenti di amministrazione . Se durante l'esecuzione di un pacchetto che utilizza la destinazione SQL Server viene visualizzato un messaggio di errore, verificare che l'account utilizzato per eseguire il pacchetto disponga dell'autorizzazione "Creazione oggetti globali".

Inserimenti bulk

Se si tenta di utilizzare la destinazione SQL Server per il caricamento bulk dei dati in un database remoto di SQL Server, potrebbe venire visualizzato un messaggio di errore simile a "È disponibile un record OLE DB. Origine: "Microsoft SQL Server Native Client" Hresult: 0x80040E14 Descrizione: "Impossibile eseguire il caricamento bulk perché non è stato possibile aprire l'oggetto di mapping dei file SSIS 'Global\DTSQLIMPORT'. Codice di errore del sistema operativo 2 (Impossibile trovare il file specificato). Verificare che l'accesso venga effettuato a un server locale tramite la sicurezza di Windows.""

La destinazione SQL Server offre lo stesso tipo di inserimento dei dati ad alta velocità in SQL Server garantito dall'attività Inserimento bulk. Se si usa la destinazione SQL Server, tuttavia, un pacchetto può applicare le trasformazioni ai dati delle colonne prima che vengano caricati in SQL Server.

Per il caricamento dei dati in SQL Server, è consigliabile usare la destinazione SQL Server invece della destinazione OLE DB.

Opzioni per l'inserimento bulk

Se la destinazione SQL Server utilizza una modalità di accesso ai dati con caricamento rapido, sarà possibile specificare le opzioni di caricamento rapido seguenti:

  • È possibile mantenere i valori Identity del file di dati importato o usare valori univoci assegnati da SQL Server.

  • È possibile mantenere i valori Null durante l'operazione di caricamento bulk.

  • È possibile verificare i vincoli sulla tabella o vista di destinazione durante l'operazione di importazione bulk.

  • È possibile acquisire un blocco a livello di tabella per la durata dell'operazione di caricamento bulk.

  • È possibile eseguire trigger di inserimento definiti sulla tabella di destinazione durante l'operazione di caricamento bulk.

  • È possibile specificare il numero della prima riga nell'input da caricare durante l'operazione di inserimento bulk.

  • È possibile specificare il numero dell'ultima riga nell'input da caricare durante l'operazione di inserimento bulk.

  • È possibile specificare il numero massimo di errori che si possono verificare prima che l'operazione di caricamento bulk venga annullata. Ogni riga che non può essere importata viene conteggiata come errore.

  • È possibile specificare le colonne nell'input che contengono dati ordinati.

Per altre informazioni sulle opzioni di caricamento bulk, vedere BULK INSERT (Transact-SQL).

Miglioramenti delle prestazioni

Per migliorare le prestazioni dell'inserimento bulk e dell'accesso ai dati delle tabelle durante un'operazione di inserimento bulk, modificare le opzioni predefinite nel modo seguente:

  • Non verificare i vincoli sulla tabella o vista di destinazione durante l'operazione di importazione bulk.

  • Non eseguire trigger di inserimento definiti sulla tabella di destinazione durante l'operazione di caricamento bulk.

  • Non applicare blocchi alla tabella, in modo che rimanga disponibile ad altri utenti e applicazioni durante l'operazione di inserimento bulk.

Configurazione della destinazione SQL Server

È possibile configurare la destinazione SQL Server nei modi seguenti:

  • Specificare la tabella o vista in cui eseguire il caricamento bulk dei dati.

  • Personalizzare l'operazione di caricamento bulk specificando opzioni quale il controllo dei vincoli.

  • Specificare se deve essere eseguito il commit di tutte le righe in un batch oppure impostare il numero massimo di righe di cui eseguire il commit in un batch.

  • Specificare un timeout per l'operazione di caricamento bulk.

Per connettersi a un'origine dei dati questa destinazione utilizza una gestione connessione OLE DB, che specifica il provider OLE DB da utilizzare. Per altre informazioni, vedere Gestione connessione OLE DB.

Un progetto di Integration Services fornisce anche l'oggetto origine dei dati da cui è possibile creare una gestione connessione OLE DB, in modo da rendere disponibili le origini dei dati e le viste origine dati alla destinazione SQL Server.

La destinazione SQL Server include un input. Non supporta un output degli errori.

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

Nella finestra di dialogo Editor avanzato sono disponibili le proprietà che è possibile impostare a livello di codice. Per ulteriori informazioni sulle proprietà che è possibile impostare nella finestra di dialogo Editor avanzato o a livello di codice, fare clic su uno degli argomenti seguenti:

Per ulteriori informazioni sulle procedure per l'impostazione delle proprietà, fare clic su uno degli argomenti seguenti:

Editor destinazione SQL Server (pagina Gestione connessione)

Usare la pagina Gestione connessione della finestra di dialogo Editor destinazione SQL per specificare le informazioni sull'origine dei dati e visualizzare un'anteprima dei risultati. La destinazione SQL Server carica i dati in tabelle o viste in un database di Microsoft SQL Server.

Opzioni

Gestione connessione OLE DB
Selezionare una connessione esistente nell'elenco oppure fare clic su Nuovaper creare una nuova connessione.

New
Consente di creare una nuova connessione usando la finestra di dialogo Configura gestione connessione OLE DB .

Tabella o vista
Consente di selezionare una tabella o vista esistente nell'elenco oppure di creare una nuova connessione facendo clic su Nuova.

New
Consente di creare una nuova tabella usando la finestra di dialogo Crea tabella .

Nota

Quando si fa clic su Nuova, Integration Services genera un'istruzione CREATE TABLE predefinita basata sull'origine dati connessa. Questa istruzione CREATE TABLE predefinita non includerà l'attributo FILESTREAM anche se la tabella di origine include una colonna con l'attributo FILESTREAM dichiarato. Per eseguire un componente Integration Services con l'attributo FILESTREAM, implementare innanzitutto l'archiviazione di FILESTREAM nel database di destinazione. Aggiungere quindi l'attributo FILESTREAM all'istruzione CREATE TABLE nella finestra di dialogo Crea tabella . Per altre informazioni, vedere Dati BLOB (Binary Large Object) (SQL Server).

Anteprima
Consente di visualizzare in anteprima i risultati nella finestra di dialogo Anteprima risultati query . L'anteprima supporta la visualizzazione di un massimo di 200 righe.

Editor destinazione SQL Server (pagina Mapping)

Utilizzare la pagina Mapping della finestra di dialogo Editor destinazione SQL per eseguire il mapping tra colonne di input e colonne di destinazione.

Opzioni

Colonne di input disponibili
Consente di visualizzare l'elenco delle colonne di input disponibili. Eseguire un'operazione di trascinamento della selezione per impostare il mapping tra le colonne di input disponibili nella tabella e le colonne di destinazione.

Colonne di destinazione disponibili
Consente di visualizzare l'elenco delle colonne di destinazione disponibili. Eseguire un'operazione di trascinamento della selezione per impostare il mapping tra le colonne di destinazione disponibili nella tabella e le colonne di input.

Colonna di input
Consente di visualizzare le colonne di input selezionate nella tabella precedente. È possibile modificare i mapping utilizzando l'elenco Colonne di input disponibili.

Colonna di destinazione
Consente di visualizzare tutte le colonne di destinazione disponibili, indipendentemente dal fatto che siano mappate o meno.

Editor destinazione SQL Server (pagina Avanzate)

Usare la pagina Avanzate della finestra di dialogo Editor destinazione SQL per specificare le opzioni di inserimento bulk avanzate.

Opzioni

Mantieni valori Identity
Consente di specificare se l'attività deve inserire valori nelle colonne Identity. Il valore predefinito di questa proprietà è False.

Mantieni valori Null
Consente di specificare se l'attività deve mantenere i valori Null. Il valore predefinito di questa proprietà è False.

Blocco a livello di tabella
Consente di specificare se la tabella viene bloccata durante il caricamento dei dati. Il valore predefinito di questa proprietà è True.

Controlla vincoli
Consente di specificare se l'attività deve verificare i vincoli. Il valore predefinito di questa proprietà è True.

Attiva trigger
Consente di specificare se l'inserimento bulk deve attivare i trigger nelle tabelle. Il valore predefinito di questa proprietà è False.

Prima riga
Consente di specificare la prima riga da inserire. Il valore predefinito della proprietà è -1, a indicare che non è stato assegnato alcun valore.

Nota

Deselezionare la casella in Editor destinazione SQL per indicare che non si vuole assegnare alcun valore alla proprietà. Usare -1 nella finestra Proprietà , in Editor avanzatoe nel modello a oggetti.

Ultima riga
Consente di specificare l'ultima riga da inserire. Il valore predefinito della proprietà è -1, a indicare che non è stato assegnato alcun valore.

Nota

Deselezionare la casella in Editor destinazione SQL per indicare che non si vuole assegnare alcun valore alla proprietà. Usare -1 nella finestra Proprietà , in Editor avanzatoe nel modello a oggetti.

Numero massimo di errori
Consente di specificare il numero massimo di errori che possono verificarsi prima dell'arresto dell'inserimento bulk. Il valore predefinito della proprietà è -1, a indicare che non è stato assegnato alcun valore.

Nota

Deselezionare la casella in Editor destinazione SQL per indicare che non si vuole assegnare alcun valore alla proprietà. Usare -1 nella finestra Proprietà , in Editor avanzatoe nel modello a oggetti.

Timeout
Consente di specificare il numero di secondi di attesa prima che l'inserimento bulk venga arrestato a causa di un timeout.

Colonne di ordinamento
Consente di digitare i nomi delle colonne di ordinamento. È possibile ordinare ogni colonna in ordine crescente o decrescente. Se si utilizzando più colonne di ordinamento, delimitare l'elenco con virgole.

Vedi anche

Flusso di dati