Explore the Integration Services Catalog By Fendy Huang Blog: http://fendy-huang.blogspot.com/ This session, we are going to talk about IS catalog Everything related to IS catalog
Agenda Overview Configure Integration Services Catalog Explore the SSISDB DB Objects Integration Services Dashboard Change Logging Level/Permissions Ways to Execute the SSIS Packages Clean the Catalog Data Create/Deploy Custom Reports Q & A
SSIS Overview/ New concepts or features
What is new for SSIS 2012? Project Deployment Model SSIS Catalog
Compare the Deployment Model Package Deployment Project Deployment Package is a unit of deployment Project is a unit of deployment Package Store: File System or MSDB database Stored in SSISDB database Packages executed wherever DTExec was called Executions run on the server where the SSISDB catalog is stored. DTExec /SQL DTExec /DTS DTExec /F DTExec /ISSERVER
SSIS Catalog Stores packages, parameters, etc. Stores multiple versions Automatically log all operation activities
Steps to Create IS Catalogs Open SQL Server Management Studio Right click on the Integration Services node Click on the Create Catalog….. Create the Catalog need to be sysadmin The catalog uses CLR stored procedures.
The catalog name is SSISDB. Enter the password for encryption then hit the OK button.
The new SSISDB will be created and show in two places: Database node Integration Services node
Permissions: Add user to SSIS_Admin role to be the admin for SSISDB
Configure Integration Services Catalog
SSIS Catalog SSISDB Folders-Organize the projects Projects Catalog Properties Log Properties Project Versions Folders-Organize the projects Projects Packages Parameters References Environments Variables Permissions
Catalog properties:
Permissions You can manage permissions by using Microsoft.SqlServer.Management.IntegrationServices namespace SQL Server Management Studio UI For a folder, use the Permissions page of the Folder Properties Dialog Box. For a project, use the Permissions page in the Project Properties Dialog Box. For an environment, use the Permissions page in the Environment Properties Dialog Box. Transact-SQL (in SSISDB Database) catalog.grant_permission catalog.deny_permission catalog.revoke_permission catalog.effective_object_permissions: to view effective permissions for the current principal for all objects catalog.explicit_object_permissions: to view permissions that have been explicitly assigned to the user.
Project Versions
Explore the SSISDB DB Objects Let’s take look the SSISDB database
Project/Packages Related Tables Those tables in Internal schema to store the SSIS project objects deployed to the IS catalog
Operation Tables Those tables stored stat and log for the operation include: Deployment, execution, validation, etc.. Catalog.operations Displays the details of all operations in the Integration Services catalog.
Integration Services Dashboard
Integration Services Dashboard
Other Standard Reports All Connections Report All Operations Report
All Validations Report: Summary of all Integration Services validations that have been performed
All Executions Report: Display the SSIS package executed in descending order. Filter: Allow to select the Execution started from and to Date
View Messages
View Performance
Catalog Logging Levels Description None Logging is turned off. Only the package execution status is logged. Basic All events are logged, except custom and diagnostic events. This is the default value. Performance Only performance statistics, and OnError and OnWarning events, are logged. Verbose All events are logged, including custom and diagnostic events. An example of a diagnostic event, is the DiagnosticEx event. Whenever an Execute Package task executes a child package, it logs this event. The event message consists of the parameter values passed to child packages
Set for Server Side Default Level
Set for Individual Package Right-click the package Select Execute. Select the Advanced tab Under Logging level, select the logging level.
Performance level
Verbose level
Ways to Execute the SSIS Packages SQL Job DTExec /ISSERVER Stored Procedure
SP to Execute SSIS Package Catalog.Create_Execution Creates an instance of execution in the Integration Services catalog. This stored procedure uses the default server logging level. Catalog.Set_Execution_Parameter_Value Sets the value of a parameter for an instance of execution in the Integration Services catalog. Catalog.Start_Execution Starts an instance of execution in the Integration Services catalog. Catalog.Stop_Operation Stops a validation or instance of execution in the Integration Services catalog.
--CREATE Execution plan EXEC [SSISDB]. [catalog] --CREATE Execution plan EXEC [SSISDB].[catalog].[create_execution] @package_name=@PackageName , @execution_id=@execution_id OUTPUT, @folder_name=@FolderName, @project_name=@ProjectName, @use32bitruntime=False, @reference_id=Null --Set Execution Parameters EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0 EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'DUMP_ON_ERROR', @parameter_value=@var1 EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'SYNCHRONIZED', @parameter_value=1 --Start Execute the SSIS pCakge EXEC [SSISDB].[catalog].[start_execution] @execution_id --Checking error SELECT @ReturnValue = [Status] FROM [SSISDB].[catalog].[operations] WHERE operation_id = @execution_id SELECT @execution_id AS ExecitionID, @ReturnValue AS Result IF @ReturnValue = 4 OR @ReturnValue =6 BEGIN RAISERROR ('SSIS Execution Failed: %s with return code %d', -- Message text. 16, -- Severity. 1,-- State. @PackageName, --1st Parameter @ReturnValue --2nd parameter ); END Status Code: int The status of the operation. The possible values are created (1), running (2), canceled (3), failed (4), pending (5), ended unexpectedly (6), succeeded (7), stopping (8), and completed (9).
SP for Validation Catalog.validate_project Asynchronously validates a project in the Integration Services catalog. Catalog.validate_package Asynchronously validates a package in the Integration Services catalog.
Clean the Catalog Data
SQL Agent Job SSIS Server Operation Records Maintenance EXEC [internal].[cleanup_server_retention_window] SSIS Server Max Version Per Project Maintenance EXEC [internal].[cleanup_server_project_version] SQL Job created when you enable the IS catalog: It contains two steps: SSIS Server Operation Records Maintenance EXEC SSISDB.[internal].[cleanup_server_retention_window] SSIS Server Max Version Per Project Maintenance EXEC [internal].[cleanup_server_project_version]
Create/Deploy Custom Report
Comparison SSMS Custom Reports RS Reports No need to have SSRS installed Need SSRS Use current context; Execute in the context of Current Object Explorer Stored in shared physical drives only Stored in ReportServer.dbo.catalog Parameter is invisible; Predefined Parameter to retrieve current object name & type Support Report Parameters Cannot be executed automatically Could be executed programmatically Not support subreports Support subreports Using the permission of current user; Read access to the physical report file location Current user or delegated user
Adding customer report to SSMS In Management Studio, right-click a node in Object Explorer Point to Reports and click Custom Reports In the Open File dialog box, locate the custom reports folder and select the XXXX.rdl file you want to add. And then click Open.
Reference: http://social.technet.microsoft.com/wiki/contents/article s/8966.getting-started-with-the-ssis-2012-catalog-and- dynamic-configurations-using-the-project-deployment- mode.aspx http://msdn.microsoft.com/en-us/library/hh479588 http://msdn.microsoft.com/en-us/library/hh231187.aspx http://technet.microsoft.com/en- us/library/bb153684.aspx http://technet.microsoft.com/en- us/library/bb153743.aspx http://technet.microsoft.com/en- us/library/bb153682.aspx http://fendy-huang.blogspot.com/2012/01/sql-server- 2012-integration-services.html
Thanks for your attending Blog: http://fendy-huang.blogspot.com/