Vous êtes sur la page 1sur 8

If you need to interview someone with SSIS skills and you do not know much about the tool

itself (or you are just after some examles) than it is worth knowing what are good SSIS Interview questions and answers to ask. If you are on the other side and soon you will be attending an interview then this post might help in your preparations. The questions and answers below are for SQL Server Integration Services 2008 R2 but I will also explain briefly differences for 2008 and 2005. Currently I will only post several questions and I will add new ones when I have a minute. Below are categorized SSIS interview questions and answers:

General SSIS Questions


Question: Which versions of SSIS have you used? Comment: Differences between 2005 and 2008 are not very big so 2005, 2008 or 2008 R2 experience usually is very similar. The big difference is with 2000 which had DTS and it very different (SSIS is created from scratch) Question: Have you used SSIS Framework? Comment: This is common term in SSIS world which just means that you have templates that are set up to perform routine tasks like logging, error handling etc. Yes answer would usually indicate experienced person, no answer is still fine if your project is not very mission critical. Question: Do you have experienced working with data warehouses? Comment: SSIS is in most cases used for data warehouses so knowledge of Data Warehouses Designs is very useful. Question: How have you learnt SSIS (on the job, articles, books, conferences) Comment: The thing is that most people who read good books have usually an advantage over those who hasn't because they know what they know and they know what they don't know (but they know it exists and is available). Blog/Articles very in quality so best practise articles is a big plus+, conferences can be also a plus. Question: Do you have certifications Comment: This is rather disappointing point for me. Qualifications generally are welcome but unfortunately many people simply cheat. Companies run courses and then give questions and answers, or people find them on the internet. I've met people who had certification but knew very little, I've met people very experienced and knowledgeable without certification and people who have done certification for their self-satisfaction and are experienced and knowledgeable. In other words be careful with certification. It is easy to get a misleading impression so make sure you ask the best questions for the position you can.

SSIS Development Questions

Question: How many difference source and destinations have you used? It is very common to get all kinds of sources so the more the person worked with the better for you. Common ones are SQL Server, CSV/TXT, Flat Files, Excel, Access, Oracle, MySQL but also Salesforce, web data scrapping. Question: What configuration options have you used? Comment: This is an important one. Configuration should always be dynamic and usually is done using XML and/or Environment Variable and SQL Table with all configurations. Question: How do you apply business rules in SSIS (Transformations.Specific calculations but also cleansing)? Comment: Some people use SSIS only to extract data and then go with stored procedures only.they are usually missing the point of the power of SSIS. Which allows to create "a flow" and on each step applies certain rules this greatly simplifies the ETL process and simplicity is very good. Question: How to quickly load data into sql server table? Comment: Fast Load option. This option is not set by default so most developers know this answer as otherwise the load is very slow. Question: Give example of handling data quality issues? Comment: Data Quality is almost always a problem and SSIS handles it very well. Examples include importing customers from different sources where customer name can be duplicates. For instance you can have as company name: SQL Server Business Intelligece but also SQL Server BI or SQL Server BI LTD or SQL Server BI Limited or inteligence (with one l). There are different ways to handle it. Robust and time consuming is to create a table with or possible scenarios and update it after each update. You can also uze fuzzy grouping which is usually easy to implement and will make usually very good decisions but it is not 100% accurate so this approach has to be justified. Other typical quality issues are nulls (missing values), outliers (dates like 2999 or types like 50000 instead of 5000 especially important if someone is adjusting the value to get bigger bonus), incorrect addresses and these are either corrected during ETL, ignored, re-directed for futher manual updates or it fails the packages which for big processes is usually not practised. Question: When to use Stored Procedures? Comment: This was one of the requested question in comment (at the bottom of the page). This one is very important but also tricky. ALL SSIS developers have SQL Server background and that is sometime not very good if they use SQL not SSIS approach. Let's start with when you typically use SPs. This is for preparing tables (truncate), audit tasks (usually part of SSIS framework), getting configuration values for loops and a few other general tasks. During ETL extract you usually type simple SQL because it comes from other sources and usually overcomplication is not a good choice (make it dynamic) because any changes usually affect the package which has to be updated as well. During Transformation phase (business rules, cleaning, core work) you should use

Transformation tasks not Stored procedures! There are loads of tasks that make the package much easier to develop but also a very important reason is readability which is very important for other people who need to change the package and obviously it reduces risks of making errors. Performance is usually very good with SSIS as it is memory/flow based approach. So when to use Stored Procedures for transformations? If you don't have strong SSIS developers or you have performance reasons to do it. In some cases SPs can be much faster (usually it only applies to very very large datasets). Most important is have reasons which approach is better for the situation. Question: What is your approach for ETL with data warehouses (how many packages you developer during typical load etc)? Comment: This is rather generic question. A typical approach (for me) when building ETL is to. Have a package to extract data per source with extract specific transformations (lookups, business rules, cleaning) and loads data into staging table. Then a package do a simple merge from staging to data warehouse (Stored Procedure) or a package that takes data from staging and performs extra work before loading to data warehouse. I prefer the first one and due to this approach I occasionally consider having extract stage (as well as stage phase) which gives me more flexibility with transformation (per source) and makes it simpler to follow (not everything in one go). So to summarize you usually have package per source and one package per data warehouse table destination. There are might be other approach valid as well so ask for reasons.

SSIS Advanced Questions


Question: What is XMLify component? Comment: It is 3rd party free component used rather frequently to output errors into XML field which saves development time. Question: What command line tools do you use with SSIS ? Comment: dtutil (deployment), dtexec (execution), dtexecui (generation of execution code)

I will try to find time to add more questions soon. Feel free to suggest new questions (add comments).

SSIS Interview Questions and Answers : Series 3

How to create the deployment utility?


Deployment utility can be created by right click on solution explorer setting create deployment utility to true.

How to deploy the packages SSIS?


When you build the package by clicking on Solution explorer it creates the package.dtsx file. If you are creating deployment utilities for deploying the packages it will create a manifest file. This manifest file will be the deployment utility. Clicking on it you will get option of deploying on database or deploying on some location (create the package file).

Where a package does deploys in Integration service database?


In integration services database MSDB database hold entire packages deployed at database.

How to implement Transaction in SSIS package?


SSIS provides the facility of transaction to maintain data integrity. To implement transaction there are three options. You can find out these options in properties. The options are. Supported, Required and not supported. Required: If the properties set to require than container or task will start the transaction or if its already started it will join the transaction. Supported: If its supported then it will be the part of the transaction. Not supported: if its not supported then it will neither initiates or nor be part of transactions.

What are the checkpoints in SQL Server?


In SSIS by using checkpoints package can restarted from the point of failure. It avoids all the containers or the part of package which are executed successfully to re execute. SSIS interview Questions and Answers : Series 2

What is event handler Tab in Design window?


In event handlers table error handling of package can be done. It has different functions which executes when there any event occurs in package such as task failed, task execution and successfully completed etc.

Difference between the data type DT_STR and DT_WSTR


When data is in Unicode the SSIS package takes the data type as DT_WSTR and when data is ANSI code then it takes DT_STR.

What is the connection manager in SSIS package?


Connection manager is the connection string to the data source (from where data need to extract) and destination (to load the data).

Explain the Lookup Transformation?


Lookup transformation is used to lookup the input column in the lookup record set for getting the related data from the tables.

What is annotation in SSIS Package?


You can add text in the package body using annotation. Pointing the pointer in body of package and clicking on properties you will get there add annotatio What are the maintenance Tasks in SSIS ? Maintenance Tasks are the task which can be used to maintain database administration activities. IT contains the task which performs the SQL Server agent tasks. SSIS contains the task for backup, restore and job executions functionality of SQL server management studio. These task help to automate the maintenance of database. It has the task like index rebuild, shrink database update statistics. 0 comments Labels: SSIS Interview Questions and Answers

Sunday, February 06, 2011


SSIS Interview Questions and Answers : Series 3

How to create the deployment utility?


Deployment utility can be created by right click on solution explorer setting create deployment utility to true.

How to deploy the packages SSIS?


When you build the package by clicking on Solution explorer it creates the package.dtsx file. If you are creating deployment utilities for deploying the packages it will create a manifest file. This manifest file will be the deployment utility. Clicking on it you will get option of deploying on database or deploying on some location (create the package file).

Where a package does deploys in Integration service database?


In integration services database MSDB database hold entire packages deployed at database.

How to implement Transaction in SSIS package?


SSIS provides the facility of transaction to maintain data integrity. To implement transaction there are three options. You can find out these options in properties. The options are. Supported, Required and not supported. Required: If the properties set to require than container or task will start the transaction or if its already started it will join the transaction. Supported: If its supported then it will be the part of the transaction. Not supported: if its not supported then it will neither initiates or nor be part of transactions.

What are the checkpoints in SQL Server?


In SSIS by using checkpoints package can restarted from the point of failure. It avoids all the containers or the part of package which are executed successfully to re execute. 0 comments Labels: SSIS Interview Questions and Answers

SSIS interview Questions and Answers : Series 2

What is event handler Tab in Design window?


In event handlers table error handling of package can be done. It has different functions which executes when there any event occurs in package such as task failed, task execution and successfully completed etc.

Difference between the data type DT_STR and DT_WSTR


When data is in Unicode the SSIS package takes the data type as DT_WSTR and when data is ANSI code then it takes DT_STR.

What is the connection manager in SSIS package?


Connection manager is the connection string to the data source (from where data need to extract) and destination (to load the data).

Explain the Lookup Transformation?


Lookup transformation is used to lookup the input column in the lookup record set for getting the related data from the tables.

What is annotation in SSIS Package?


You can add text in the package body using annotation. Pointing the pointer in body of package and clicking on properties you will get there add annotatio 0 comments Labels: SSIS Interview Questions and Answers

SSIS interview Questions and Answers : Series 1

What is SSIS package?


SSIS package is an entity which performs ETL task in SSIS. Extract the data transform it create flow and load it in destination.

What is the control flow Task?


Control flow task has the different elements which are ordered and structured to perform a tasks or business logic. I.e. control flow can be termed as workflow for a business logic or task. In a package control flow contains at least one element.

What is Data flow Task?


Data flow task is used to perform ETL operation in a package. In this you retrieve the data from source and transform and then need to provide it to destination. Data flow task is the one of the element of control flow task.

Difference between Dataflow Task and Control Flow Task?


Data flow task are the part of control flow. Data flow cant exist without control flow but control flow can exist without data flow in a package.

What are the other part tabs of package design window?


Other parts of package design window are event handler, package explorer.

Vous aimerez peut-être aussi