SQL Server 2016: Nuove funzionalità in SQL Server

SQL Server 2016: Nuove funzionalità in
SQL Server Integration Services
Gilberto Zampatti
[email protected]
Gilberto Zampatti





RDBMS: ….dalle origini
SQL Server: dalla 6.5
Mentore, trainer, Speaker…
Membro fondatore di UGISS
Social: Linkedin, Skype, Whatsapp
Agenda
 Le principali aree di intervento




Deployment
Debugging
Gestione dei packages
Connettività
 On premise
 nel cloud
 Produttività
 …varie
Deployment
 Deployment incrementale
Uno o più packages in un progetto (nuovo o presistente)
possono essere “installati” senza dover eseguire il
deployment dell’intero progetto
 Supporto per Always On Availability Groups
Possibilità di introdurre SSISDB in un Availability Group
 Always Encrypted
Nuova feature che garantisce la protezione dei dati
sensibili
Debugging
 Column names for errors in the data flow
Nel Data Viewer è stata introdotta una nuova Colonna
virtuale (ErrorColumn – Description)…
 Nuovi livelli di logging
Nel SSIS Catalog è disponibile un Quinto livello
predefinito e si possono generale livelli di logging
personalizzati
 Nuovi database roles per SSISDB
Ssis_logreader consente l’accesso al logging senza
dover essere ssis_admin…
Gestione dei packages
 Control Flow Template
Consente la riusabilità di control flows di uso comune
 Proprietà AutoAdjustBufferSize
Permette all’Engine di calcolare automaticamente la
dimensione del buffer per il Data Flow
 Upgrade dei packages
Durante l’upgrade di un progetto sono conservate le
funzionalità dei connection managers, il layout e le
annotazioni…
Connettività (on premise)
 Supporto per Hadoop File System (HDFS)
Connection manager, tasks di control flow e data flow
source e destination
 Supporto esplicito per Excel 2013 e 2016
Connection manager, tasks di control flow, data flow
source e destination e Import/Export Wizard
 Supporto per Odata v3 e v4
Formati ATOM e JSON per v3, JSON per v4
 Connettore per SAP BW
Download da Feature Pack
Connettività (Azure)
 Azure Feature Pack for SSIS
Connection managers (Storage e Subscription), tasks,
component del Data Flow (source e destination) e un
nuovo enumeratore per container For Each;
Produttività
 SSIS disponibile nelle ultime versioni di SSDT
 Molte catalog view sono utilizzabili anche se
l’utente non è membro di ssis_admin
 Migliorie e soluzione bugs nel designer
…varie
 Designer e Servizio di Change Data Capture per Oracle
 Supporto per R
 Aggiornamento di ODBC e dei component CDC
 Aggiornamento del task di Analysis Services Execute DDL
 Trasformazione Balance Data Distributor
 Componenti Data Feed Publishing
Deployment incrementale
Funzionalità che permette di effettuare il deployment di uno o più
packages in un progetto preesistente o nuovo senza la necessità di
effettuare il deployment dell’intero progetto
 Integration Services Deployment Wizard
run isdeploymentwizard.exe
(dal folder %ProgramFiles%\...\130\DTS\Binn)
 SSMS (che a sua volta innesca il wizard)
 SSDT (idem come sopra)
 Da stored procedure (catalog.deploy_packages)
 Management Object Model API
(https://msdn.microsoft.com/en-US/library/mt143173.aspx#MOMApi)
Catalog.deploy_packages
@folder_name = folder_name,
@project_name = project_name,
@packages_table = packages_table,
@operation_id OUTPUT operation_id OUTPUT
@packages_table
è il file .dtsx del package da sottoporre a deployment; la
variabile è dichiarata di tipo [catalog].[Package_Table_Type]
DEMO
Deployment incrementale
Always On
 SSISDB può essere
inserito in un Availability
Group
 Creando il database
SSISDB abilitare Enable
CLR Integration e Enable
automatic execution of
Integration services stored
procedures at SQL Server
startup
 Aggiungendo il database
all’availability group inserire
la password (encryption)…
Always On
Una volta inserito, gli si
deve abilitare il Supporto
per AlwaysOn
Always Encrypted
 Nuova feature che garantisce visibilità protetta
dei dati sensibili
 L’encryption avviene in modo trasparente
nell’applicazione: SQL Server opera sui dati già
criptati.
 In caso di compromissione dell’istanza, l’hacking
non può decriptare i dati.
 Attualmente è supportata solo dal provider
ADO.NET
Always Encrypted
 La trasformazione Lookup supporta Always
Encrypted
 È necessario caricare le tabelle (child e lookup)
in cache tramite ADO.NET
 L’input del lookup sarà il set depositato in cache
Column names for errors
 Quando si ridirigono righe errate nel data flow verso un
error output, ogni riga presenta un identificatore numerico
per l’errore e l’Id della Colonna in errore;
 Nell’Advanced Editor del Data Flow è presente ora una
nuova proprietà: LineageIdentificationString…
 In Design mode il DataViewer introduce la Colonna
ErrorColumnDescription
Logging
 4 livelli tradizionalmente disponibili:




None
Basic
Performance
Verbose
 …più uno:
 RuntimeLineage
 Ed un dialog box pilota la creazione di livelli di logging
personalizzati utilizzabili in run time
Ruoli di database per SSISDB
 Ssis_logreader
Consente l’accesso alle viste che contengono
output di logging (senza dover essene inclusi in
ssis_admin
 Ssis_monitor
Ruolo di supporto ad AlwaysOn, per uso interno da
parte del catalogo
Control Flow Templates
SSIS consente di salvare Containers e/o task di control
flow usati comunemente per poterli riutilizzare più volte in
uno o più packages di un progetto
 Il Template è esclusivamente una funzionalità del design time
 Il designer crea, apre, aggiorna e salva il template, ed aggiunge,
configure o elimina templates in un package
 SSIS non conosce il template in quanto tale: esegue tasks e
containers come sempre
Control Flow Templates
dtsx.
Designer
file
Dtsxt files
SSIS
designer
.dtsx file
SSIS runtime
DEMO
Templates
Proprietà del DataFlow
 BufferTempStoragePath:
Configura la temporary storage dei buffer dei dati
 BLOBTempStoragePath:
Configura la temporary storage dei buffer per le colonne che
contengono BLOBs
 DefaultBufferSize:
Configura la dimensione del singolo buffer
 DefaultBufferMaxRows:
Configura il numero Massimo di righe per buffer
 AutoAdjustBufferSize:
Normalizza la dimensione del buffer automaticamente sulla base
del valore assegnato a DefaultBufferMaxRows
Proprietà del DataFlow
 EngineThreads:
Suggerisce all’engine del Data Flow il numero di threads da
utilizzare
 RunInOptimizedMode:
Consente all’engine di “far pulizia” rimuovendo dal data flow
colonne, outputs e component non utilizzati
Supporto per HADOOP file System
 Connection Manager
 Hadoop Connection Manager
 Tasks di Control Flow
 Hadoop File System Task
 Hadoop Hive Task
 Hadoop Pig Task
 Data Flow
 HDFS File Source
 HDFS File Destination
Azure Feature Pack
 Connection Managers
 Azure Storage Connection Manager
 Azure Subscription Connection Manager
 Data Flow Components
 Azure Blob Source
 Azure Blob Destination
 Enumerator
 Foreach Azure Blob Enumerator
Azure Feature Pack
 Control Flow Task






Azure Blob Upload
Azure Blob Download
Azure HDInsight Hive Task
Azure HDInsight Pig Task
Azure HDInsight Create Cluster
Azure HDInsight Delete Cluster
Q&A
 Questions?