Debug di un flusso di datiDebugging Data Flow

MicrosoftMicrosoft Integration ServicesIntegration Services e Progettazione SSISSSIS includono funzionalità e strumenti che è possibile usare per la risoluzione dei problemi dei flussi di dati in un pacchetto di Integration ServicesIntegration Services . Integration ServicesIntegration Services and the SSISSSIS Designer include features and tools that you can use to troubleshoot the data flows in an Integration ServicesIntegration Services package.

  • SSISSSIS Progettazione offre visualizzatori dati. Designer provides data viewers.

  • SSISSSIS Progettazione e le trasformazioni di Integration ServicesIntegration Services offrono conteggi delle righe. Designer and Integration ServicesIntegration Services transformations provide row counts.

  • SSISSSIS Progettazione genera report di stato in fase di runtime. Designer provides progress reporting at run time.

Visualizzatori datiData Viewers

I visualizzatori dati visualizzano i dati scambiati tra due componenti in un flusso di dati.Data viewers display data between two components in a data flow. I dati possono essere visualizzati quando vengono estratti da un'origine dei dati e immessi per la prima volta in un flusso di dati, prima e dopo l'aggiornamento da parte di una trasformazione e prima che vengano caricati nella destinazione.Data viewers can display data when the data is extracted from a data source and first enters a data flow, before and after a transformation updates the data, and before the data is loaded into its destination.

Per visualizzare i dati è necessario collegare visualizzatori dati al percorso che connette i due componenti flusso di dati.To view the data, you attach data viewers to the path that connects two data flow components. La possibilità di visualizzare i dati scambiati tra due componenti flusso di dati semplifica l'identificazione di valori di dati imprevisti, consente di vedere come vengono modificati i valori delle colonne da parte di una trasformazione e di individuare i motivi per cui una trasformazione non riesce.The ability to view data between data flow components makes it easier to identify unexpected data values, view the way a transformation changes column values, and discover the reason that a transformation fails. Nel caso in cui, ad esempio, una ricerca in una tabella di riferimento abbia esito negativo, per risolvere il problema potrebbe essere necessario aggiungere una trasformazione che fornisce dati predefiniti per le colonne vuote.For example, you may find that a lookup in a reference table fails, and to correct this you may want to add a transformation that provides default data for blank columns.

Un visualizzatore consente di visualizzare i dati in una griglia.A data viewer can display data in a grid. Se si utilizza una griglia, è possibile selezionare le colonne da visualizzare.Using a grid, you select the columns to display. I valori per le colonne selezionate verranno visualizzati in formato tabulare.The values for the selected columns display in a tabular format.

È inoltre possibile collegare più visualizzatori dati in uno stesso percorsoYou can also include multiple data viewers on a path. e visualizzare gli stessi dati in formati diversi, creando ad esempio una vista grafico e una visualizzazione griglia, oppure creare visualizzatori dati diversi per colonne di dati diverse.You can display the same data in different formats—for example, create a chart view and a grid view of the data—or create different data viewers for different columns of data.

Quando si aggiunge un visualizzatore dati a un percorso, Progettazione SSISSSIS aggiunge un'icona di visualizzatore dati all'area di progettazione della scheda Flusso di dati , accanto al percorso.When you add a data viewer to a path, SSISSSIS Designer adds a data viewer icon to the design surface of the Data Flow tab, next to the path. Le trasformazioni che possono avere più output, come la trasformazione Suddivisione condizionale, possono includere un visualizzatore dati per ogni percorso.Transformations that can have multiple outputs, such as the Conditional Split transformation, can include a data viewer on each path.

In fase di runtime viene visualizzata la finestra Visualizzatore dati in cui sono disponibili le informazioni specificate dal formato del visualizzatore dati.At run time, a Data Viewer window opens and displays the information specified by the data viewer format. Un visualizzatore che utilizza un formato griglia, ad esempio, visualizza i dati per le colonne selezionate, il numero delle righe di output passate al componente flusso di dati e il numero delle righe visualizzate.For example, a data viewer that uses the grid format shows data for the selected columns, the number of output rows passed to the data flow component, and the number of rows displayed. Le informazioni vengono visualizzate un buffer dopo l'altro e il numero delle righe contenuto in ogni buffer dipende dalla larghezza delle righe nel flusso di dati.The information displays buffer by buffer and, depending on the width of the rows in the data flow, a buffer may contain more or fewer rows.

Nella finestra di dialogo Visualizzatore dati è possibile copiare i dati negli Appunti, cancellare tutti i dati dalla tabella, riconfigurare il visualizzatore dati, riprendere il flusso di dati e collegare o scollegare il visualizzatore dati.In the Data Viewer dialog box, you can copy the data to the Clipboard, clear all data from the table, reconfigure the data viewer, resume the flow of data, and detach or attach the data viewer.

Per aggiungere un visualizzatore datiTo add a data viewer

Conteggi delle righeRow Counts

Il numero delle righe passate lungo un percorso viene visualizzato nell'area di progettazione della scheda Flusso di dati di Progettazione SSISSSIS , accanto al percorso.The number of rows that have passed through a path is displayed on the design surface of the Data Flow tab in SSISSSIS Designer next to the path. Tale numero viene aggiornato periodicamente mentre i dati si spostano lungo il percorso.The number is updated periodically while the data moves through the path.

Nel flusso di dati è inoltre possibile aggiungere una trasformazione Conteggio righe per l'acquisizione del conteggio di righe finale in una variabile.You can also add a Row Count transformation to the data flow to capture the final row count in a variable. Per altre informazioni, vedere Trasformazione Conteggio righe.For more information, see Row Count Transformation.

Report di statoProgress Reporting

Quando si esegue un pacchetto, Progettazione SSISSSIS delinea i progressi compiuti nell'area di progettazione della scheda Flusso dati visualizzando ogni componente del flusso dati in un colore che ne indica lo stato.When you run a package, SSISSSIS Designer depicts progress on the design surface of the Data Flow tab by displaying each data flow component in a color that indicates status. Quando ogni componente, inizialmente privo di colore, comincia a eseguire le operazioni previste, assume il colore giallo e, al termine, assume il colore verde.When each component starts to perform its work, it changes from no color to yellow, and when it finishes successfully, it changes to green. Tramite il colore rosso viene indicato che l'esecuzione del componente non è riuscita.A red color indicates that the component failed.

Il significato dei colori è descritto nella tabella seguente.The following table describes the color-coding.

ColoreColor DescriptionDescription
NessunoNo color In attesa di essere chiamato dal motore flusso di dati.Waiting to be called by the data flow engine.
GialloYellow È in corso una trasformazione, un'operazione di estrazione o un'operazione di caricamento dei dati.Performing a transformation, extracting data, or loading data.
GreenGreen L'esecuzione è stata completata.Ran successfully.
rossored Il componente è stato eseguito con errori.Ran with errors.

Analisi del flusso di datiAnalysis of Data Flow

È possibile usare la vista database execution_data_statistics SSISDB per analizzare il flusso di dati dei pacchetti.You can use the catalog.execution_data_statistics SSISDB database view to analyze the data flow of packages. In questa vista viene visualizzata una riga ogni volta che un componente del flusso di dati invia dati a un componente a valle.This view displays a row each time a data flow component sends data to a downstream component. Le informazioni possono essere utilizzate per acquisire una comprensione più approfondita delle righe inviate a ciascun componente.The information can be used to gain a deeper understanding of the rows that are sent to each component.

Nota

Il livello di registrazione deve essere impostato su Dettagliato per acquisire informazioni con la vista catalog.execution_data_statistics.The logging level must be set to Verbose in order to capture information with the catalog.execution_data_statistics view.

Nell'esempio seguente viene visualizzato il numero di righe inviate tra i componenti di un pacchetto.The following example displays the number of rows sent between components of a package.

use SSISDB  
select package_name, task_name, source_component_name, destination_component_name, rows_sent  
from catalog.execution_data_statistics  
where execution_id = 132  
order by source_component_name, destination_component_name   

Nell'esempio seguente viene calcolato il numero di righe per millisecondi inviate da ogni componente per un'esecuzione specifica.The following example calculates the number of rows per millisecond sent by each component for a specific execution. I valori calcolati sono:The calculated values are:

  • total_rows : somma di tutte le righe inviate dal componentetotal_rows - the sum of all the rows sent by the component

  • wall_clock_time_ms : tempo totale di esecuzione trascorso, in millisecondi, per ogni componentewall_clock_time_ms – the total elapsed execution time, in milliseconds, for each component

  • num_rows_per_millisecond : numero di righe per millisecondi inviate da ogni componentenum_rows_per_millisecond – the number of rows per millisecond sent by each component

    La clausola HAVING viene usata per impedire un errore di divisione per zero nei calcoli.The HAVING clause is used to prevent a divide-by-zero error in the calculations.

use SSISDB  
select source_component_name, destination_component_name,  
    sum(rows_sent) as total_rows,  
    DATEDIFF(ms,min(created_time),max(created_time)) as wall_clock_time_ms,  
    ((0.0+sum(rows_sent)) / (datediff(ms,min(created_time),max(created_time)))) as [num_rows_per_millisecond]  
from [catalog].[execution_data_statistics]  
where execution_id = 132  
group by source_component_name, destination_component_name  
having (datediff(ms,min(created_time),max(created_time))) > 0  
order by source_component_name desc  

Configurazione di un output degli errori in un componente del flusso di datiConfigure an Error Output in a Data Flow Component

Molti componenti del flusso di dati supportano l'output degli errori. A seconda del componente, in Progettazione SSISSSIS sono disponibili strumenti diversi per la configurazione di un output degli errori.Many data flow components support error outputs, and depending on the component, SSISSSIS Designer provides different ways to configure an error output. Oltre a configurare un output degli errori, è possibile configurare le relative colonne,In addition to configuring an error output, you can also configure the columns of an error output. tra cui le colonne ErrorCode e ErrorColumn aggiunte dal componente.This includes configuring the ErrorCode and ErrorColumn columns that are added by the component.

Configurazione di un output degli erroriConfiguring an Error Output

Per configurare un output degli errori sono disponibili due opzioni:To configure an error output, you have two options:

  • Usare la finestra di dialogo Configura output errori .Use the Configure Error Output dialog box. Questa finestra di dialogo consente di configurare un output degli errori in qualsiasi componente del flusso di dati che supporti l'output degli errori.You can use this dialog box to configure an error output on any data flow component that supports an error output.

  • Utilizzare la finestra di dialogo dell'editor per il componente.Use the editor dialog box for the component. Alcuni componenti consentono di configurare gli output degli errori direttamente dalla finestra di dialogo dell'editor.Some components let you configure error outputs directly from their editor dialog box. Non è tuttavia possibile configurare output degli errori dalla finestra di dialogo dell'editor per l'origine ADO NET, la trasformazione Importa colonna, la trasformazione Comando OLE DB o la destinazione SQL ServerSQL Server Compact.However, you cannot configure error outputs from the editor dialog box for the ADO NET source, the Import Column transformation, the OLE DB Command transformation, or the SQL ServerSQL Server Compact destination.

    Nelle procedure seguenti viene descritto come utilizzare queste finestre di dialogo per configurare gli output degli errori.The following procedures describe how to use these dialog boxes to configure error outputs.

Per configurare un output degli errori tramite la finestra di dialogo Configura output erroriTo configure an error output using the Configure Error Output dialog box

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.In Solution Explorer, double-click the package to open it.

  3. In Progettazione SSISSSIS fare clic sulla scheda Flusso di dati .In SSISSSIS Designer, click the Data Flow tab.

  4. Trascinare l'output degli errori, rappresentato da una freccia rossa, dal componente corrispondente all'origine degli errori a un altro componente del flusso di dati.Drag the error output, represented by the red arrow, from the component that is the source of the errors to another component in the data flow.

  5. Nella finestra di dialogo Configura output errori selezionare un'azione nelle colonne Errore e Troncamento per ogni colonna dell'input del componente.In the Configure Error Output dialog box, select an action in the Error and Truncation columns for each column in the component input.

  6. Per salvare il pacchetto aggiornato, dal menu File scegliere Salva elementi selezionati.To save the updated package, on the File menu, click Save Selected Items.

Per aggiungere un output degli errori tramite la finestra di dialogo dell'editor per il componenteTo add an error output using the editor dialog box for the component

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.In Solution Explorer, double-click the package to open it.

  3. In Progettazione SSISSSIS fare clic sulla scheda Flusso di dati .In SSISSSIS Designer, click the Data Flow tab.

  4. Fare doppio clic sui componenti del flusso di dati in cui si desidera configurare un output degli errori e, a seconda del componente, eseguire una delle operazioni seguenti:Double-click the data flow components in which you want to configure an error output and, depending on the component, do one of the following steps:

    • Fare clic su Configura output errori.Click Configure Error Output.

    • Fare clic su Output degli errori.Click Error Output.

  5. Impostare l'opzione Errore per ogni colonna.Set the Error option for each column.

  6. Impostare l'opzione Troncamento per ogni colonna.Set the Truncation option for each column.

  7. Scegliere OK.Click OK.

  8. Per salvare il pacchetto aggiornato, dal menu File scegliere Salva elementi selezionati.To save the updated package, on the File menu, click Save Selected Items.

Configurazione delle colonne dell'output degli erroriConfiguring Error Output Columns

Per configurare le colonne dell'output degli errori, è necessario usare la scheda Proprietà input e output della finestra di dialogo Editor avanzato .To configure the error output columns, you have to use the Input and Output Properties tab of the Advanced Editor dialog box.

Per configurare le colonne dell'output degli erroriTo configure error output columns

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.In Solution Explorer, double-click the package to open it.

  3. In Progettazione SSISSSIS fare clic sulla scheda Flusso di dati .In SSISSSIS Designer, click the Data Flow tab.

  4. Fare clic con il pulsante destro del mouse sul componente di cui si desidera configurare le colonne dell'output degli errori, quindi scegliere Visualizza editor avanzato.Right-click the component whose error output columns you want to configure and click Show Advanced Editor.

  5. Fare clic su di proprietà Input e Output scheda ed espandere <nome componente > Output degli errori e quindi espandere colonne di Output.Click the Input and Output Properties tab and expand <component name> Error Output and then expand Output Columns.

  6. Fare clic su una colonna e aggiornarne le proprietà.Click a column and update its properties.

    Nota

    L'elenco di colonne include le colonne dell'input del componente, le colonne ErrorCode e ErrorColumn aggiunte dall'output degli errori precedente e le colonne ErrorCode e ErrorColumn aggiunte dal componente corrente.The list of columns includes the columns in the component input, the ErrorCode and ErrorColumn columns added by previous error outputs, and the ErrorCode and ErrorColumn columns added by this component.

  7. Scegliere OK.Click OK.

  8. Per salvare il pacchetto aggiornato, dal menu File scegliere Salva elementi selezionati.To save the updated package, on the File menu, click Save Selected Items.

Aggiunta di un visualizzatore dati a un flusso di dati Add a Data Viewer to a Data Flow

In questo argomento viene descritta la procedura per l'aggiunta e la configurazione di un visualizzatore dati in un flusso di dati.This topic describes how to add and configure a data viewer in a data flow. In un visualizzatore dati vengono visualizzati i dati in transito tra due componenti flusso di dati,A data viewer displays data that is moving between two data flow components. ad esempio i dati estratti da un'origine dei dati prima che vengano modificati da una trasformazione del flusso di dati.For example, a data viewer can display the data that is extracted from a data source before a transformation in the data flow modifies the data.

Un percorso collega i componenti in un flusso di dati connettendo l'output di un componente all'input dell'altro.A path connects components in a data flow by connecting the output of one data flow component to the input of another component.

Per poter aggiungere visualizzatori dati in un pacchetto, è necessario che il pacchetto includa un'attività Flusso di dati e almeno due componenti flusso di dati connessi tra di loro.Before you can add data viewers to a package, the package must include a Data Flow task and at least two data flow components that are connected.

Aggiungere un visualizzatore dati a un output di errore per visualizzare la descrizione dell'errore e il nome della colonna in cui si è verificato l'errore.Add a data viewer to an error output to see the description of the error and the name of the column in which the error occurred. Per impostazione predefinita l'output di errore include solo gli identificatori numerici per l'errore e la colonna.By default the error output includes only numeric identifiers for the error and the column.

Per aggiungere un visualizzatore dati in un flusso di datiTo add a data viewer to a data flow

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.In Solution Explorer, double-click the package to open it.

  3. Fare clic sulla scheda Flusso di controllo se non è già visualizzata.Click the Control Flow tab, if it is not already active.

  4. Fare clic sull'attività Flusso di dati nel cui flusso di dati si vuole aggiungere un visualizzatore dati e quindi dare clic sulla scheda Flusso di dati .Click the Data Flow task to whose data flow you want to attach a data viewer and then click the Data Flow tab.

  5. Fare clic con il pulsante destro del mouse su un percorso tra due componenti del flusso di dati e quindi scegliere Modifica.Right-click a path between two data flow components, and click Edit.

  6. Nella pagina Generale è possibile visualizzare e modificare le proprietà del percorso.On the General page, you can view and edit path properties. Ad esempio, nell'elenco a discesa PathAnnotation è possibile selezionare l'annotazione visualizzata accanto al percorso.For example, from the PathAnnotation drop-down list you can select the annotation that appears next to the path.

  7. Nella pagina Metadati è possibile visualizzare i metadati delle colonne e copiarli negli Appunti.On the Metadata page, you can view the column metadata and copy the metadata to the Clipboard.

  8. Nella pagina Visualizzatore dati fare clic su Abilita visualizzatore dati.On the Data Viewer page, click Enable data viewer.

  9. Nell'area Colonne da visualizzare selezionare le colonne che si desidera visualizzare nel visualizzatore dati.In the Columns to display area, select the columns you want to display in the data viewer. Per impostazione predefinita, nell'elenco Colonne visualizzate sono elencate e selezionate tutte le colonne disponibili.By default, all the available columns are selected and listed in the Displayed Columns list. Spostare le colonne da non usare nell'elenco Colonne inutilizzate selezionandole e facendo clic sulla freccia sinistra.Move columns that you do not want to use to the Unused Column list by selecting them and then clicking the left arrow.

    Nota

    I valori nella griglia che rappresentano i tipi di dati DT_DATE, DT_DBTIME2, DT_FILETIME, DT_DBTIMESTAMP, DT_DBTIMESTAMP2 e DT_DBTIMESTAMPOFFSET vengono visualizzati come stringhe in formato ISO 8601. Uno spazio separatore sostituisce il separatore T .In the grid, values that represent the DT_DATE, DT_DBTIME2, DT_FILETIME, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, and DT_DBTIMESTAMPOFFSET data types appear as ISO 8601 formatted strings and a space separator replaces the T separator. I valori che rappresentano i tipi di dati DT_DATE e DT_FILETIME includono sette cifre per i secondi frazionari.Values that represent the DT_DATE and DT_FILETIME data types include seven digits for fractional seconds. Poiché il tipo di dati DT_FILETIME memorizza solo tre cifre dei secondi frazionari, nella griglia viene visualizzato zero per le quattro cifre rimanenti.Because the DT_FILETIME data type stores only three digits of fractional seconds, the grid displays zeros for the remaining four digits. I valori che rappresentano il tipo di dati DT_DBTIMESTAMP includono tre cifre per i secondi frazionari.Values that represent the DT_DBTIMESTAMP data type include three digits for fractional seconds. Per i valori che rappresentano i tipi di dati DT_DBTIME2, DT_DBTIMESTAMP2 e DT_DBTIMESTAMPOFFSET, il numero di cifre dei secondi frazionari corrisponde alla scala specificata per il tipo di dati della colonna.For values that represent the DT_DBTIME2, DT_DBTIMESTAMP2, and DT_DBTIMESTAMPOFFSET data types, the number of digits for fractional seconds corresponds to the scale specified for the column's data type. Per altre informazioni sui formati ISO 8601, vedere Formati di data e ora.For more information about ISO 8601 formats, see Date and Time Formats. Per altre informazioni sui tipi di dati, vedere Tipi di dati di Integration Services.For more information about data types, see Integration Services Data Types.

  10. Scegliere OK.Click OK.

Scelte del flusso di datiData Flow Taps

È possibile aggiungere una scelta dei dati in un percorso del flusso di dati di un pacchetto in fase di esecuzione e indirizzare l'output della scelta dei dati a un file esterno.You can add a data tap on a data flow path of a package at runtime and direct the output from the data tap to an external file. Per utilizzare questa funzionalità, è necessario distribuire il progetto SSIS utilizzando il modello di distribuzione del progetto in un server SSIS.To use this feature, you must deploy your SSIS project using the project deployment model to an SSIS Server. Al termine della distribuzione del pacchetto nel server, è necessario eseguire script T-SQL nel database SSISDB per aggiungere le scelte dei dati prima dell'esecuzione del pacchetto.After you deploy the package to the server, you need to execute T-SQL scripts against the SSISDB database to add data taps before executing the package. Di seguito è riportato uno scenario di esempio:Here is a sample scenario:

  1. Creare un'istanza di esecuzione di un pacchetto usando la stored procedure catalog.create_execution (database SSISDB).Create an execution instance of a package by using the catalog.create_execution (SSISDB Database) stored procedure.

  2. Aggiungere una scelta dei dati usando la stored procedure catalog.add_data_tap o catalog.add_data_tap_by_guid.Add a data tap by using either catalog.add_data_tap or catalog.add_data_tap_by_guid stored procedure.

  3. Avviare l'istanza di esecuzione del pacchetto usando catalog.start_execution (databse SSISDB).Start the execution instance of the package by using the catalog.start_execution (SSISDB Database).

    Di seguito è riportato uno script SQL di esempio tramite cui vengono eseguiti i passaggi descritti nello scenario sopra indicato:Here is a sample SQL script that performs the steps described in the above scenario:

Declare @execid bigint  
EXEC [SSISDB].[catalog].[create_execution] @folder_name=N'ETL Folder', @project_name=N'ETL Project', @package_name=N'Package.dtsx', @execution_id=@execid OUTPUT  
EXEC [SSISDB].[catalog].add_data_tap @execution_id = @execid, @task_package_path = '\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[Flat File Source.Flat File Source Output]', @data_filename = 'output.txt'  
EXEC [SSISDB].[catalog].[start_execution] @execid  

I parametri del nome della cartella, del nome del progetto e del nome del pacchetto della stored procedure create_execution corrispondono ai nomi della cartella, del progetto e del pacchetto nel catalogo di Integration Services.The folder name, project name, and package name parameters of the create_execution stored procedure correspond to the folder, project, and package names in the Integration Services catalog. È possibile ottenere i nomi della cartella, del progetto e del pacchetto da utilizzare nella chiamata a create_execution da SQL Server Management Studio come illustrato nella figura riportata di seguito.You can get the folder, project, and package names to use in the create_execution call from the SQL Server Management Studio as shown in the following image. Se non viene visualizzato il progetto SSIS in questo punto, non può ancora essere distribuito nel server SSIS.If you do not see your SSIS project here, you may not have deployed the project to SSIS server yet. Fare clic con il pulsante destro del mouse sul progetto SSIS in Visual Studio e scegliere Distribuisci per distribuire il progetto nel server SSIS previsto.Right-click on SSIS project in Visual Studio and click Deploy to deploy the project to the expected SSIS server.

Anziché digitare le istruzioni SQL, è possibile generare lo script di esecuzione del pacchetto effettuando i passaggi seguenti:Instead of typing the SQL statements, you can generate the execute package script by performing the following steps:

  1. Fare clic con il pulsante destro del mouse su Package.dtsx , quindi scegliere Esegui.Right-click Package.dtsx and click Execute.

  2. Fare clic sul pulsante della barra degli strumenti Script per generare lo script.Click Script toolbar button to generate the script.

  3. A questo punto, aggiungere l'istruzione add_data_tap prima della chiamata a start_execution.Now, add the add_data_tap statement before the start_execution call.

    Il parametro task_package_path della stored procedure add_data_tap corrisponde alla proprietà PackagePath dell'attività Flusso di dati in Visual Studio.The task_package_path parameter of add_data_tap stored procedure corresponds to the PackagePath property of the data flow task in Visual Studio. In Visual Studio fare clic con il pulsante destro del mouse su Attività Flusso di datie scegliere Proprietà per avviare la relativa finestra.In Visual Studio, right-click the Data Flow Task, and click Properties to launch the Properties window. Prendere nota del valore della proprietà PackagePath per usarlo come valore per il parametro task_package_path per la chiamata della stored procedure add_data_tap.Note the value of the PackagePath property to use it as a value for the task_package_path parameter for add_data_tap stored procedure call.

    Il parametro dataflow_path_id_string della stored procedure add_data_tap corrisponde alla proprietà IdentificationString del percorso del flusso di dati a cui si desidera aggiungere una scelta dei dati.The dataflow_path_id_string parameter of add_data_tap stored procedure corresponds to the IdentificationString property of the data flow path to which you want to add a data tap. Per ottenere dataflow_path_id_string, fare clic sul percorso del flusso di dati (la freccia tra le attività nel flusso di dati) e prendere nota del valore della proprietà IdentificationString nella finestra Proprietà.To get the dataflow_path_id_string, click the data flow path (arrow between tasks in the data flow), and note the value of the IdentificationString property in the Properties window.

    Quando si esegue lo script, il file di output viene archiviato <programmi > \Microsoft SQL Server\110\DTS\DataDumps.When you execute the script, the output file is stored in <Program Files>\Microsoft SQL Server\110\DTS\DataDumps. Se esiste già un file con il nome, viene creato un nuovo file con un suffisso, ad esempio output[1].txt.If a file with the name already exists, a new file with a suffix (for example: output[1].txt) is created.

    Come accennato in precedenza, è inoltre possibile usare la stored procedure catalog.add_data_tap_by_guidanziché la stored procedure add_data_tap.As mentioned earlier, you can also use catalog.add_data_tap_by_guidstored procedure instead of using add_data_tap stored procedure. Questa stored procedure accetta l'ID dell'attività Flusso di dati come parametro anziché task_package_path.This stored procedure takes the ID of data flow task as a parameter instead of task_package_path. È possibile ottenere l'ID dell'attività Flusso di dati dalla finestra delle proprietà di Visual Studio.You can get the ID of data flow task from the properties window in Visual Studio.

Rimozione di una scelta dei datiRemoving a data tap

È possibile rimuovere una scelta dei dati prima di avviare l'esecuzione usando la stored procedure catalog.remove_data_tap .You can remove a data tap before starting the execution by using the catalog.remove_data_tap stored procedure. Questa stored procedure accetta l'ID della scelta dei dati come parametro, che è possibile ottenere come output della stored procedure add_data_tap.This stored procedure takes the ID of data tap as a parameter, which you can get as an output of the add_data_tap stored procedure.

DECLARE @tap_id bigint  
EXEC [SSISDB].[catalog].add_data_tap @execution_id = @execid, @task_package_path = '\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[Flat File Source.Flat File Source Output]', @data_filename = 'output.txt' @data_tap_id=@tap_id OUTPUT  
EXEC [SSISDB].[catalog].remove_data_tap @tap_id  

Elenco di tutte le scelte dei datiListing all data taps

È inoltre possibile elencare tutte le scelte dei dati tramite la vista catalog.execution_data_taps.You can also list all the data taps by using the catalog.execution_data_taps view. Nell'esempio seguente vengono estratte le scelte dei dati per un'istanza di esecuzione specifica (ID: 54).The following example extracts data taps for a specification execution instance (ID: 54).

select * from [SSISDB].[catalog].execution_data_taps where execution_id=@execid  

Considerazione sulle prestazioniPerformance consideration

L'abilitazione del livello di registrazione dettagliata e l'aggiunta di scelte dei dati determinano un aumento delle operazioni di I/O eseguite dalla soluzione di integrazione dei dati.Enabling verbose logging level and adding data taps increase the I/O operations performed by your data integration solution. Pertanto, è consigliabile aggiungere le scelte dei dati solo ai fini della risoluzione dei problemi.Hence, we recommend that you add data taps only for troubleshooting purposes

VideoVideo

In questo video su TechNet viene illustrato come aggiungere o usare le scelte dei dati nel catalogo di SQL Server 2012 SSISDB che facilita il debug dei pacchetti a livello di codice e l'acquisizione dei risultati parziali in fase di esecuzione.This video on TechNet demonstrates how to add/use data taps in SQL Server 2012 SSISDB catalog that help with debugging packages programmatically and capturing the partial results at the runtime. Inoltre vengono illustrate la modalità per elencare/rimuovere queste scelte dei dati e le procedure consigliate per l'utilizzo delle scelte dei dati nei pacchetti SSIS.It also discusses how to list/ remove these data taps and best practices for using data taps in SSIS packages.

Vedere ancheSee Also

Gestione degli errori nei datiError Handling in Data