Wednesday, 17 June 2020

SSIS Interview Questions (Scenario based)


Session 3 (Scenario based)


  • What type of Transformations are used to Run 10 Packages at a time?
  • Load 1 GB text file into table (fastest method) & Why?
  • Issue in package (It is failed) but is not impact on SQL Server Agent Job & Why?
  • How to Deploy the package into UAT/PROD & Explain various deployment options & which one is best in Real time?
  • How to run the package in various environments without Configuration ?
  • Explain the process flow to load 100 files into table and each file contains some more tabs & sometimes the excel files contains un structure data also . How to handle this case?
  • Excel source need to load into SQL -- Which transformation is used in the package?
  • How to use temp table throughout the package ?
  • Package should not run when there is no file and should run if file is present? How do you create this package?
  • Conditional split (it won’t work for multiple columns)
  • How to load multiple files with different names from single folder?
  • How to load multiple sheets from a single excel file?
  • How to you debug a failed package at data flow level?
  • How to use a temp table in all of the package? what are the properties we need to set?
  • replacement of OLEDB command
  • If using .csv files, what are the issues are faced
  • Excel File
    SQL
    SQL
    Table A
    Table 
    B
    Table C
     How to get the joining data from Table A,B & C in SSIS?
  • Explain step by step process to get the 10 Tables data from Oracle server to SQL Server using SSIS & without SSIS?
  • How to create the checkpoint? If check point log is deleted in which point onward the package will run?
  • Where you can specify checkpoint and Transaction
  • SCD 6 & SCD 2 scenario
  • How to change the configuration of package on Run time?                         More ....


SSIS Interview Questions


Session 2



  • Explain SSIS architecture ?
  • Difference between DTS & SSIS package (Explain briefly)
  • What is the use of deployment and explain the steps of deployment process?
  • what is 2012 deployment model ?
  • what are Package parameters?
  • Different between 2012 & 2014 BI Tool, explain each and every thing
  • SSIS Synchronous and Asynchronous transformation ?
  • What is CDC and explain about CDC?
  • Explain about Checkpoints and break points ?
  • Difference between raw file source and destination
  • Package security types ?
  • What are the types of transformations in SSIS (Like fully , partial & no blocking)?
  • What are fully blocking transformations & Partial ?
  • Encryption mechanism in SSIS
  • How to send the Encryption files to clients in SSIS
  • CLR Program
  • Error Exceptions in SSIS
  • Lookup and different types of caches and why we use it ?
  • Knowledge on Migration in SSIS?                                          More ....


SSIS Interview Questions


Session 1 (Simple)


  • Different types of Constrains in SSIS?
  • What are the Control flow components are using in your project?
  • What is DFT? What will be doing in Data flow task?
  • What is the use of Event Handlers?
  • What is mean of logging and explain about the types
  • Explain about the types of configuration
  • Difference between XML & SQL Configuration
  • Diff between OLEDB & SQL destination
  • Diff between OLEDB & ADO.net destination
  • Execute Package task & Execute Process task
  • XML task in SSIS
  • FTP task & Web service task in SSIS
  • Union all & Merge in SSIS
  • Explain about Incremental load process ?
  • How to debug the data flow task ?
  • Explain Merge ?
  • Difference between merge and merge join ?
  • SCD and its type with example?
  • Explain the lookup transformation in SSIS?
  • how to use temp table and its properties?


Saturday, 6 June 2020

POWER BI Interview Questions


Session 2

  • Explain about Role based security concept (Step by Step) For example customers can visible only US & UK data.
  • Explain about service level security Mechanism.
  • How to get the data from SQL Server to POWER BI, how many ways
  • Explain about the POWER BI Reports using SSAS Cubes
  • How to share the dashboard to outside the organization, what are the pre requirements
  • Client/Customer telling that he is not able to visible the dashboard? What are the steps to follow to resolve this issue?
  • If someone delete the report in dashboard? What is happens?
  • If you create a dashboard from a report, after someone delete the report. What message is showing in dashboard?
  • If Client/Customer don’t have the POWER BI software in there machines then how to share your dashboard to him? (Explain in step by step)
  • How to call the SSRS report to Dashboard / Dashboard to SSRS report
  • Facing ay issues in Dataset level in current project?
  • One hour before data is not showing in Dashboard after some time the data is showing. How to backtrack this issue?
  • Dashboard in PowerBI and we need changes in Dimension structure in which level we can do change?     .....More


POWER BI Interview Questions


Session 1 (Simple)

  • What are the visualizations worked in the project on POWER BI?
  • Views in POWER BI Desktop?
  • What are the Apps are showing in POWER BI Service / Desktop
  • Explain about DAX functions & calculated columns
  • What are the visualizations in SSRS & POWER BI
  • Content pad uses
  • What are the filters in POWER Bi
  • What is Drill down & Drill through functionality in POWER BI
  • What are the licenses required to show POWER BI Reports
  • What is the service behind in POWER BI
  • What are the different gateways in POWER BI
  • Explain the Data model concept in POWER BI
  • Explain the relationships concept in POWER BI
  • Tell me 4 or 5 DAX Expressions in POWER BI are using in your project
  • Difference between Power bi & SSRS Reports?
  • What is the difference between management gateway enterprise and personal gateway?
  • Differences of Charts, dashboard and reports?
  • What if chart doesn't have data? How do you make sure that charts will have data?  .... More


SSAS Interview Questions


SSAS Interview Questions

  • What is use of SSAS Cube?
  • How Cubes are implemented in SSAS
  • At the time of Creating of cube, what challenges you faced?
  • How many languages are used to retrieve data from cube?
  • member,tuple,set definition explain with example
  • What is Named set?
  • Explain recent development scenario in SSAS
  • How to Deploy the Cube?
  • Type property in SSAS Dimension
  • Unknown member is SSAS
  • Fact-Many  Many- to Many-to remove duplicates ?
  • Named Calculations and example in real time
  • Explain Aggregations usage in cube level
  • How to improve cube performance?
  • Before cube creation process methods
  • What is Ragged Hierarchy?
  • What are Different Ways of Creating Aggregations?
  • What is Write Back Property in Partition?
  • In DSV Tables or Named Query Calculations. Which one is Execute One?
  • What is the Difference between Derived Measure and Calculated Measures?


Datawarehouse/DW Interview Questions


Datawarehouse/DW Interview Questions

  • Explain about Data warehousing concepts?
  • Star schema and snow flake schema?
  • Explain the structure of Fact & Dimensions tables
  • Difference between OLTP & OLAP
  • Explain about MOLAP , ROLAP, HOLAP
  • Have you ever worked on Data modeling?
  • Difference between STAR & SNOWFLAKE Schema
  • Briefly explain about DATA MARTS
  • What are Early arriving facts, late arriving dimensions?
  • Cascading parameters?
  • Types of dimensions & Facts?
  • Degeneration dimensions?
  • What is Fact less facts & Junk dimension?


Friday, 22 May 2020

SSRS Interview Questions


Session 2 

  • Types of reports in SSRS
  • How to send same report data on basis of different country to different sheet in same excel?
  • How to control number of rows on each page in SSRS
  • How do you create multi select drop down/parameter? Without Allow multiple values option?
  • How to create cascading parameters? Explain with a scenario in current project?
  • What kind of export you worked in current project? 
  • What are the Issues in exporting to excel or pdf? 
  • How to set page names in exported copy? 
  • How to set limit on page size while exporting? I.e. when exported, the page should contain only 50 rows. How do you achieve it? 
  • What kind of reports you created?
  • How do you do deployments in SSRS on current project? 
  • What types of Expressions are using in current project?
  • How to use 2 different dataset fields in single report?
  • How to restrict a particular user not to see a particular report data?
  • How to split and export report data into multiple excel sheets?
  • Drill down and Drill through, Deployment types?
  • How to get deployment permissions if you don’t have to do so?
  • Explain about permissions on SSRS Reports?
  • What was the chain -- how to give the permission -- permission action on user or URL?
  • How will give permissions on URL's and Reports?   More ....

SSRS Interview Questions


Session 1 

  • What are the type of reports are available in SSRS?
  • What are the steps to follow to create the Report?
  • Different types of SSRS Reports
  • What is Parameterized Reports?
  • Difference between tabular and matrix
  • Diff between drill down and drill through
  • How to restrict rendering options in SSRS
  • What are the uses of “Sub reports” in SSRS?
  • How to hide Rendering options in Report level & Group of Reports level
  • In my system so many SQL Agent jobs are running (SSMS), I want a report to show the job running status report with all information?
  • Drill through & Drill Drop Reports
  • What is Subscriptions? And types in SSRS?
  • Data driven subscriptions?
  • Difference between report server and report manager
  • What is the use of page breaks? 
  • What is bookmark in SSRS?          
  • What types are modes are included in report server installation? More .... 


Thursday, 21 May 2020

Project level interview questions


Project related Questions:


  • Explain the Roles & Responsibilities on current Project?
  • What is the day to day activates in your job?
  • Which SDLC process is using in your project (Water fall , Agile)
  • Control flow components are using in current project
  • What kind of sql & BI tool in your current project? 
  • What are the SSIS Transformations are using in your project?
  • How to Monitoring the jobs on current Project?
  • Incremental load & Full load process following in working project
  • What type of Transactions on current Projects?
  • Errors on your Project and How to handle it?
  • What are the visualizations worked in the project?
  • Facing issues in current project?


Sunday, 7 April 2019

How to improve the performance of package in SSIS



In this article, I will explain how many ways to improve the performance of package in SSIS at various levels and it also provides information about features and tools that you can use to troubleshoot the performance of packages.








Performance tuning at Package level in SSIS



·       Check points:
Implement check points to have better restart ability of components in the package.

·       Disable Event Handlers:
Event handlers decrease package performance. So, unnecessary event handlers should be removed or disabled.

·       MaxConcurrentExecutables:
Increasing the number of executables will increase the parallelism of package and concurrently execute in less time.

·       MaximumErrorCount:
The default value of MaximumErrorCount is “1” means it fails for single error in the package. If you increase the error count it doesn’t fail the package until it reaches the count.


In SSIS package contains more than one task. If you add multiple tasks to the control flow, you can add the tasks by using precedence constraints.

Performance tuning at Data Flow in SSIS



·       Proper maintenance of Delay Validation:
Delay validations means True/False in between the components. True means the validations of component is delayed until the execution of other component is finished.

·        BLOB Temp Storage path:
This property is specifying at the time of working with Binary large objects such as Images, Media files etc.

·         Increase the size of Buffer:
       (See this link)

·       Engine Threads (parallel):
The default value is “10”, it will increase more threads it runs more parallel and uses more processes to finish the dataflow operations.

·       Run In Optimized Mode:
If it’s true, the dataflow avoids unnecessary transformations, conservations, operations etc.

·       Optimize event handlers. 

Performance tuning at Source level in SSIS



·         Source as Flat File, use the property “Fast parse=True”. So that the column uses faster

·         Source as Database (Table or View), Create indexes on the source table so that it retrieves the data faster. Instead of taking a table, take an SQL Query (or) SQL Command as data access mode to get the required columns and rows of data.

Performance tuning at Destination level in SSIS



·         Destination as Flat File, try to take the file local to the system.

·         Destination as Database (Table)
§  Use data access mode as “fast load” to load the data much faster.
§  Use data access mode as SQL Command to load any required rows and columns.
§  The table contains, indexes, triggers, and then loading will be slow. So we need to disable (or) drop them, later the loading is finished recreate or enable them.


Performance tuning at Transformation level in SSIS


We need to identify either the transformation is Synchronous (or) Asynchronous.

Asynchronous transformation always takes more time to run then Synchronous.

·       Synchronous Transformation:
Here the rows are processed as it is getting from the source.
Ex: Derived column, data conversion etc.

·       Asynchronous Transformation:
In this case until the required rows, the system collects and it doesn’t perform any operation.
It requires more memory and processes many rows.
These transformations either blocks partially or fully. So these transformation can also called as “Partially blocking or Full blocking” transformations.
Ex: Sort, Aggregate, Merge etc.

·       Remove unused columns from the pipeline:
Extract required data from source system like table or file. Need to avoid the tendency to pull everything available on the source. If you can follow the same method it will impact the future, it eats up network bandwidth, consumes system resource (I/O & CPU), requires extra storage, and it kills the overall performance of the ETL System.

·       Avoid unnecessary sorting in the pipeline:
Behaviour of sorting is to kills the performance and avoid unnecessary sorting can enhance the performance of the package flow.

Sometimes the source data has already been sorted before going to the next steps. Such pre-sorting can occur when the SELECT query used an ORDER BY clause or when the data was inserted into the source in sorted order. For such pre-sorted source data, you can provide a hint that the data is sorted, and thereby avoid the use of a Sort transformation to satisfy the sorting requirements of certain downstream transformations. (For example, the Merge and Merge Join transformations require sorted inputs.) 

To provide a hint that the data is sorted, you must do the following tasks:

·         Set the IsSorted property on the output of an upstream data flow component to True.
·         Specify the sort key columns on which the data is sorted.

Sunday, 19 July 2015

Difference between DTS & SSIS


DTS
SSIS
SQL Server 7.0 introduces available on 2000 onwards
SQL Server 2005 onwards its available
Designed for ETS (Extract Transform Sources)
Designed for ETL (Extract Transform Load)
It Consists of Single Window for all operations. It has data transformations like work flow etc
It Consists of multiple windows for multiple operations. It has ControlFlow,Data Flow, Event Handler, Package Explorer.
Data transformations available.
Dataflow task introduced and all transformations are embedded.
Message boxes displayed in Active-X Script.
Message boxes displayed in Script task.
Less Transformations
More Transformations
Partial BI Support
Full BI Support
No Deployment Wizard
Deployment wizards are introduced.
No DSV(Data source view) , No Connection manger, No Event handlers, No looping through folders & files
Introduced in SSIS
Saved in Enterprise manager(SQL Server) & File system (Structured storage file)
Saved in local file system, deployed in SQL Server.
 DTS Package looks like as follows








 
 
 

 

 
SSIS Package looks like as follows
 
 
 
 
 
 
 
 
 

 

Wednesday, 10 June 2015

Dynamically Create Excel Files depends on Export Data in SSIS

Scenario

     In this Article, we will explain dynamically creation of new Excel files in SSIS depends on Export data from SQL Server table.

Solution

    The solution here was to create new excel file with Department Name at the package ran and export Department names from the Database.

• Let’s create a table with following structure.
CREATE TABLE [dbo].[Emp_Data](
     [Eid] [int] NULL,
     [Ename] [varchar](50) NULL,
     [Sal] [float] NULL,
     [Dept] [varchar](10) NULL
)

GO

• Insert the values into the table of [dbo].[Emp_Data]
insert into Emp_Data values(1,'Ken J',15000,'IT')
insert into Emp_Data values(3,'Rob M',25000,'Coding')
insert into Emp_Data values(4,'Diane L',20000,'DMS')
insert into Emp_Data values(5,'Janice M',12000,'IT')
insert into Emp_Data values(6,'Kevin F',12500,'DMS')
insert into Emp_Data values(2,'Terri Lee',10000,'Coding')

• Create SSIS Package and Create variables as shown

• Take Execute SQL Task from Control Flow pane and configure as shown. The goal is to select the Department name from table and store into Object Type variable.


• Add Foreach loop Container to the package and select “Edit”. On the resulting dialog, click the “Collections” tab in the left-hand pane. On the right-hand pane, select the enumerator type of “Foreach ADO Enumerator”. The bottom portion in the right-hand pane will change. In that lower area, click the drop-down for the “ADO object source variable” and select the variable “User::Dataset”. And the “Enumerator Mode” changes the value in to “Rows in the first table”.

• Now click on the “Variable Mappings” tab of the Foreach Loop Editor and select “User::DeptName” and assign value “0” in Index.

• Let’s take Script task in Control Flow. Choose the variables that we need to use in Script task as shown below.

• Click on Edit Script and then we need to add reference to Microsoft.Office.Interop.Excel dll



• Use the below script in Script task.The code is coloured in Red. You can copy that and paste in the Script Task.
/*
   Microsoft SQL Server Integration Services Script Task
   Write scripts using Microsoft Visual C# 2008.
   The ScriptMain is the entry point class of the script.
*/
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
using System.Data.OleDb;
using System.Reflection;
using System.Diagnostics;

namespace ST_825e524384ad45d6994d16bda6651279.csproj
{
    [System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
    {

        #region VSTA generated code
        enum ScriptResults
        {
            Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
            Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
        };
        #endregion

        /*
  The execution engine calls this method when the task executes.
  To access the object model, use the Dts property. Connections, variables, events,
  and logging features are available as members of the Dts property as shown in the following examples.

  To reference a variable, call Dts.Variables["MyCaseSensitiveVariableName"].Value;
  To post a log entry, call Dts.Log("This is my log text", 999, null);
  To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, true);

  To use the connections collection use something like the following:
  ConnectionManager cm = Dts.Connections.Add("OLEDB");
  cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;";

  Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
 
  To open Help, press F1.
 */
public void Main()
{
 // Store the Filepath
 String Filepath = "";           
 Filepath = Dts.Variables["User::ExcelFilePath"].Value.ToString();
 System.Data.DataTable dt = new System.Data.DataTable();
 Dts.Variables["User::ExcelFilePath"].Value =                                     Dts.Variables["User::ExcelFilePath"].Value+""+
                  Dts.Variables["DeptName"].Value + ".xls"  ;
 //Excel sheet
 Excel.Application oXL = new Excel.ApplicationClass();
 Excel.Workbooks oWBs = oXL.Workbooks;
 Excel.Workbook oWB = null;
 /* Set some properties oXL.Visible = true;*/
 oXL.DisplayAlerts = false;
 // Get a new workbook.
 oWB = oXL.Workbooks.Add(Missing.Value);
 oWB.SaveAs(Dts.Variables["User::ExcelFilePath"].Value,                    Excel.XlFileFormat.xlWorkbookNormal,Missing.Value,                    Missing.Value, Missing.Value, Missing.Value,
           Excel.XlSaveAsAccessMode.xlExclusive,
             Missing.Value, Missing.Value, Missing.Value,
                Missing.Value, Missing.Value);
 oWB.Close(false, Dts.Variables["User::ExcelFilePath"].Value,             Missing.Value);
 oWBs.Close();
 oXL.Quit();
 Dts.Variables["User::ExcelFilePath"].Value = Filepath;

 // TODO: Add your code here
 Dts.TaskResult = (int)ScriptResults.Success;
}// End of Main
}// End of Microsoft...
}// End of namespace

• Final Output:

Let’s execute our SSIS Package and see the before and after see the files in the folder.

Before Execution

After Execution

Let me know what you think about this article.