Felix Möller. TFS / VSTS for Continuous Integration / Continuous Delivery for SSIS and database projects in a Data Warehouse environment

Similar documents
Kubernetes on Azure. Daniel Neumann Technology Solutions Professional Microsoft. Build, run and monitor your container applications

Gerhard Brueckl. Deep-dive into Polybase

BI4Dynamics AX/NAV Integrate external data sources

SSAS Tabular in the Real World Lessons Learned. by Gerhard Brueckl

TFS for SQL/BI Developers. Dave Fackler Business Intelligence

Deccansoft Software Services. SSIS Syllabus

PASS SQLSATURDAY MANCHESTER Dmytro Andriychenko MS BI ALM &

Migrating Enterprise BI to Azure

So You Want To Be A Rockstar Report Developer?

HEARTLAND DEVELOPER CONFERENCE 2017 APPLICATION DATA INTEGRATION WITH SQL SERVER INTEGRATION SERVICES

Alexander Klein. #SQLSatDenmark. ETL meets Azure

G, H I, J K, L. Git distributed version control system, 67 repository, 67 TFS, 68 GitFlow, 76 77

Microsoft. Designing Business Intelligence Solutions with Microsoft SQL Server 2012

Accurate study guides, High passing rate! Testhorse provides update free of charge in one year!

Azure Data Factory VS. SSIS. Reza Rad, Consultant, RADACAD

COURSE 20466D: IMPLEMENTING DATA MODELS AND REPORTS WITH MICROSOFT SQL SERVER

20767B: IMPLEMENTING A SQL DATA WAREHOUSE

70-466: Implementing Data Models and Reports with Microsoft SQL Server

Continuous Delivery for Cloud Native Applications

DevOps Using VSTS and Azure

Implementing a SQL Data Warehouse

SQL Server Integration Services Management Considerations and Best Practices

Exam /Course 20767B: Implementing a SQL Data Warehouse

Acknowledgments...iii

Database Continuous Delivery & Your Salvation!

Implementing a SQL Data Warehouse

Implement a Data Warehouse with Microsoft SQL Server

Recently Updated Dumps from PassLeader with VCE and PDF (Question 1 - Question 15)

Release Pipelines in Microsoft Ecosystems

After completing this course, participants will be able to:

Index. Chaminda Chandrasekara 2017 C. Chandrasekara, Beginning Build and Release Management with TFS 2017 and VSTS, DOI /

20463C-Implementing a Data Warehouse with Microsoft SQL Server. Course Content. Course ID#: W 35 Hrs. Course Description: Audience Profile

Property Default Schema Is Not Available For Database Ssis

Neues Dream Team Azure Data Factory v2 und SSIS

Implementing a Data Warehouse with Microsoft SQL Server

6+ years of experience in IT Industry, in analysis, design & development of data warehouses using traditional BI and self-service BI.

Web and API Apps in Azure

Azure Day Application Development. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region

Please silence cell phones

Aggregating Knowledge in a Data Warehouse and Multidimensional Analysis

Implementing a Data Warehouse with Microsoft SQL Server 2012

Agenda. Why do we want to keep a DBA happy? Development process Requirements Good coding practice Source Control Unit Tests Continuous Integration

FROM VSTS TO AZURE DEVOPS

SAP HANA Leading Marketplace for IT and Certification Courses

Datazen. Bent On-premise mobile BI. November 28, #sqlsatparma #sqlsat462

Duration: 5 Days. EZY Intellect Pte. Ltd.,

Generate Xml Instance From Schema Visual >>>CLICK HERE<<<

DOC // SQL SERVER INTEGRATION SERVICES EBOOK

Accelerated SQL Server 2012 Integration Services

Vishesh Oberoi Seth Reid Technical Evangelist, Microsoft Software Developer, Intergen

COURSE 10977A: UPDATING YOUR SQL SERVER SKILLS TO MICROSOFT SQL SERVER 2014

Vendor: Microsoft. Exam Code: Exam Name: Implementing a Data Warehouse with Microsoft SQL Server Version: Demo

Alexander Klein. ETL in the Cloud

I keep hearing about DevOps What is it?

Drew Skwiers-Koballa. Azure Data Studio Extension Development

SQLSaturday #620 Dublin 17 June, 2017 Reports on the Run: Mobile Reporting with SQL Server Peter Myers Bitwise Solutions

Implementing a Data Warehouse with Microsoft SQL Server 2014 (20463D)

Design Sql Server Schema Comparison Tools 2012

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Asanka Padmakumara. ETL 2.0: Data Engineering with Azure Databricks

Implementing Data Models and Reports with Microsoft SQL Server (466)

SSAS Multidimensional vs. SSAS Tabular Which one do I choose?

Azure Highlights. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region

ETL Best Practices and Techniques. Marc Beacom, Managing Partner, Datalere

MSBI( SSAS, SSIS, SSRS) Course Content:35-40hours

Training 24x7 DBA Support Staffing. MCSA:SQL 2016 Business Intelligence Development. Implementing an SQL Data Warehouse. (40 Hours) Exam

Implementing a SQL Data Warehouse

BI, Big Data, Mission Critical. Eduardo Rivadeneira Specialist Sales Manager

IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://

Who Moved My Module? 1

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

Automating Azure Analysis Services

MeasureUp Notes. Contents

Microsoft Implementing a SQL Data Warehouse

Actual4Test. Actual4test - actual test exam dumps-pass for IT exams

Oskari Heikkinen. New capabilities of Azure Data Factory v2

MICROSOFT BUSINESS INTELLIGENCE (MSBI: SSIS, SSRS and SSAS)

Transitioning From SSIS to Azure Data Factory. Meagan Longoria, Solution Architect, BlueGranite

Q u e s t i o n m a r k C o n f e r e n c e

20767: Implementing a SQL Data Warehouse

17 Roberts St #2 Brookline, MA

Professional Recycling

Continuous Integration with Selenium and Jenkins

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

DAXIF# - Delegate Automated Xrm Installation Framework. Delegate A/S

MOC 20463C: Implementing a Data Warehouse with Microsoft SQL Server

Introduction to SSIS. Or you want to take some data, change it, and put it somewhere else? Then boy do I have THE tool for you!

[MS-DPIS]: Integration Services Data Portability Overview. Intellectual Property Rights Notice for Open Specifications Documentation

POWER BI COURSE CONTENT

Updating Your Skills to SQL Server 2016

You create project parameters to store the username and password that are used to access the FTP site.

Manufacturing Process Intelligence DELMIA Apriso 2017 Installation Guide

Visual Studio 2010 Database Schema Could Not Be Retrieved For This Connection

DevOps Workshop - Supporting the Microsoft Professional Program. Course ID : 40500A.

This course is suitable for delegates working with all versions of SQL Server from SQL Server 2008 through to SQL Server 2016.

Things I Learned The Hard Way About Azure Data Platform Services So You Don t Have To -Meagan Longoria

DevOps Made Easy. Shireesh Thanneru, Platform Architect. Intel. Linoy Alexander, Director, DevOps

Implementing a Data Warehouse with Microsoft SQL Server 2012

17/05/2017. What we ll cover. Who is Greg? Why PaaS and SaaS? What we re not discussing: IaaS

Visual Studio Schema Compare Does Not Support The Specified Database

Transcription:

Felix Möller TFS / VSTS for Continuous Integration / Continuous Delivery for SSIS and database projects in a Data Warehouse environment

Sponsors Many thanks to our sponsors, without whom such an event would not be possible.

Sponsors Many thanks to our sponsors, without whom such an event would not be possible.

About Me Felix Möller Business Intelligence Consultant at Avanade joint venture of Microsoft and Accenture Building enterprise data warehouses with a focus on financial data and SAP for more than 6 years Contact Info E-Mail: f.moeller@avanade.com

Agenda Common Understanding Integration Services: Build, Deploy, Test, Demo Database Projects: Build, Deploy, Test Get started yourself

Common Understanding

What is Continuous Integration? Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. https://www.thoughtworks.com/continuous-integration

Distinction of Continuous Integration / Delivery / Deployment Continuous Integration Source Control Build Unit Test Continuous Delivery Source Control Build Unit Test Deploy to CI Acceptance Test manual Deploy to production Continuous Deployment Source Control Build Unit Test Deploy to CI Acceptance Test Deploy to production

Continuous Deployment Process Visual Studio Test Environment Build Deploy to CI VSTS / TFS / CI Environment

Solution works onprem and on Azure onprem Azure (PaaS) Database SQL 2012 2017 Azure SQL DB ETL SSIS 2012 2017 Azure Data Factory v2 (SSIS) Source control TFS 2015 VSTS Development Environment Visual Studio (SSDT) 2015+ PASS Summit 2015

Integration Services

Process Overview Build Deploy

Options for Automatic Build - Visual Studio - Full Visual Studio Installation needed. On VSTS Agent very, very slow. - Msbuild (https://github.com/fmms/ssismsbuild) - Msbuild does not support SSIS out of the Box. There is a custom msbuild tasks on Github. - Works onprem. However, DLLs for SQL 2017 just registered on VS2015 agents, does not work in VS2017 agents - Build with PowerShell (http://muxtonmumbles.blogspot.de/2013/11/ssis-project-deployment-and-visual.html) - Same DLL issue as with msbuild. - ssis-build.exe (https://github.com/fmms/ssis-build) - Very small binary. No external dependencies.

Integration Services DLLs on VSTS build agents in GAC SQL Version Visual Studio 2015 Visual Studio 2017 2012 11.0.6020.0 ((SQL11_PCU_Main).1 51020-1525 ) 2014 12.0.4449.0 ((SQL14_SP1_QFE- CU).160413-1153) 2016 13.0.4001.0 ((SQL16_PCU_Main).1 61028-1734) 2017 14.0.600.250 ((SQL_Main).170510-1844) 11.0.0.0 11.0.7001.0 ((SQL11_PCU_Main).1 70815-1005 ) 12.0.0.0 12.0.5556.0 ((SQL14_SP2_QFE- CU).170817-1113) 13.0.0.0 13.0.4451.0 ((SQL16_SP1_QFE- CU).170905-1437) 14.0.0.0 * 11.0.0.0 12.0.0.0 13.0.0.0 as of 20 th May 2018 * An Integration Services class cannot be found. Make sure that Integration Services is correctly installed on the computer that is running the application. Also, make sure that the 64-bit version of Integration Services is installed if you are running a 64-bit application.

Deploy Manual Way Problems - One does not know what version is deployed - Local changes might be included in deployment - Recent changes of other developers might be missing

Options for Automatic Deploy - ISDeploymentWizard.exe - Has no parameters for password and username thus only for Windows Auth, not ADFv2 SSIS - PowerShell with SMO (SQL Server Management Object) - Needs the integration services DLLs deployed to build agent - ssis-deploy.exe - Very small binary that calls catalog.deployproject()

Testing - Dataless checkes - Validating package naming, e.g. - packages must start with either Dim, Fact or Master - Validating package content, e.g. - All Lookups should use the cache - No SELECT * should be used - Ensure all packages validate - Checks with Data - Load golden data set to staging, execute packages, validate fact tables against predefined results - Compare result of SQL with execution of SSIS packages One cannot access the XML content of an SSIS package in the SSISDB via SQL (https://ask.sqlservercentral.com/questions/100651/querying-ssisdb-text-search-in-the-packet-definiti.html)

Options for Automatic Testing Nbi (https://github.com/seddryck/nbi ) THE testing framework for BI projects (relational databases, SSAS cubes, SSRS reports, PowerBI dashboard, execute SSIS packages, etc) Is based on nunit Pester (https://github.com/pester/pester ) A testing framework for PowerShell. Can be used for testing PowerShell commandlets Allows to output nunit test results

Demo SSIS Build

Manage build definitions in TFS - Build Definition contains all steps needed to do a build - It stores triggers (commit, schedule, manual)

Configure the steps - Steps give the detailed instructions how to build and test artifacts - Can use PowerShell, cmd and dozens of special tasks - At the end they must publish items to be used by release step

Test results Tests results are shown graphically

Test cases prevent naming rule violation Violation of SSIS Task naming validations is caught right after commit

Release Definition - Release definition provides steps to deploy to an environment - One can define triggers or require sign-offs and other preconditions

Overview DEV TEST PROD Build Test git Buildserver Automatic Manual

Databases

Process Overview Build Deploy

Options for Build Build (in case of onprem install https://www.nuget.org/packages/microsoft.data.tools.msbuild/ or SSMS or SSDT) *.sqlproj supported by msbuild Deploy Sqlpackage.exe and a publish profile generated in SSDT

Test NBi used for validation of conventions Testing of naming conventions Sys.tables, sys.columns, sys.objects, sys.foreign_key_columns, Static Code Analysis (example at https://github.com/davebally/tsql-smells) Written in C#, depending on Visual Studio and SQL version

Test case example -- all Primary Key should be named PK_<schema name>_<table name> SELECT * FROM ( SELECT CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS [Table], CONSTRAINT_SCHEMA AS [SchemaName], CONSTRAINT_NAME AS [ActualName], CONCAT('PK_', TABLE_SCHEMA, '_', TABLE_NAME) AS [ExpectedName] FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc WHERE CONSTRAINT_TYPE = 'Primary Key ) I WHERE actualname!= expectedname;

Nbi test cases For more information look at the detailed documentation at http://www.nbi.io/.

Database Demo

Configure the steps

Test results are integrated into the build

Get started yourself Starting is very easy VSTS is free for up-to five users 240 minutes build time are included every month Expand the scope Publish SSAS cubes with TabularEditor Publish PowerBI reports with Power BI REST API Reach out to me in case of questions

Questions? Slides should be available tomorrow on SQLSaturday website

Thanks for your attention

Many thanks to all volunteers! Rafael Dabrowski Alexander Klein Volker Bachmann Ben Kettner Tobias Blödt Dirk Hondong Christian Gräfe Cornelia Matthesius Gabi Münster Dominik Petri Kai Michael Poppe Kai Gerlach Björn Peters Henrik Schütze Christa Kurschat Klaus Betzing Nadine Witthöft Tanja Salwiczek

SQLSaturday #772 - Munich 27.10.2018 http://www.sqlsaturday.com/772

PASS Deutschland e.v. For further information about future events, visit our PASS Deutschland e.v. booth in the exhibitor area.

Sponsors Many thanks to our sponsors, without whom such an event would not be possible.

Sponsors Many thanks to our sponsors, without whom such an event would not be possible.