Attività Trasferisci oggetti di SQL Server

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

L'attività Trasferisci oggetti di SQL Server trasferisce uno o più tipi di oggetti di un database di SQL Server tra istanze di SQL Server, ad esempio, tabelle e stored procedure. A seconda della versione di SQL Server usata come origine, sono disponibili per la copia tipi di oggetti diversi. Ad esempio, schemi e aggregati definiti dall'utente sono inclusi solo nei database di SQL Server.

Oggetti trasferibili

È possibile copiare ruoli del server, ruoli e utenti del database specificato, oltre alla autorizzazioni associate agli oggetti trasferiti. La copia degli utenti, dei ruoli e delle autorizzazioni associate insieme agli oggetti consente di rendere gli oggetti trasferiti immediatamente utilizzabili nel server di destinazione.

Nella tabella seguente sono elencati i tipi di oggetti che è possibile copiare.

Oggetto
Tabelle
Visualizzazioni
Stored procedure
Funzioni definite dall'utente
Impostazioni predefinite
Tipi di dati definiti dall'utente
Funzioni di partizione
Schemi di partizione
Schemi
Assembly
Funzioni di aggregazione definite dall'utente
Tipi definiti dall'utente
Raccolta di XML Schema

I tipi definiti dall'utente (UDT) creati in un'istanza di SQL Server hanno dipendenze su assembly CLR (Common Language Runtime). Se si usa l'attività Trasferisci oggetti SQL Server per trasferire UDT, è anche necessario configurarla per trasferire gli oggetti dipendenti. Per trasferire oggetti dipendenti, impostare la proprietà IncludeDependentObjects su True.

Opzioni tabella

Per la copia di tabelle è possibile indicare i tipi degli elementi correlati da includere nel processo di copia. Insieme alla tabella correlata è possibile copiare i tipi di elementi seguenti:

  • Indici

  • Trigger

  • Indici full-text

  • Chiavi primarie

  • Chiavi esterne

È inoltre possibile indicare se lo script generato dall'attività deve essere in formato Unicode.

Opzioni destinazione

È possibile configurare l'attività Trasferisci oggetti di SQL Server in modo da includere nel trasferimento i nomi degli schemi, i dati, le proprietà estese degli oggetti trasferiti e gli oggetti dipendenti. Per la copia di dati, è possibile specificare se sostituire o appendere gli eventuali dati esistenti.

Alcune opzioni sono valide solo in SQL Server. Ad esempio, gli schemi sono supportati solo in SQL Server.

Opzioni di sicurezza

L'attività Trasferisci oggetti di SQL Server può includere le impostazioni relative a utenti e ruoli a livello di database di SQL Server disponibili nell'origine, gli account di accesso di SQL Server e le autorizzazioni per gli oggetti trasferiti. Nel trasferimento è possibile includere, ad esempio, le autorizzazioni per le tabelle trasferite.

Trasferimento di oggetti tra istanze di SQL Server

L'attività Trasferisci oggetti di SQL Server supporta un'origine e una destinazione SQL Server.

Eventi

L'attività genera un evento informativo in cui è indicato il numero di oggetti trasferiti. Genera inoltre un evento di avviso quando un oggetto viene sovrascritto. Viene generato un evento informativo anche in corrispondenza di azioni quale il troncamento delle tabelle di database.

L'attività Trasferisci oggetti di SQL Server non riporta lo stato incrementale del trasferimento, ma solo 0% e il completamento 100%.

Valore di esecuzione

Il valore di esecuzione, archiviato nella proprietà ExecutionValue dell'attività, restituisce il numero degli oggetti trasferiti. Tramite l'assegnazione di una variabile definita dall'utente alla proprietà ExecValueVariable dell'attività Trasferisci oggetti di SQL Server, le informazioni sul trasferimento di oggetti possono essere rese disponibili anche ad altri oggetti nel pacchetto. Per altre informazioni, vedere Variabili di Integration Services (SSIS) e Utilizzo di variabili nei pacchetti.

Voci di log

L'attività Trasferisci oggetti di SQL Server include le voci di log personalizzate seguenti:

  • TransferSqlServerObjectsTaskStartTransferringObjects Indica che il trasferimento è iniziato. La voce di log include l'ora di inizio.

  • TransferSqlServerObjectsTaskFinishedTransferringObjects Indica che il trasferimento è stato completato. La voce di log include l'ora di fine.

Inoltre, una voce di log per l'evento OnInformation riporta il numero di oggetti del tipo specificato selezionati per il trasferimento, il numero di oggetti trasferiti e le azioni, quale il troncamento delle tabelle, eseguite quando insieme alle tabelle vengono trasferiti anche i dati. Viene scritta una voce di log per l'evento OnWarning per ogni oggetto sovrascritto nella destinazione.

Sicurezza e autorizzazioni

L'utente deve disporre dell'autorizzazione per l'esplorazione degli oggetti nel server di origine e l'autorizzazione per l'eliminazione e creazione di oggetti nel server di destinazione. Deve inoltre avere accesso al database e agli oggetti di database specificati.

Configurazione dell'attività Trasferisci oggetti di SQL Server

È possibile configurare l'attività Trasferisci oggetti di SQL Server per il trasferimento di tutti gli oggetti, di tutti gli oggetti di un tipo specifico o soltanto degli oggetti specificati di un determinato tipo. È possibile, ad esempio, impostare la copia solo delle tabelle selezionate nel database AdventureWorks.

Se l'attività Trasferisci oggetti di SQL Server trasferisce tabelle, è possibile specificare i tipi di oggetti correlati alle tabelle da copiare insieme alle tabelle. È possibile, ad esempio, specificare che insieme alle tabelle vengano copiate le chiavi primarie.

Per migliorare ulteriormente la funzionalità degli oggetti trasferiti, è possibile configurare l'attività Trasferisci oggetti di SQL Server in modo da includere nel trasferimento i nomi degli schemi, i dati, le proprietà estese degli oggetti trasferiti e gli oggetti dipendenti. Per la copia di dati, è possibile specificare se sostituire o appendere gli eventuali dati esistenti.

In fase di esecuzione, l'attività Trasferisci oggetti di SQL Server si connette ai server di origine e di destinazione tramite due gestioni connessioni SMO. Le gestioni connessioni SMO vengono configurate separatamente dall'attività Trasferisci oggetti di SQL Server e quindi vi si fa riferimento nell'attività Trasferisci oggetti di SQL Server. Le gestioni connessioni SMO specificano il server e la modalità di autenticazione da utilizzare per l'accesso al server. Per altre informazioni, vedere Gestione connessione file.

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

Per altre informazioni sulle proprietà che è possibile impostare in Progettazione SSIS, fare clic sull'argomento seguente:

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

Configurazione a livello di codice dell'attività Trasferisci oggetti di SQL Server

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

Editor attività Trasferisci oggetti di SQL Server (pagina Generale)

Usare la pagina Generale della finestra di dialogo Editor attività Trasferisci oggetti di SQL Server per assegnare un nome e una descrizione all'attività Trasferisci oggetti di SQL Server.

Nota

L'utente che crea l'attività Trasferisci oggetti di SQL Server deve disporre di autorizzazioni appropriate sugli oggetti del server di origine per selezionarli a scopo di copia, nonché dell'autorizzazione necessaria per accedere al database del server di destinazione in cui verranno trasferiti gli oggetti in questione.

Opzioni

Nome
Consente di digitare un nome univoco per l'attività Trasferisci oggetti di SQL Server. Tale nome viene utilizzato come etichetta nell'icona dell'attività.

Nota

I nomi delle attività devono essere univoci all'interno di un pacchetto.

Descrizione
Consente di digitare una descrizione dell'attività Trasferisci oggetti di SQL Server.

Editor attività Trasferisci oggetti di SQL Server (pagina Oggetti)

Usare la pagina Oggetti della finestra di dialogo Editor attività Trasferisci oggetti di SQL Server per impostare le proprietà relative alla copia di uno o più oggetti di SQL Server da un'istanza di SQL Server a un'altra. Tabelle, viste, stored procedure e funzioni definite dall'utente rappresentano solo alcuni esempi di oggetti di SQL Server che è possibile copiare.

Nota

L'utente che crea l'attività Trasferisci oggetti di SQL Server deve disporre di autorizzazioni sufficienti per gli oggetti del server di origine per selezionarli e copiarli, nonché dell'autorizzazione per l'accesso al database del server di destinazione in cui gli oggetti verranno trasferiti.

Opzioni statiche

SourceConnection
Selezionare una gestione connessione SMO nell'elenco o fare clic su <Nuova connessione> per creare una nuova connessione al server di origine.

SourceDatabase
Consente di selezionare un database nel server di origine dal quale verranno copiati gli oggetti.

DestinationConnection
Selezionare una gestione connessione SMO nell'elenco o fare clic su <Nuova connessione> per creare una nuova connessione al server di destinazione.

DestinationDatabase
Consente di selezionare un database nel server di destinazione nel quale verranno copiati gli oggetti.

DropObjectsFirst
Consente di indicare se gli oggetti selezionati verranno eliminati nel server di destinazione prima della copia.

IncludeExtendedProperties
Consente di indicare se le proprietà estese devono essere incluse nella copia degli oggetti dal server di origine a quello di destinazione.

CopyData
Consente di indicare se i dati devono essere inclusi nella copia degli oggetti dal server di origine a quello di destinazione.

ExistingData
Consente di specificare la modalità di copia dei dati nel server di destinazione. Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente:

Valore Descrizione
Sostituzione I dati nel server di destinazione verranno sovrascritti.
Aggiunta I dati copiati dal server di origine verranno accodati a quelli esistenti nel server di destinazione.

Nota

L'opzione ExistingData è disponibile solo se CopyData è impostata su True.

CopySchema
Consente di indicare se lo schema deve essere copiato durante l'attività Trasferisci oggetti di SQL Server.

Nota

CopySchema è disponibile solo per SQL Server.

UseCollation
Consente di indicare se il trasferimento degli oggetti deve includere le regole di confronto specificate nel server di origine.

IncludeDependentObjects
Consente di indicare se la copia degli oggetti selezionati deve essere propagata in modo da includere eventuali oggetti dipendenti da quelli selezionati.

CopyAllObjects
Consente di indicare se, durante l'attività, devono essere copiati tutti gli oggetti nel database di origine specificato o solo quelli selezionati. Se questa opzione viene impostata su False, è possibile selezionare gli oggetti da trasferire e vengono visualizzate le opzioni dinamiche nella sezione CopyAllObjects.

ObjectsToCopy
Espandere ObjectsToCopy per specificare quali oggetti devono essere copiati dal database di origine a quello di destinazione.

Nota

ObjectsToCopy è disponibile solo se CopyAllObjects è impostata su False.

Le opzioni per la copia dei tipi di oggetti seguenti sono supportate solo in SQL Server:

Assembly

Funzioni di partizione

Schemi di partizione

Schemi

Funzioni di aggregazione definite dall'utente

Tipi definiti dall'utente

Raccolte di XML Schema

CopyDatabaseUsers
Consente di indicare se gli utenti del database devono essere inclusi nel trasferimento.

CopyDatabaseRoles
Consente di indicare se i ruoli del database devono essere inclusi nel trasferimento.

CopySqlServerLogins
Consente di indicare se gli account di accesso di SQL Server devono essere inclusi nel trasferimento.

CopyObjectLevelPermissions
Consente di indicare se le autorizzazioni a livello di oggetto devono essere incluse nel trasferimento.

CopyIndexes
Consente di indicare se gli indici devono essere inclusi nel trasferimento.

CopyTriggers
Consente di indicare se i trigger devono essere inclusi nel trasferimento.

CopyFullTextIndexes
Consente di indicare se gli indici full-text devono essere inclusi nel trasferimento.

CopyPrimaryKeys
Consente di indicare se le chiavi primarie devono essere incluse nel trasferimento.

CopyForeignKeys
Consente di indicare se le chiavi esterne devono essere incluse nel trasferimento.

GenerateScriptsInUnicode
Consente di indicare se gli script di trasferimento generati sono in formato Unicode.

Opzioni dinamiche

CopyAllObjects = False

CopyAllTables
Consente di indicare se, durante l'attività, verranno copiate tutte le tabelle nel database di origine specificato o solo le tabelle selezionate.

TablesList
Fare clic per aprire la finestra di dialogo Selezione tabelle .

CopyAllViews
Consente di indicare se, durante l'attività, verranno copiate tutte le viste nel database di origine specificato o solo quelle selezionate.

ViewsList
Fare clic per aprire la finestra di dialogo Selezione viste .

CopyAllStoredProcedures
Consente di indicare se, durante l'attività, verranno copiate tutte le stored procedure definite dall'utente nel database di origine specificato o solo le stored procedure selezionate.

StoredProceduresList
Fare clic per aprire la finestra di dialogo Selezione stored procedure .

CopyAllUserDefinedFunctions
Consente di indicare se, durante l'attività, verranno copiate tutte le funzioni definite dall'utente nel database di origine specificato o solo le funzioni selezionate.

UserDefinedFunctionsList
Fare clic per aprire la finestra di dialogo Selezione funzioni definite dall'utente .

CopyAllDefaults
Consente di indicare se, durante l'attività, verranno copiati tutti i valori predefiniti nel database di origine specificato o solo i valori predefiniti selezionati.

DefaultsList
Fare clic per aprire la finestra di dialogo Selezione valori predefiniti .

CopyAllUserDefinedDataTypes
Consente di indicare se, durante l'attività, verranno copiati tutti i tipi di dati definiti dall'utente nel database di origine specificato o solo i tipi selezionati.

UserDefinedDataTypesList
Fare clic per aprire la finestra di dialogo Selezione tipi di dati definiti dall'utente .

CopyAllPartitionFunctions
Consente di indicare se, durante l'attività, verranno copiate tutte le partizioni definite dall'utente nel database di origine specificato o solo le partizioni selezionate. Supportato solo in SQL Server.

PartitionFunctionsList
Fare clic per aprire la finestra di dialogo Selezione funzioni di partizione .

CopyAllPartitionSchemes
Consente di indicare se, durante l'attività, verranno copiati tutti gli schemi di partizione nel database di origine specificato o solo gli schemi selezionati. Supportato solo in SQL Server.

PartitionSchemesList
Fare clic per aprire la finestra di dialogo Selezione schemi di partizione .

CopyAllSchemas
Consente di indicare se, durante l'attività, verranno copiati tutti gli schemi nel database di origine specificato o solo quelli selezionati. Supportato solo in SQL Server.

SchemasList
Fare clic per aprire la finestra di dialogo Seleziona schemi .

CopyAllSqlAssemblies
Consente di indicare se, durante l'attività, verranno copiati tutti gli assembly SQL nel database di origine specificato o solo quelli selezionati. Supportato solo in SQL Server.

SqlAssembliesList
Fare clic per aprire la finestra di dialogo Select SQL Assemblies (Selezione assembly SQL).

CopyAllUserDefinedAggregates
Consente di indicare se, durante l'attività, verranno copiate tutte le funzioni di aggregazione definite dall'utente nel database di origine specificato o solo le funzioni selezionate. Supportato solo in SQL Server.

UserDefinedAggregatesList
Fare clic per aprire la finestra di dialogo Selezione funzioni di aggregazione definite dall'utente .

CopyAllUserDefinedTypes
Consente di indicare se, durante l'attività, verranno copiati tutti i tipi definiti dall'utente nel database di origine specificato o solo quelli selezionati. Supportato solo in SQL Server.

UserDefinedTypes
Fare clic per aprire la finestra di dialogo Selezione tipi definiti dall'utente .

CopyAllXmlSchemaCollections
Consente di indicare se, durante l'attività, verranno copiate tutte le raccolte di XML Schema nel database di origine specificato o solo le raccolte di XML Schema selezionate. Supportato solo in SQL Server.

XmlSchemaCollectionsList
Fare clic per aprire la finestra di dialogo Selezionare le raccolte XML Schema .

Vedi anche

Guida di riferimento ai messaggi e agli errori di Integration Services
Attività di Integration Services
Editor attività Trasferisci oggetti di SQL Server (pagina Generale)
Pagina Espressioni
Formati di dati per l'importazione o l'esportazione bulk (SQL Server)
Considerazioni sulla sicurezza per un'installazione di SQL Server