Anda di halaman 1dari 9

SSIS Interview Questions and Answers : Deployment

Deployment
Question:
Question:
Question:
Question:
Question:
Question:
Question:
SSMS?

How to create the deployment utility?


How to deploy the packages SSIS?
Where a package does deploys in Integration service database?
What is Manifest file in SSIS?
What is File System Deployment?
how to back up or retrieve the SSIS package?
What are the different databases in Integration services while login through

How to Create Deployment Utility:


Deployment is the process in which package converts into development mode to executable mode.
For Deploying the SSIS package you can directly deploy the package by right clicking Integration
services
project and build it. This will save the package.dtsx file on bin\project folder. In my case below is the
location.
C:\Documents and Settings \My Documents\Visual Studio 2008\projects.
Also you can create the deployment utility using which the package can be deployed at either SQL
Server or as a
file on any location.
For creating deployment utility follow below steps.
1. Right Click on project and click on properties, you will get the below screen.
2. In above screen, select true for createDeploymentUtility Option. Also you can set the deployment
path.
3. Now close the window after making the changes and build the project by right clicking on project.
4. A deployment folder will be created in BIN folder of your main project location. C:\Documents and
Settings \My Documents\Visual Studio 2008\projects.
5. Deployment folder you will find .manifest file, double clicking on it you can get options to deploy
package on SQL Server.
6. Login in to SQL Server Deploy the package in integration services and you can verify it by checking
MSDB on integration Services.
Question: What is Manifest file in SSIS?
Manifest while if the utility which can be used to deploy the package using wizard on file system and
SQL
Server database.
Question: What is File System Deployment?
File system deployment means to save package file on local or network drive.
Question: how to back up or retrieve the SSIS package
If your package is deployed on SQL Server then you can back up the MSDB database as all the
package on SQL
server deploys at MSDB.
What is Transaction in SSIS package and how to implement it? (SSIS Interview Questions)
Packages use transactions to bind the database actions that tasks perform into atomic units, and by
doing this maintain data integrity. All Microsoft Integration Services container typespackages, the
For Loop, For each Loop, and Sequence containers, and the task hosts that encapsulate each task
can be configured to use transactions. Integration Services provides three options for configuring
transactions: NotSupported, Supported, and Required.

Required indicates that the container starts a transaction, unless one is already started by its
parent container. If a transaction already exists, the container joins the transaction. For
example, if a package that is not configured to support transactions includes a Sequence
container that uses the Required option, the Sequence container would start its own
transaction. If the package were configured to use the Required option, the Sequence
container would join the package transaction.

Supported indicates that the container does not start a transaction, but joins any transaction
started by its parent container. For example, if a package with four Execute SQL tasks starts a
transaction and all four tasks use the Supported option, the database updates performed by
the Execute SQL tasks are rolled back if any task fails. If the package does not start a
transaction, the four Execute SQL tasks are not bound by a transaction, and no database
updates except the ones performed by the failed task are rolled back.

NotSupported indicates that the container does not start a transaction or join an existing
transaction. A transaction started by a parent container does not affect child containers that
have been configured to not support transactions. For example, if a package is configured to
start a transaction and a For Loop container in the package uses the NotSupported option,
none of the tasks in the For Loop can roll back if they fail.

Question: How to implement isolation level in SSIS package?


Can Implement Isolation Level by configuring Isolation Level property of package by right
clicking on it and finding Isolation property.
Question: What is chaos in isolation level options in SSIS?
"Chaos" - like "Read Uncommitted," permits viewing uncommitted changes, but without
holding update locks until the end of transaction. Due to its lack of support on the SQL
Server platform and inability to roll back, it is rarely used.
SSIS Interview Questions: Checkpoint
Checkpoint is the property in SSIS which enables the project to restart from the point of failure. When
we set the property to true package create the checkpoint file which stores the information about
package execution and use to restart package from the point of failure.
If the package runs successfully, the checkpoint file is deleted, and then re-created the next time the
package is run.
You can assign value to variables and connection manager and can also change other attributes
dynamically at run time using configuration file.
For creating config file you right click on package body select the configuration option and then
select a file type and attribute which you want to add in that config file.
There various options provided for handling config details such as creating XML files, using SQL
Server database table environment package variables.
Package configurations provide the following benefits:
Easy to move package from one environment to other.
Helpful when there are system dependent variable which are used in package
Integration Services supports several different methods of storing package configurations, such as
XML files, tables in a SQL Server database, and environment and package variables.
Each configuration is a property/value pair. The XML configuration file and SQL Server configuration
types can include multiple configurations.
Configurations are included in deployment utility for installing packages.
Checkpoint data is not saved for ForLoop and ForEach Loop containers. Whenever package restarts
the For Loop and ForEach Loop containers and the child containers are run again. So as conclusion
for loop a container if a child container in the loop runs successfully, it is not recorded in the
checkpoint file, instead it is rerun.
There is work around for this as listed on Microsoft website: put loop task inside the sequence
container task.
Now one big thing which you have to remember that checkpoint applies for control flow task only it

means if there is failure in data-flow task it will rerun the data-flow task again. For example there is
data-flow task where out of 50000 records 20000 transferred in to destination. At this point a general
error occurs and fails the data-flow task. Now what will checkpoint do will the data-flow continue for
rest records or it will start from new when package restart. Answer simply entire data-flow task will
restart from beginning.
Difference between Control flow and Data flow
Difference between control flow and data flow:

Control flow is for designing the flow of package. Dataflow if for ETL process.

Dataflow is the subset of control flow.

There will be only one control flow while multiple dataflow can exists.

Data flow cant work without a control flow.

Control flow is the main window or interface of the package where we design entire flow i.e. Control
Flow depicts the flow of execution of task.
All the tasks in any packages are subset of control flow. So all this indicates that a package can have
only one control flow. All process base tasks are part of control flow while ETL related tasks are the
part of Dataflow which is again a subset of control flow.
For Loop and For Each Loop
For Loop and For Each loop both are used for looping the object or tasks in SSIS package. But both of
them work differently.
For Loop is like normal for loop where you defines the EVAL expression and task loops that no of
times. For example if you want to iterate some task 20 times it will loop for 20 times and then stop.
While For Each Loop works for object level let say we have a folder in which there are multiple files
and these files need be dumped into database. For this you need to iterate for each file which is
possible through for each loop task. For Each loop task will iterate for each file in the folder. You can
say its iterates for the collection. For each loop has multiple type of iterates.
What is Sequence Container?
Sequence Containers handle the flow of a subset of a package and can help you divide a
Package into smaller, more manageable pieces. Some nice applications that you can use
Sequence containers for include the following:

Grouping tasks so that you can disable a part of the package that s no longer needed

Narrowing the scope of the variable to a container

Managing the properties of multiple tasks in one step by setting the properties of the
Container

Using one method to ensure that multiple tasks have to execute successfully before the next
task executes

Creating a transaction across a series of data - related tasks, but not on the entire package

Creating event handlers on a single container, wherein you could send an email if anything
inside one container fails and perhaps page if anything else fails

Question: What is Execute SQL Task?


The Execute SQL Task is one of the most widely used tasks in SSIS for interacting with an
RDBMS data
Source.

The Execute SQL Task can be used for many sorts of things, like

Truncating staging data table prior to importing,

Retrieving row counts to determine the next step in a workflow,

To call stored procedures to perform business logic against sets of staged data.

The task used to retrieve information from a database repository.

The output from this can be obtained as recordset, multiple variables and other multiple
sources.
Difference between Execute TSQL Task and Execute SQL Task
In SSIS there is one tasks Execute TSQL task which is similar to Execute SQL task. Will see
what is the difference between two.
Execute TSQL Task

Execute SQL Task

Takes less memory

Takes more memory compare to ETL

Parameterized queries not support

Parameterized query possible

Output into variable not supported

supported

Only ADO.net connection supported

Supported multiple type of connection

Faster performance

Comparatively low

Question: What is slowly changing dimensions?


Analysis Services Component
Question: What is slowly changing dimensions?
The Slowly Changing Dimension (SCD) Transform provides a great head start in helping to solve a
common, classic changing - dimension problem that occurs in the outer edge of your data model the
dimension or lookup tables.
A dimension table contains a set of discrete values with a description and often other measurable
attributes such as price, weight, or sales territory. The classic problem is what to do in your
dimension data when an attribute in a row changes, particularly when you are loading data
automatically through an ETL process. Using this transform you can easily do for what you can shave
days off of your development time in relation to creating the load manually through TSQL.
Question: Lets say there are changes made in table A and that need to be replicated in data
warehouse for same record. Table A exists in both db already and whatever changes done to it need
to be reflected in datawarehouse. Create the package for it. Can create the package using Slowly
Changing dimensions.
SSIS Interview Questions :Execute DDL Task

The SQL Server Analysis Services Execute DDL Task is the Analysis Services equivalent of the
Execute
SQL Task, but limited in scope to issuing Data Definition Language statements. The task simply
executes a DDL statement against an Analysis Services system. Typically, you would use DDL
statements to create a cube, a dimension, or any other online analytical processing (OLAP) object.
To configure the task, go to the DDL tab and select the Connection Manager that you wish to
execute the DDL statement against in the Connection option. Then in the Source Type property,
select whether the DDL statement will be directly inputted, pulled from a file, or pulled from a
variable option.
Essentially the source type option determines whether you need to key in the DDL statement
directly, provide a variable, or point to a file where the DDL statement is stored.
SSIS Interview : Data Profiling Task
Data profiling is the process of analyzing the source data to better understand what condition the
data
is in, in terms of cleanliness, patterns, number of nulls, and so on. In fact, you probably have done
data profiling before with scripts and spreadsheets, but perhaps you didn t realize that it was called
data profiling The output of the Data Profiling Task will be used to help you in your development and
design of the ETL and dimensional structures in your solution. Periodically, you may want to re - run
the Data Profile Task to see how the data has changed, but the package you develop will not include
the task in the overall recurring ETL process.

SSIS Interview: Data Conversion and Derived Column


The Data Conversion Transform performs a similar function to the CONVERT or CAST
Functions In TSQL. The transform is configured in the Data Conversion Transformation Editor,
where you would check each column that you wished to convert and then assign what you
wish to convert it to under the Data Type column.
The Output Alias is the column name you want to assign to the column after it is transformed.
If you don t assign it a new name, it will show as Data Conversion: ColumnName later in the
Data Flow.
The Derived Column Transform creates a new column that is derived from the output
Another column. It is one of the most important transforms in your Data Flow arsenal. You may
wish to use this transformation, for example, to multiply the quantity of orders by the cost of
the order to derive the total cost of the order. You can also use it to find out
the current date or to fill in the blanks in the data by using the ISNULL function. This is one of
the top five transforms that you ll find yourself using to alleviate the need for TSQL scripting in
the package. To configure this transform, drag the column or variable into the Expression
column .Then add any functions to it. A list of functions can be found in the top - right corner of
the Derive Column Transformation Editor. You must then specify, in the Derived Column drop
down box, if you want the output to replace an existing column in the Data Flow or to create a
new column.

SSIS Interview Questions: SSIS Multicast Task


Multicast transformation in SSIS which convert one input into multiple output which can be then used
for different operations.
For example when we need to save the data in destination on the basis of two different look-up
tables. The multicast can generate two outputs on which look-up operation can do simultaneously.
Multicast is to increase database efficiency of package.
Difference Between Merge and Union All
The Merge Transform can merge data from two paths into a single output. The transform is
useful when you wish to break out your Data Flow into a path that handles certain errors and
then merge it back into the main Data Flow downstream after the errors have been handled. It
s also useful if you wish to merge data from two Data Sources.
The data must be sorted before the Merge Transform. You can do this by using the Sort
Transform prior to the merge or by specifying an ORDER BY clause in the source connection.
The metadata must be the same between both paths. For example, the CustomerID column
cant be a numeric column in one path and a character column in another path.
The Union All Transform works much the same way as the Merge Transform, but it does not
require the data be sorted. It takes the outputs from multiple sources or transforms and
combines them into a single result set.
SSIS Synchronous and Asynchronous
Transformations are broken into two main categories: synchronous and asynchronous.
Synchronous transformations are components like the Derived Column and Data Conversion
Transforms where rows flow into memory buffers in the transform and the same buffers come
out. No rows are held and typically these transforms perform very quickly with minimal impact
to your Data Flow.
There are two types of asynchronous transforms: fully blocking and partial blocking.
Partial blocking transforms, such as the Union All Transform, create new memory buffers for
the output other transform than what come into the transform. Full blocking transforms, such
as the Sort and Aggregate Transforms, do the same thing but cause a full block of the data. In
order to sort the data, SSIS must first see every single row of the data. If you have a 100MB
file, then you may require 200MB of RAM in order to process the Data Flow because of a fully
blocking transform. These fully blocking transforms represent the single largest slowdown in
SSIS and architecture decisions you must make.
SSIS Interview : OLE DB Command Transform
The OLE DB Command Transform is a component designed to execute a SQL statement for
each row in an input stream. This task is analogous to an ADO Command object being created,
prepared, and executed for each row of a result set. The input stream provides the data for
parameters that can be set into the SQL statement that is either an in - line statement or a
stored procedure call. We don t know about you, but just hearing the for each row phrase
in the context of SQL makes us think of another phrase performance degradation. This
involves firing an update, insert, or delete statement, prepared or unprepared some unknown
number of times. This doesn t mean there aren t any good reasons to use
this transformation .

Pay specific attention to the volume of


input rows that will be fed into it. Weigh the performance and scalability aspects during your
design phases against a solution that would cache the stream into a temporary table and use
set - based logic instead. To use the OLE DB Command Transform Task, you basically need to
determine how to set up the connection where the SQL statement will be run, provide the SQL
statement to be executed, and configure the mapping of any parameters in the input stream to
the SQL statement. Take a look at the settings for the OLE DB Command Transformation by
opening its editor. The OLE DB Command Transform is another component that uses the
Advanced Editor.
Script Task Interview
Question:
Question:
Question:
Question:
Question:
Question:

What is Script Task?


What is Script Component?
How to use script component as Source and Destination?
What are the languages available for coding in Script Task?
How to Handle Object Variable in Script Task?
What are the steps to use a package Variable in Script Task?

SSIS Interview : Config Files


Config file in Sql Server Integration Service is used to provide inputs to connection manager different
properties which package use to assign values at run time dynamically.
Using config file user need to make changes to the config file which package will take automatically
at run time because of using it you don't need to every time made changes in package in case you
are deploying package on multiple servers or locations.
There are multiple ways in which configuration values can be store.
XML configuration file
Store the configuration as an XML file. .
Environment variable
Store the configuration in one of the environment variables.
Registry entry
Store the configuration in the registry.
Parent package variable
Store the configuration as a variable in the package that contains the task.
SQL Server
Store the configuration in a table in SQL Server.
Here are the steps to enable the config file for package.
On the SSIS package, right click and select Package Configurations.
In the Package Configuration Organizer dialog box, select Enable package configurations, and then
click Add.
Security Interview
Question: How to implement the security in SSIS package?
Question: What is the protection Level in SSIS package and what are the different types
of protection available?
Question: How to implement database level package security?
Question: What is event handler Tab in Design window?
Question: What is SSIS package?
Question: What are the other part tabs of package design window?
Few More During an SSIS package execution, how are SQL database errors handled?
Give an example of a handled and unhandled error event in a well designed package.
Error events are handled through the Event handler. Each task and container may have a dedicated

ON-ERROR event defined for it. When an error occurs, the event handler is immediately invoked for
the event defined at the failing task level. ON-ERROR events defined within a data flow (red line to a
defined task) may be configured to not fail the load and execute any defined tasks prior to going to
the next row. If no error-handling event is defined within a data flow or the error occurs in the
processes flow, control is transferred to the next highest level of the package (ie. The container
level). If an ON-ERROR event is defined there, that code is executed, then control is raised up the
chain until the package ON-EVENT is reached. Once control leaves a data flow for an ON-ERROR
event, the package will not return to the data flow.
What is a data viewer in SSIS and its uses?
Data viewers are grids that can be added to any data line within the Data Flow. Bu using the data
viewer you can debug the package at run time by viewing the data
How to configure package properties at runtime?
By using configuration feature you can doing it run time. For this there are multiple methods.
What to insert a new column in the dataset data flow?
By using derived column you can insert new column in dataset.
What is a multicast?
A dataflow transformation that multiply the single dataset into multiple output as per the
requirement.
Multicast More Detail
Explain star schema, snowflake schema, fact and dimension table?
What is lookup transformation?
Name the two Integration Services Security Properties.
Which task will you use in a package to find corrupt or incomplete information in data?
What is the alternative for Data driven query task from DTS in SSIS?
What are some ways in which a connection task can be set dynamically within an SSIS
package?
What is a UDL and what advantages does it have?
Universal Data Link defines a data source. Advantages are portability, so that moving
packages from environments is easier since data source information is stored in the UDL on
each machine. For UDLs should you use Windows or SQL Server authentication? Since the
UDL is an unencrypted text file you should use Windows Authentication otherwise the stored
password is not secure.
What is ragged right format in flat files?
Flat files with spaces at the end of the specifications are typically difficult to process in some
ETL platforms. The Ragged Right option in SSIS provides a way to handle these easily without having
to run the file through a Script Task to put a character into a consistent spot, or having the
origination system reformat their extract files.

New feature in SSIS 2008 vs SSIS 2005?


New feature in SSIS 2012 vs SSIS 2008?

Explain parallel Execution and no of package can participate.


Difference between Checkpoint and Breakpoint ?
How to run your SSIS package on a schedule?
What is the difference between Conditional Split and Multicast Transformation?

How to use Stored Procedure in SSIS package in dataflow task?


How to remove duplicate record in SSIS?
How can a Data driven query task from DTS be implemented using the SSIS transform
objects?
One way to implement this functionality is to use a lookup component to determine if
certain data exists (the select query of DDQ), then to redirect rowsets based on failure
(data does not exist) or success (data does exist) of the lookup component to the
appropriate data operation (insert/update/etc.).
What are the four (4) migration tools available to Integration Services package designers
that aid in migrating SQL Server 2000 DTS packages?
The four migration tools are: DTS 2000 Runtime Engine, DTS 2000 Package Task, DTS
2000 Upgrade Advisor, and the DTS Package Migration Wizard

Anda mungkin juga menyukai