Presentation is loading. Please wait.

Presentation is loading. Please wait.

TechEd 2013 4/14/2017 7:43 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.

Similar presentations


Presentation on theme: "TechEd 2013 4/14/2017 7:43 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks."— Presentation transcript:

1 TechEd 2013 4/14/2017 7:43 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Deep Inside the Microsoft SQL Server Integration Services Server
4/14/2017 7:43 AM DBI405 Deep Inside the Microsoft SQL Server Integration Services Server Matt Masson Matthew Roche Microsoft Corporation © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Best Practices TechEd 2013 4/14/2017 7:43 AM
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4 SQL Server 2012 Integration Services Server Best Practitioners
4/14/2017 7:43 AM DBI405 SQL Server 2012 Integration Services Server Best Practitioners Matt Masson Matthew Roche Microsoft Corporation © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

5 TechEd 2013 4/14/2017 7:43 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

6 TechEd 2013 4/14/2017 7:43 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

7 TechEd 2013 4/14/2017 7:43 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

8 TechEd 2013 4/14/2017 7:43 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

9 TechEd 2013 4/14/2017 7:43 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

10 Not actually a Session Agenda
4/14/2017 7:43 AM Not actually a Session Agenda Project and Package Deployment Project deployment model – what, how, and why Deploying single packages – can it be done? Should it be done? Logging and Monitoring SSIS Server built-in capabilities Using the SSIS Server API 3rd party and community options Troubleshooting and Debugging Architecture Tools and techniques © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11 SSIS Server Lightning Review

12 What is the SSIS Server? The SSIS Server is a set of components that which include a SQL Server user database (SSISDB), an execution host process (ISServerExec.exe) and the tools and APIs to manage and control them. The SSIS Server is the target of deployment for SSIS projects when the Project Deployment Mode is used. The SSIS Server (and the Project Deployment Mode) is an optional part of SSIS in SQL Server 2012, but key development capabilities (such as parameters and project-level shared connection managers) require its use.

13 SSIS Catalog Configuration Security Management
TechReady12 4/14/2017 SSIS Catalog Configuration Set values for parameters Central connection manager configuration Advanced property override functionality Security Encryption of projects and parameter values Row-level security to control access to packages Management Interactive package execution and SQL Agent integration Dashboard and built in reports for troubleshooting © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

14 Diving into the SSIS Server

15 SSIS Server Architecture
PowerShell SSMS Deployment Wizard Application OM: Manage OM: Manage OM: Manage OM: Project OM: Manage OM: Project SSIS Server Execution Process SQL Server Instance Execution Control Deploy Manage Security Validate Execute IS Objects Operation logs Runtime Security State Components SSIS Catalog

16 The SSIS Catalog: SSISDB
Provides a set of stored procedures and views for managing, configuring, executing and monitoring SSIS packages deployed to the SSIS Catalog The Catalog schema is designed for customer use, and is a supported API Contains views, stored procedures, and functions The Internal schema is neither public nor supported Contains base tables and lower-level objects All projects and sensitive values are encrypted Protected by a pair of certificate and symmetric key Utilizes the built-in SQL Server encryption infrastructure SSISDB Whatever you do using SSMS can be scripted either using T-SQL or PowerShell Important: Backup the database master key!

17 Microsoft.SqlServer.IntegrationServices.Server. Shared.dll
SSISDB Overview SSISDB Stored Procedures Tables Public objects: Stored Procedures Functions 42 store procedures 25 views 3 functions 1 trigger 1 SQL CLR assembly Views SQLCLR Assembly Triggers Internal Catalog ISServerExec.exe Microsoft.SqlServer.IntegrationServices.Server. Shared.dll

18 SSISDB: Usage Patterns
Client SQL Server instance T-SQL sp Return success/fail Throw if errors occur SQL Server instance External Process ISServerExec Client SQL Server instance Invoked CLR SP Return success/fail Throw if errors occur Create process by impersonating caller of the stored proc Either Asynchronous or Synchronous Client Entry point: T-SQL sp Entry point: T-SQL sp Invoked CLR sp Return success/fail Throw if errors occur T-SQL sp (entry point) T-SQL sp invokes managed sp Managed sp creates external process by impersonating caller of sp T-SQL sp (entry point) T-SQL sp invokes managed sp CASE A T-SQL sp CASE B CASE C

19 SSISDB - Protecting Sensitive Data
Guiding Design Principle: No sensitive data should be stored in plain text in the server Project Parameter values Environment values Execution Parameter values = = OPEN SYMMETRIC KEY key_name DECRYPTION BY CERTIFICATE certificate_name SELECT parameter_name, DECRYPTBYKEY([sensitive_parameter_value]) FROM internal.[object_parameter_values] WHERE [project_id] CLOSE SYMMETRIC KEY key_name Project Symmetric key Environment Symmetric key Execution Symmetric key Project Certificate Environment Certificate Execution Certificate Database Master key Service Master Key Note: The Catalog Views will automatically decrypt the values for you. Supported 'TRIPLE_DES_3KEY', 'AES_128', 'AES_192', 'AES_256' T-SQL functions: EncryptByKey; DecryptByKey Note: We do not support sensitive data with length > 8000

20 Projects and Deployment
TechEd 2013 4/14/2017 7:43 AM Projects and Deployment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

21 Oh, the good old days… …said nobody, ever. TechEd 2013
4/14/2017 7:43 AM Oh, the good old days… …said nobody, ever. © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

22 Project and Package Deployment
4/14/2017 7:43 AM Project and Package Deployment Package Deployment – The Bad Old Days Design time vs. deployment time – what is a project? Deployment locations and their design implications (production pain prevention predicated on palliative planning prior to package placement!) Does anyone remember the poison apple? Project Deployment – The Glorious Future Design time and deployment time – what a project is! An ispac for your headache A consistent experience between design time, deployment and run time © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

23 Projects & Parameters Groups of packages (anywhere) Projects Sales HR
HR DW project SAP migration project Configurations <xml> x\y\MyTask\Server = “TestServer” x y Parameters HR DW project ServerName is String BatchNumber is Int32

24 SSISDB - Protecting Project Data
When a project is deployed, the project .ispac file is stored as binary data in SSISDB The .ispac binary is also encrypted on the server, using SQLCLR and System.Security.Cryptography internal. catalog_encryption_keys CLR Cryptography Project binary key Project Symmetric key TripleDESCryptoServiceProvider Project Certificate AesCryptoServiceProvider(192) AesCryptoServiceProvider(128) AesCryptoServiceProvider(256) Database Master key Service Master Key

25 Project Deployment and the SSIS Server
4/14/2017 7:43 AM Project Deployment and the SSIS Server What is an ispac file, anyway? The output of the project build process The complete contents of the SSIS project: packages, parameters, and connections, oh my! The component that gets deployed when you deploy an SSIS project What happens when I deploy a project? What DOESN’T happen?! But seriously folks… …let’s take a look at a demo! © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

26 Demo: Deploying an SSIS Project
TechEd 2013 4/14/2017 7:43 AM Demo: Deploying an SSIS Project © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

27 Project Deployment and the SSIS Server
4/14/2017 7:43 AM Project Deployment and the SSIS Server What is an ispac file, anyway? The complete contents of the SSIS project: packages, parameters, and connections, oh my! OpenXML (zip) document What happens when I deploy a project? Is There a Happy Medium? What about single-package deployment? EXECUTE AS CALLER OPEN SYMMETRIC KEY WAITFOR DELAY [internal].[encrypt_binarydata] [internal].[deploy_project_internal] [internal].[append_packages] [internal].[projects] [internal].[object_versions] [internal].[packages] © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

28 Branching and Deployment
TechEd 2013 4/14/2017 7:43 AM Branching and Deployment Multiple code branches. Regular integration from Development -> Integration -> Release. Development Integration Test Release Production All deployments come from a branch build. Never deploy “one off” changes. Deployment can be automated. © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

29 Server Execution and Logging
TechEd 2013 4/14/2017 7:43 AM Server Execution and Logging © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

30 Oh, the good old days… …wept everyone, always. TechEd 2013
4/14/2017 7:43 AM Oh, the good old days… …wept everyone, always. © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

31 SSISDB and ISServerExec
ISServerExec.exe – External host for SSIS package operations (deploy, validate and execute) ISServer Assembly UNSAFE Assembly granted to ##MS_SQLEnableSystemAssemblyLoadingUser## Created from Microsoft.SqlServer.IntegrationServices.Server.dll SQLCLR stored procedures used for Deploy, validate, and execute require impersonation when starting external process IPC communication with ISServerExec SSISDB ISServerExec Processes

32 ISServerExec Overview
SqlConnection SSIS Events ISServerExec Named Pipes Named Pipe Server SSISDB Logging Events Writes back to SSISDB events that are produced during package execution IPC between ISServerExec and Stored Procedures CLR stored procedure sends command to ISServerExec Examples Get me all the per-instance performance counters Stop Operation Create execution dump ISServerExec Performs the operation Sends back information via named pipes

33 SSIS Server Package Execution
EXEC [SSISDB].[catalog].[create_execution]… catalog.executables catalog.executable_statistics Updated when the OnPostExecute event for each component if fired EXEC … EXEC … EXEC SSIS Events ISServerExec Named Pipe Server SSISDB

34 Review: SSIS Server Execution Architecture
ADO.Net IDTSEvents Components Events Listener SSISDB Tables IDTSLogging Log Provider API CreateProcessAsUser Views Named Pipe TVFs ISServerExec OM/Engine SqlServr.exe ISServerExec.exe Reports

35 Monitoring

36 SSIS Package Execution & Logging Levels
TechReady 16 4/14/2017 SSIS Package Execution & Logging Levels Logging is automatically performed by the server No specific design patterns must be followed by the package developer Data is stored in the SSISDB catalog, and is available for reporting and analysis None Logging is turned off. Only the package execution status is logged. Basic (Default) All events are logged, except custom and diagnostic events. Performance Only performance statistics, and OnError and OnWarning events, are logged. Enables use of Execution Performance report and catalog.execution_component_phases view Verbose All events are logged, including custom and diagnostic events, including the DiagnosticEx event. Enables use of catalog.execution_data_statistics view. © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

37 Built-In Reporting and Logging
Built-In Reports Validate Pre Execute ProcessInput Post Execute SELECT package_name, task_name, subcomponent_name, SUM(DATEDIFF(ms,start_time,end_time)) as active_time, DATEDIFF(ms,min(start_time),max(end_time)) as total_time FROM catalog.execution_component_phases WHERE execution_id = 1841 GROUP BY package_name, task_name, subcomponent_name, execution_path ORDER BY package_name, task_name, subcomponent_name, execution_path Component Timing & Row Counts

38 Custom Reporting and Logging
TechEd 2013 4/14/2017 7:43 AM Custom Reporting and Logging All Catalog logging exposed in Views Some features (like real-time perf counters) only available while the package is running Common pattern in previous versions Capture events using Event Handlers or custom logging framework You can link custom logging with Catalog logging with $User::ServerExecutionID system variable Community Reporting Tools and sp_ssiscatalog (many links!) 3rd Party Commercial Reporting Tools Pragmatic Works - BI xPress Auditing Framework Wizard © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

39 Troubleshooting

40 Oh, the good old days… …wept Matthew, over drinks. TechEd 2013
4/14/2017 7:43 AM Oh, the good old days… …wept Matthew, over drinks. © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

41 DiagnosticEx Event New in SSIS 2012 (for Verbose Logging Level)
Captures diagnostic information whenever an Execute Package Task executes a child package

42 Flattening the DiagnosticEx Event Data
WITH DiagnosticExTable (EventMessageID, EventName, MessageSourceName, XmlData) AS ( SELECT event_message_id,event_name,message_source_name,cast( message as xml) FROM catalog.event_messages m WHERE m.operation_id = 16 AND m.event_name = 'DiagnosticEx' ) SELECT EventMessageID,Eventname,MessageSourceName, parameter.value('declare namespace DTS='' as ParameterName,parameter.value( 'declare namespace DTS='' (DTS:Property/text())[1]', 'nvarchar(256)') as ParameterValue FROM DiagnosticExTable CROSS APPLY XmlData.nodes('declare namespace DTS=''ww.microsoft.com/SqlServer/Dts''; (/DTS:ParameterValues/DTS:PackageParameter)') as PackageParameter(parameter)

43 Per-Instance Performance Counters
The SSISDB T-SQL API includes a function to return performance counters for SSIS package executions Results SELECT * FROM catalog.dm_execution_performance_counters (<your execution ID value>) SSIS Events ISServerExec What are the values for the Perf Counters? Named Pipe Server Perf Details SSISDB

44 Creating Execution Dumps
Stored procedure to cause a running SSIS package to pause and create a dump file Dump file stored in …\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps Similar to dtutil.exe /Dump EXEC = 88 Pause running package Dump Resume running package SSIS Events ISServerExec Create execution Dump DumpFile Named Pipe Server SSISDB

45 Data Taps – Data Viewers on the Server
-- Create the data tap on a data flow path in the package exec catalog.create_execution … exec catalog.add_data_tap @execution_id, '\Package\DFT Load Dim Vendor', 'Paths[SRC DimDCVendor.OLE DB Source Output]', 'DCVendorOutput.csv' exec … Data Tap Files

46 Creating Data Taps Data Taps are essentially server-side data viewers
Created using one of two stored procedures [catalog].[add_data_tap]: only for parent packages [catalog].[add_data_tap_by_guid]: for both parent and child packages Data Taps create CSV outputs Tap files are put under %DTS%\DataDumps folder Tap files contain all data that passes through the specified data flow path Records are created in [catalog].[operation_messages] When a data tap file is created If the specified data flow path is invalid If the specified data flow task is never executed If the data tap file creation fails

47 Closing

48 Matthew’s Favorite Bits of the SSIS Server
Tech Ready 15 4/14/2017 Matthew’s Favorite Bits of the SSIS Server Project Deployment Model Parameters. Reusable connection managers. Automatic logging, monitoring and reporting. Relative references for child execution. A real deployment utility. Parameters! Remote Execution ISServerExec.exe runs on the server where the package is deployed, not on the client where the execution is initiated. Boo yah! T-SQL API Script it from within SSMS. Save it to .SQL script files. Edit and customize. Store and version control with other system artifacts. Execute from any SQL-aware client. Smile, sit back, and enjoy a cold beverage. SSIS Catalog Data Execution and operation data automatically logged. Built in reports. Community reports and stored procedures for ease of access. Opportunity for PowerPivot and Power View models and cross-catalog consolidation. Let’s overload the term “metadata” once and for all, because… © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

49 4/14/2017 7:43 AM Related content Breakout Sessions DBI-B210 BI Power Hour: Wednesday 1:30 PM, New Orleans Theater C Related Certification Exam Exam Implementing a Data Warehouse with Microsoft SQL Server 2012 Find Us Later At... The Data Platform booth in the Expo Hall © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

50 Download Data Explorer
Track Resources Download Data Explorer SQL Server Website Hands-On Labs @sqlserver Download Geoflow mva Microsoft Virtual Academy Get Certified! Windows Azure

51 Resources Learning TechNet msdn http://channel9.msdn.com/Events/TechEd
4/14/2017 7:43 AM Resources Learning Sessions on Demand Microsoft Certification & Training Resources TechNet msdn Resources for IT Professionals Resources for Developers © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

52 Complete an evaluation on CommNet and enter to win!
4/14/2017 7:43 AM Complete an evaluation on CommNet and enter to win! © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

53 4/14/2017 7:43 AM Required Slide *delete this box when your slide is finalized Your MS Tag will be inserted here during the final scrub. Evaluate this session Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

54 4/14/2017 7:43 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

55 TechEd 2013 4/14/2017 7:43 AM Appendix © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

56 IPC between SSISDB and ISServerExec
Named Pipe: ISServerExec_{ExecutionGuid} Stopping execution needs, to issue a command to ISServerExec Creating dynamic dump needs to issue a command and get file name back Querying performance data needs to request a list of key-value pair SSISDB ISServerExec.exe (5) Stop execution (3) pipe Perf data Create dump (1) Named pipe client Query perf data (2) Named pipe server (4) Listen to the command (6) Perform action You can use pipelist.exe to check the named pipe used

57 SSIS Package Execution Lifecycle
Stopping (8) Canceled (3) catalog.stop_operation catalog.create_execution catalog.start_execution ISServerExec Unexpected Crash Created (1) Pending (5) Running (2) Unexpected Termination / Crash (6) Success (7) Completed (9) Failed (4)

58 SSIS Server Objects: What’s not in SSISDB?
Asymmetric Key MS_SQLEnableSystemAssemblyKey Logins ##MS_SQLEnableSystemAssemblyLoadingUser## ##MS_SSISServerCleanupJobLogin## SQL Server Agent Jobs SSIS Server Maintenance Job – Cleans up execution log data outside retention window and project versions beyond configured limit master Stored Procedure dbo.sp_ssis_startup – Redirects to [SSISDB].[catalog].[startup] Cleans up orphaned operation status for unexpected shutdown SSISDB

59 Debugging Server Package Execution
TechReady 16 4/14/2017 Debugging Server Package Execution To debug ISServerExec.exe Create a key named “ISServer” under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Microsoft SQL Server\110\SSIS\WaitOnStartup\ISServer add a DWORD value with name "*" or the project id. ISServerExec will pause at startup so you can attach a debugger © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

60 SSIS Server Security

61 SSIS Server Security Overview v1

62 SSIS Server Security Overview v2
Provides row-level security for SSIS Securables (Folder, Project, Environment, Operations/Executions) Members of ssis_admin or sysadmin access all securables Views catalog.explicit_object_permissions Permissions explicitly assigned to the user catalog.effective_object_permissions Effective permissions for the current principal for all objects

63 SSISDB Securables and Permissions
Read Modify Execute Manage Permission Create New Read Objects Modify Objects Execute Objects Manage Objects Permission Folder Project Environment Operation / Execution Troubleshooting Permissions Check explicit (raw) permission entries from view [catalog].[explicit_object_permission] Effective (valid) permission is a computation result from explicit permission items: [catalog].[effective_object_permissions] The server does not check permissions if a user is sysadmin/ ssis_admin

64 SSISDB Views - Row-level Security
Each view presents a filtered rowset from a base table Each user can see only the rows for which he has READ permission sysadmin / ssis_admin can see all rows in all views Based on best practices Implementation based on pattern documented in “Implementing Row- and Cell-Level Security in Classified Databases” white paper Troubleshooting Row-Level Security If a user can’t see some object Logon as ssis_admin to see if it’s in base table Get the user sid from sys.database_principals Query view catalog.effective_object_permissions to make sure the sid has READ permission on the record


Download ppt "TechEd 2013 4/14/2017 7:43 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks."

Similar presentations


Ads by Google