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 sull'argomento seguente:For more information about the properties that you can set in SSISSSIS Designer, click the following topic:

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:

Editor attività Trasferisci database (pagina Generale)Transfer Database Task Editor (General Page)

Utilizzare la pagina Generale dell' Editor attività Trasferisci database per assegnare un nome all'attività Trasferisci database e descriverla.Use the General page of the Transfer Database Task Editor dialog box to name and describe the Transfer Database task. Questa attività consente di copiare o spostare un database di SQL ServerSQL Server tra due istanze di SQL ServerSQL Server,The Transfer Database task copies or moves a SQL ServerSQL Server database between two instances of SQL ServerSQL Server. 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.

OpzioniOptions

NomeName
Consente di digitare un nome univoco per l'attività Trasferisci database.Type a unique name for the Transfer Database task. Tale nome viene utilizzato come etichetta nell'icona dell'attività.This name is used as the label in the task icon.

Nota

I nomi delle attività devono essere univoci all'interno di un pacchetto.Task names must be unique within a package.

DescriptionDescription
Consente di digitare una descrizione dell'attività Trasferisci database.Type a description of the Transfer Database task.

Editor attività Trasferisci database (pagina Database)Transfer Database Task Editor (Databases Page)

Utilizzare la pagina Database della finestra di dialogo Editor attività Trasferisci database per specificare le proprietà relative ai database di origine e destinazione interessati dall'attività Trasferisci database.Use the Databases page of the Transfer Database Task Editor dialog box to specify properties for the source and destination databases involved in the Transfer Database task. Questa attività consente di copiare o spostare un database di SQL ServerSQL Server tra due istanze di SQL ServerSQL Server,The Transfer Database task copies or moves a SQL ServerSQL Server database between two instances of SQL ServerSQL Server. 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.

OpzioniOptions

SourceConnectionSourceConnection
Selezionare una gestione connessione SMO nell'elenco oppure fare clic su <nuova connessione > per creare una nuova connessione al server di origine.Select a SMO connection manager in the list, or click <New connection...> to create a new connection to the source server.

DestinationConnectionDestinationConnection
Selezionare una gestione connessione SMO nell'elenco oppure fare clic su <nuova connessione > per creare una nuova connessione al server di destinazione.Select a SMO connection manager in the list, or click <New connection...> to create a new connection to the destination server.

DestinationDatabaseNameDestinationDatabaseName
Specificare il nome del database di SQL ServerSQL Server nel server di destinazione.Specify the name of the SQL ServerSQL Server database on the destination server.

Per inserire automaticamente il nome del database di origine in questo campo, specificare innanzitutto SourceConnection e SourceDatabaseName .To automatically populate this field with the source database name, specify the SourceConnection and SourceDatabaseName first.

Per rinominare il database nel server di destinazione, digitare il nuovo nome in questo campo.To rename the database on the destination server, type the new name in this field.

DestinationDatabaseFilesDestinationDatabaseFiles
Indica i nomi e i percorsi dei file di database nel server di destinazione.Specifies the names and locations of the database files on the destination server.

Per inserire automaticamente i nomi e i percorsi dei file del database di origine in questo campo, specificare innanzitutto SourceConnection, SourceDatabaseNamee SourceDatabaseFiles .To automatically populate this field with the source database file names and locations, specify the SourceConnection, SourceDatabaseName, and SourceDatabaseFiles first.

Per rinominare i file di database o specificare i nuovi percorsi nel server di destinazione, inserire in questo campo le informazioni sul database di origine e quindi fare clic sul pulsante Sfoglia.To rename the database files or to specify the new locations on the destination server, populate this field with the source database information, and then click the browse button. Nella finestra di dialogo File di database di destinazione modificare File di destinazione, Cartella di destinazioneo Condivisione file di rete.In the Destination database files dialog box, edit the Destination File, Destination Folder, or Network File Share.

Nota

Se i file di database vengono individuati tramite il pulsante Sfoglia, il percorso dei file viene immesso usando l'annotazione dell'unità locale, ad esempio c:\.If you locate the database files by using the browse button, the file location is entered using the local drive notation: for example, c:\. È necessario sostituire questa annotazione con quella di condivisione di rete, includendo il nome del computer e il nome di condivisione.You must replace this with the network share notation, including the computer name and share name. In caso di condivisione amministrativa predefinita, è necessario utilizzare l'annotazione $ e disporre di accesso amministrativo alla condivisione.If the default administrative share is used, you must use the $ notation, and have administrative access to the share.

DestinationOverwriteDestinationOverwrite
Indicare se il database nel server di destinazione può essere sovrascritto.Specify whether the database on the destination server can be overwritten.

Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente:This property has the options listed in the following table:

ValoreValue DescriptionDescription
TrueTrue Sovrascrive il database del server di destinazione.Overwrite destination server database.
FalseFalse Non sovrascrive il database del server di destinazione.Do not overwrite destination server database.

Attenzione

Se si specifica True per la proprietà DestinationOverwrite, i dati inclusi nel database del server di destinazione verranno sovrascritti ed è possibile che si verifichi una perdita di dati.The data in the destination server database will be overwritten if you specify True for DestinationOverwrite, which may result in data loss. Per evitare che i dati vadano perduti, procedere a un backup del database del server di destinazione in un'altra posizione prima di eseguire l'attività Trasferisci database.To avoid this, back up the destination server database to another location before executing the Transfer Database task.

AzioneAction
Indicare se l'attività eseguirà il comando Copia o Sposta il database nel server di destinazione.Specify whether the task will Copy or Move the database to the destination server.

MetodoMethod
Indicare se l'attività deve essere eseguita quando il database nel server di origine è in modalità online o offline.Specify whether the task will be executed while the database on the source server is in online or offline mode.

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

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

SourceDatabaseNameSourceDatabaseName
Selezionare il nome del database da copiare o spostare.Select the name of the database to be copied or moved.

SourceDatabaseFilesSourceDatabaseFiles
Fare clic sul pulsante Sfoglia per selezionare i file di database.Click the browse button to select the database files.

ReattachSourceDatabaseReattachSourceDatabase
Indicare se l'attività tenterà di ricollegare il database di origine in caso di errore.Specify whether the task will attempt to reattach the source database if a failure occurs.

Per questa proprietà sono disponibili le opzioni elencate nella tabella seguente:This property has the options listed in the following table:

ValoreValue DescriptionDescription
TrueTrue Ricollega il database di origine.Reattach source database.
FalseFalse Non ricollega il database di origine.Do not reattach source database.

File di database di origineSource database files

Utilizzare la finestra di dialogo File di database di origine per visualizzare i nomi e i percorsi dei file di database nel server di origine oppure per specificare il percorso di condivisione dei file in rete per l'attività Trasferisci database.Use the Source Database Files dialog box to view the database file names and locations on the source server, or to specify a network file share location for the Transfer Database task.

Per popolare questa finestra di dialogo con i nomi e i percorsi dei file di database nel server di origine, impostare innanzitutto le opzioni SourceConnection e SourceDatabaseName nelle pagine Database della finestra di dialogo Editor attività Trasferisci database .To populate this dialog box with the database file names and locations on the source server, specify the SourceConnection and SourceDatabaseName first in the Databases page of the Transfer Database Task Editor dialog box.

OpzioniOptions

File di origineSource File
Nomi dei file di database nel server di origine che verranno trasferiti.Database file names on the source server that will be transferred. Il valoreFile di origine è di sola lettura.Source File is read only.

Cartella di origineSource Folder
Cartella nel server di origine in cui si trovano i file di database da trasferire.Folder on the source server where the database files to be transferred reside. Il valoreCartella di origine è di sola lettura.Source Folder is read only.

Condivisione file di reteNetwork File Share
Cartella di rete condivisa nel server di origine da cui verranno trasferiti i file di database.Network shared folder on the source server from where the database files will be transferred. Utilizzare Condivisione file di rete quando si trasferisce un database in modalità offline impostando l'opzione DatabaseOffline per Metodo nella pagina Database della finestra di dialogo Editor attività Trasferisci database .Use Network File Share when you transfer a database in offline mode by specifying DatabaseOffline for Method in the Databases page of the Transfer Database Task Editor dialog box.

Digitare il percorso della condivisione file di rete oppure fare clic sul pulsante Sfoglia (…) per individuarlo.Enter the network file share location, or click the browse button (…) to locate the network file share location.

Quando si trasferisce un database in modalità offline, i rispettivi file vengono copiati nel percorso specificato in Condivisione file di rete nel server di origine prima di essere trasferiti al server di destinazione.When you transfer a database in offline mode, the database files are copied to the Network file share location on the source server before they are transferred to the destination server.

File di database di destinazioneDestination Database Files

Utilizzare la finestra di dialogo File di database di destinazione per visualizzare o modificare i percorsi e i nomi dei file di database nel server di destinazione oppure per specificare un percorso di file di rete per l'attività Trasferisci database.Use the Destination Database Files dialog box to view or change the database file names and locations on the destination server, or to specify a network file location for the Transfer Database task.

Per inserire automaticamente i percorsi e i nomi dei file di database del server di origine in questa finestra di dialogo, specificare innanzitutto le proprietà SourceConnection, SourceDatabaseNamee SourceDatabaseFiles nella pagina Database della finestra di dialogo Editor attività Trasferisci database .To automatically populate this dialog box with the database file names and locations on the source server, specify the SourceConnection, SourceDatabaseName, and SourceDatabaseFiles first in the Databases page of the Transfer Database Task Editor dialog box.

OpzioniOptions

File di destinazioneDestination File
Nomi dei file di database trasferiti nel server di destinazione.Names of the transferred database files on the destination server.

Immettere il nome del file o fare clic sul nome del file per modificarlo.Enter the file name, or click the file name to edit it.

Cartella di destinazioneDestination Folder
Cartella del server di destinazione in cui verranno trasferiti i file di database.Folder on the destination server where the database files will be transferred to.

Immettere il percorso della cartella, fare clic su tale percorso per modificarlo oppure fare clic su Sfoglia per individuare la cartella del server di destinazione in cui trasferire i file di database.Enter the folder path, click the folder path to edit it, or click browse to locate the folder where you want to transfer the database files on the destination server.

Condivisione file di reteNetwork File Share
Cartella di condivisione dei file di rete del server di destinazione in cui verranno trasferiti i file di database.Network shared folder on the destination server where the database files will be transferred to. Utilizzare Condivisione file di rete quando si trasferisce un database in modalità offline specificando DatabaseOffline per Metodo nella pagina Database della finestra di dialogo Editor attività Trasferisci database .Use Network file share when you transfer a database in offline mode by specifying DatabaseOffline for Method in the Databases page of the Transfer Database Task Editor dialog box.

Immettere il percorso di condivisione dei file di rete o fare clic su Sfoglia per individuarlo.Enter the network file share location, or click browse to locate the network file share location.

Durante il trasferimento di un database in modalità offline, prima di essere trasferiti nella posizione Cartella di destinazione , i file di database vengono copiati nella cartella Condivisione file di rete .When you transfer a database in offline mode, the database files are copied to the Network file share location before they are transferred to the Destination folder location.