Attività Trasferisci databaseTransfer Database Task

L'attività Trasferisci database trasferisce un database di SQL ServerSQL Server tra due istanze di SQL ServerSQL Server.The Transfer Database task transfers a SQL ServerSQL Server database between two instances of SQL ServerSQL Server. A differenza di altre attività che trasferiscono oggetti di SQL ServerSQL Server solo eseguendone una copia, l'attività Trasferisci database può copiare o spostare un database.In contrast to the other tasks that only transfer SQL ServerSQL Server objects by copying them, the Transfer Database task can either copy or move a database. Tramite questa attività è inoltre possibile copiare un database all'interno dello stesso server.This task can also be used to copy a database within the same server.

Modalità offline e onlineOffline and Online Modes

Il database può essere trasferito in modalità online o offline.The database can be transferred by using online or offline mode. Nella modalità online il database rimane collegato e viene trasferito tramite SQL Management Object (SMO) per la copia degli oggetti di database.When you use online mode, the database remains attached and it is transferred by using SQL Management Object (SMO) to copy the database objects. Nella modalità offline il database viene scollegato, i corrispondenti file vengono copiati o spostati e il database viene quindi collegato alla destinazione dopo essere stato trasferito correttamente.When you use offline mode, the database is detached, the database files are copied or moved, and the database is attached at the destination after the transfer finishes successfully. Se il database viene copiato, viene ricollegato automaticamente all'origine, quando la copia ha esito positivo.If the database is copied, it is automatically reattached at the source if the copy is successful. Nella modalità offline la copia del database viene eseguita più rapidamente, ma durante il trasferimento il database non è disponibile agli utenti.In offline mode, the database is copied more quickly, but the database is unavailable to users during the transfer.

Quando si utilizza la modalità offline, è necessario specificare le condivisioni file di rete del server di origine e di destinazione in cui si trovano i file di database.Offline mode requires that you specify the network file shares on the source and destination servers that contain the database files. Se la cartella è condivisa e accessibile dall'utente, è possibile fare riferimento alla condivisione di rete in base alla sintassi \\nomecomputer\Programmi\cartellapersonale\.If the folder is shared and can be accessed by the user, you can reference the network share using the syntax \\computername\Program Files\myfolder\. In caso contrario, è necessario adottare la sintassi \\nomecomputer\c$\Programmi\cartellapersonale\.Otherwise, you must use the syntax \\computername\c$\Program Files\myfolder\. Per poter utilizzare questa seconda sintassi, l'utente deve disporre dell'accesso in scrittura alle condivisioni di rete nell'origine e nella destinazione.To use the latter syntax, the user must have write access to the source and destination network shares.

Trasferimento di database tra versioni di SQL ServerTransfer of Databases Between Versions of SQL Server

L'attività Trasferisci database consente di trasferire un database tra istanze di versioni diverse di SQL ServerSQL Server .The Transfer Database task can transfer a database between instances of different SQL ServerSQL Server versions.

EventiEvents

L'attività Trasferisci database non visualizza lo stato incrementale del trasferimento di messaggi di errore, ma solo il completamento 0% e 100%.The Transfer Database task does not report incremental progress of the error message transfer; it reports only 0% and 100 % completion.

Valore di esecuzioneExecution Value

Il valore di esecuzione, definito nella proprietà ExecutionValue dell'attività, restituisce il valore 1, in quanto a differenza di altre attività di trasferimento, l'attività Trasferisci database può trasferire un solo database.The execution value, defined in the ExecutionValue property of the task, returns the value 1, because in contrast to other transfer tasks, the Transfer Database task can transfer only one database.

Tramite l'assegnazione di una variabile definita dall'utente alla proprietà ExecValueVariable dell'attività, le informazioni sul trasferimento dei messaggi di errore possono essere rese disponibili ad altri oggetti del pacchetto.By assigning a user-defined variable to the ExecValueVariable property of the Transfer Database task, information about the error message transfer can be made available to other objects in the package. Per altre informazioni, vedere Variabili di Integration Services (SSIS) e Utilizzo di variabili nei pacchetti.For more information, see Integration Services (SSIS) Variables and Use Variables in Packages.

Voci di logLog Entries

L'attività Trasferisci database include le voci di log personalizzate seguenti:The Transfer Database task includes the following custom log entries:

  • SourceSQLServer Indica il nome del server di origine.SourceSQLServer This log entry lists the name of the source server.

  • DestSQLServer Indica il nome del server di destinazione.DestSQLServer This log entry lists the name of the destination server.

  • SourceDB Indica il nome del database trasferito.SourceDB This log entry lists the name of the database that is transferred.

    Viene scritta inoltre una voce di log per l'evento OnInformation quando il database di destinazione viene sovrascritto.In addition, a log entry for the OnInformation event is written when the destination database is overwritten.

Sicurezza e autorizzazioniSecurity and Permissions

Per poter trasferire un database in modalità offline, l'utente che esegue il pacchetto deve essere membro del ruolo del server _sysadmin.To transfer a database using offline mode, the user who runs the package must be a member of the sysadmin server role.

Per poter trasferire un database in modalità online, l'utente che esegue il pacchetto deve essere membro del ruolo del server sysadmin o il proprietario (dbo) del database selezionato.To transfer a database using online mode, the user who runs the package must be a member of the sysadmin server role or the database owner (dbo) of the selected database.

Configurazione dell'attività Trasferisci databaseConfiguration of the Transfer Database Task

È possibile specificare se, in caso di trasferimento non riuscito, deve essere eseguito un altro tentativo di collegamento del database di origine.You can specify whether the task tries to reattach the source database if the database transfer fails.

È inoltre possibile configurare l'attività Trasferisci database in modo da consentire la sovrascrittura di un database di destinazione avente lo stesso nome.The Transfer Database task can also be configured to permit overwriting a destination database that has the same name, replacing the destination database.

Il database di origine può essere inoltre rinominato durante il processo di trasferimento.The source database can also be renamed as part of the transfer process. Se si desidera trasferire un database in un'istanza di SQL ServerSQL Server in cui è presente un database avente lo stesso nome, per consentire il trasferimento è necessario rinominare il database di origine.If you want to transfer a database to a destination instance of SQL ServerSQL Server that already contains a database that has the same name, renaming the source database allows the database to be transferred. È tuttavia necessario che anche i nomi dei file di database siano diversi. Se hanno lo stesso nome di altri file presenti nella destinazione, l'attività ha esito negativo.However, the database file names must also be different; if database files that have the same names already exist at the destination, the task fails.

Quando si copia un database, le dimensioni del database non possono essere inferiori alle dimensioni del database model sul server di destinazione.When you copy a database, the database cannot be smaller than the size of the model database on the destination server. È possibile incrementare le dimensioni del database da copiare oppure ridurre le dimensioni di model.You can either increase the size of the database to copy, or reduce the size of model.

In fase di esecuzione, l'attività Trasferisci database si connette ai server di origine e di destinazione utilizzando una o più gestioni connessioni SMO.At run time, the Transfer Database task connects to the source and destination servers by using one or two SMO connection managers. Quando si crea la copia di un database nello stesso server, è richiesta una sola gestione connessione SMO.When you create a copy of a database on the same server, only one SMO connection manager is required. Le gestioni connessioni SMO vengono configurate separatamente dall'attività Trasferisci database, che tuttavia vi fa riferimento.The SMO connection managers are configured separately from the Transfer Database task, and then are referenced in the Transfer Database task. Le gestioni connessioni SMO specificano il server e la modalità di autenticazione da utilizzare durante l'accesso dell'attività al server.The SMO connection managers specify the server and the authentication mode to use when the task accesses the server. Per altre informazioni, vedere Gestione connessione SMO.For more information, see SMO Connection Manager.

È possibile impostare le proprietà tramite Progettazione SSISSSIS o a livello di codice.You can set properties through SSISSSIS Designer or programmatically.

Per ulteriori informazioni sulle proprietà che è possibile impostare in Progettazione SSISSSIS , fare clic su uno degli argomenti seguenti:For more information about the properties that you can set in SSISSSIS Designer, click one of the following topics:

Configurazione a livello di codice dell'attività Trasferisci databaseProgrammatic Configuration of the Transfer Database Task

Per ulteriori informazioni sull'impostazione di queste proprietà a livello di codice, fare clic sull'argomento seguente:For more information about programmatically setting these properties, click the following topic: