You are on page 1of 34

SSAS Interview questions:

http://www.mssqltips.com/sqlservertip/2683/sql-server-analysis-services-
interview-questions-on-dimensions-hierarchies-and-properties/

Problem
Dimensions are a very important component of an OLAP Solution/Cube in SQL Server
Analysis Services. Hence it is good to have a fair amount of knowledge/understanding on the
Dimensions, its properties, and its sub components like Attributes, Hierarchies etc.

Solution
In the first tip of this series, I covered some of the Questions on Basic Concepts, Data
Sources, and Data Source Views in SQL Server Analysis Services. And in the second tip, I
covered some of the Questions on General Dimension Concepts and Types of Dimensions. In
this third tip, I will be covering some of the questions on Dimensions, its properties, and its
components like Attributes, Hierarchies etc. within SQL Server Analysis Services.

What are Database Dimension and Cube Dimension? What is the difference
between them?

A Database Dimension is a Dimension which exists independent of a Cube. You can see a
Database Dimension as a separate entity/file in the Solution Explorer/Project Folder. An
analogy, this is pretty similar to a Class in a Programming Language.

A Cube Dimension is an Instance of a Database Dimension. An analogy, this is pretty similar


to an Object (Instance of a Class) in a Programming Language.

Here are some of the highlights/differences of Database and Cube Dimensions:

A Database Dimension is independent of a Cube, but a Cube Dimension is always a


part of a Cube.

One Database Dimension can be added to a Cube more than once (Role-Playing
Dimension) as different instances. In this scenario, each Instance is treated as a
separate Cube Dimension.

A Database Dimension can be added to more than one Cube, whereas a Cube
Dimension can belong to a Single Cube at any given point.

What is a Linked Dimension? In what scenarios do you use it?

A Linked Dimension is a Dimension which is based on (Linked To) another Database


Dimension which might be either located on the same Analysis Services server as the Linked
Dimension or on a different Analysis Services server.
Linked Dimensions can be used when the exact same dimension can be used across multiple
Cubes within an Organization like a Time Dimension, Geography Dimension etc.

Here are some of the highlights of a Linked Dimension:

More than one Linked Dimension can be created from a Single Database Dimension.

These can be used to implement the concept of Conformed Dimensions.

For an end user, a Linked Dimension appears like any other Dimension.

What are the different ways to create a Time Dimension in Analysis Services?

Time Dimension is one of the most important and most common type of dimensions as pretty
much every metric is analyzed over time. Analysis Services offers following different ways to
create a Time Dimension:

Create Using an Existing Table: This is one of the common approaches for building a
Time Dimension. In this approach, a table is created in the underlying data source and
pre-populated with data and it is then used to create the Time Dimension in SSAS.

Generate a Time Table in the Data Source: In this approach there will be no
underlying table and at the time of creation of a Time Dimension in SSAS, Analysis
Services creates a table in the underlying data source (relational database) and
populates it with the required data using the date range, attributes, and calendars etc.
which are specified at the time of creation of Time Dimension in Business
Intelligence Development Studio. This option requires permissions to create a table in
the underlying data source.

Generate a Time Table on the Server: In this approach there will be no underlying
table and at the time of creation of a Time Dimension in SSAS, Analysis Services
creates a table on the server and this table is used to generate the Time Dimension by
the wizard. The Dimension created using this approach is called a Server Time
Dimension.

What is Type property of a Dimension? What is the purpose of setting this


property?

Type property of a Dimension is used to specify the type of information that the Analysis
Services Dimension contains. Like a Time Dimension (Contains Years, Quarters, Months,
Dates, and so on), Geography Dimension (Contains Geographical Information), and Accounts
Dimension (Contains Accounts related information) etc. This property is set to Regular by
default.

There are basically two important uses of setting this property:

This property is used by the Business Intelligence Wizard to assign/generate standard


classification/MDX expressions.
This property is used by the Analysis Services Client Applications like Excel etc. to
adjust the user interface/rendering format appropriately. For example, when a
dimension is added to a Pivot Table in Excel, certain types of dimensions are
automatically added across the columns axis (like Time Dimension) and a few other
types of dimensions are added to the rows axis (Like Product Dimension)
automatically.

What is a Storage Mode? What are the different storage modes applicable to
Dimensions?

A Storage Mode defines the location in which the Dimension data will be stored and the
format (Relational or Multidimensional) in which the data will be stored.

Following are the two Storage Modes supported by Dimensions:

ROLAP (Relational On-Line Analytical Processing):

o When the Storage Mode is set to ROLAP for a Dimension, then the
Dimension Data will be stored in the relational database tables.

o This storage Mode offers effective memory usage by avoiding duplication of


data compared to MOLAP Storage Mode.

o Using this Storage Mode will result in a slowdown in the query performance
compared to MOLAP Storage Mode.

MOLAP (Multidimensional On-Line Analytical Processing):

o When the Storage Mode is set to MOLAP for a Dimension, then the
Dimension Data will be stored in a multidimensional format in the Analysis
Services/OLAP Server.

o This Storage Mode offers poor memory usage as it involves duplication of


data (first copy is the data in the underlying dimensional tables and the second
copy is the data in the Dimension in the OLAP Server).

o Using this Storage Mode will result in best query performance compared to
any other Storage Modes available in SSAS.

What is the difference between Attribute Hierarchy and User Defined


Hierarchy?

An Attribute Hierarchy is a Hierarchy created by SQL Server Analysis Services for every
Attribute in a Dimension by default. An Attribute by default contains only two levels - An
"All" level and a "Detail" level which is nothing but the Dimension Members.

A User Defined Hierarchy is a Hierarchy defined explicitly by the user/developer and often
contains multiple levels. For example, a Calendar Hierarchy contains Year, Quarter, Month,
and Date as its levels.
Here are some of the highlights/differences of Attribute and User Defined Hierarchies:

Attribute Hierarchies are always Two-Level (Unless All Level is suppressed) whereas
User Defined Hierarchies are often Multi-Level.

By default, Every Attribute in a Dimension has an Attribute Hierarchy whereas User


Defined Hierarchies have to be explicitly defined by the user/developer.

Every Dimension has at least one Attribute Hierarchy by default whereas every
Dimension does not necessarily contain a User Defined Hierarchy. In essence, a
Dimension can contain zero, one, or more User Defined Hierarchies.

Attribute Hierarchies can be enabled or disabled. Disable the Attribute Hierarchy for
those attributes which are commonly not used to slice and dice the data during
analysis, like Address, Phone Number, and Unit Price etc. Doing this will improve the
cube processing performance and also reduces the size of the cube as those attributes
are not considered for performing aggregations.

Attribute Hierarchies can be made visible or hidden. When an Attribute Hierarchy is


hidden, it will not be visible to the client application while browsing the
Dimension/Cube. Attribute Hierarchies for those attributes which are part of the User
Defined Hierarchies, like Day, Month, Quarter, and Year, which are part of the
Calendar Hierarchy, can be hidden, since the attribute is available to the end users
through the User Defined Hierarchy and helps eliminate the confusion/redundancy for
end users.

What is an Attribute Relationship? What are the different types of Attribute


Relationships?

An Attribute Relationship is a relationship between various attributes within a Dimension. By


default, every Attribute in a Dimension is related to the Key Attribute. Quite often these
default Attribute Relationships need to be modified to suit the User Defined Hierarchies and
other end user requirements.

There are basically two types of Attribute Relationships:

Rigid: Attribute Relationship should be set to Rigid when the relationship between
those attributes is not going to change over time. For example, relationship between a
Month and a Date is Rigid since a particular Date always belongs to a particular
Month like 1st Feb 2012 always belongs to Feb Month of 2012. Try to set the
relationship to Rigid wherever possible.

Flexible: Attribute Relationship should be set to Flexible when the relationship


between those attributes is going to change over time. For example, relationship
between an Employee and a Manager is Flexible since a particular Employee might
work under one manager during this year (time period) and under a different manager
during next year (another time period).
What are KeyColumns and NameColumn properties of an Attribute? What is
the different between them?

KeyColumns is a property of an SSAS Dimension Attribute and it forms the Key (Unique)
for the attribute. It can be bound to one or more columns in the underlying database table.
When User Defined Hierarchies are created in the dimension (Attribute Relationships
defined), setting this property becomes very critical and often requires setting this to a
combination of more than one column from the Data Source View. For Example, say you
have a Date Dimension and a hierarchy called Calendar Hierarchy (Year -> Quarter ->
Month). Now what happens is that, Month gets repeated across different quarters and quarters
get repeated across different years making the attribute as non-unique (like January can
belong to Q1 of any year and similar Q1 can belong to any year). So to make the attribute
unique, KeyColumns for Month should be set to something like Year and Month and
similarly for Quarter should be set to Year and Quarter.

A NameColumn is a property of an SSAS Dimension Attribute and it is used to identify the


column from the underlying Data Source View which provides the name of the attribute
which is displayed to the end user by making it more user friendly instead of displaying the
Key Column value. For Example, you might have ProductCategoryKey as 1, 2, 3, & 4, and
ProductCategoryName as Bikes, Components, Clothing, & Accessories respectively. Now,
NameColumn will be set to ProductCategoryName so that user sees them as Bikes,
Components etc. even though the data in the background is processed/retrieved using the Key
Column values as 1, 2 etc.

Here are some of the highlights/differences of KeyColumns and NameColumn properties:

KeyColumns property is defaulted to the Attribute itself, and the NameColumn


property is defaulted to Key Column (when the KeyColumns is set to only one
column).

Column(s) provided in the KeyColumns should be able to uniquely identify all the
values of the respective attribute, whereas NameColumn need not be unique.

KeyColumns can contain one or more columns whereas NameColumn can contain
only one column.

What is an Unknown Member? What is its significance?

An Unknown Member is a built-in member provided by SQL Server Analysis Services. It


represents a Missing or Null value. Basically when a Dimension is Processed, Analysis
Services populates each of the attributes with distinct values from the underlying data source
and in this process, if it encounters Null value then it converts them appropriately (to 0 in
case of numeric columns and to empty string in case of string columns) and marks them as
Unknown Member for easy interpretation by the end user.

One of the important uses of an Unknown Member is to handle Early Arriving Facts. This is a
scenario, in which the transactional record (Fact) would have come into the system but the
corresponding Dimension/Contextual data is yet to come in which could be due to various
reasons like Improperly Designed Data Load Process, Failure in the ETL Process, and a
Technical Glitch in the transactional system causing delay in pushing the Dimension Data.

Unknown Member can be enabled or disabled (set to None) or set to Visible or Hidden based
on the end user requirements.

What are Dimension Translations? In what scenarios do you use them?

Translation in SSAS is a mechanism to support Localization, in which the labels, names, and
captions associated with any SSAS Object (pretty much every SSAS Object supports
Translations) are translated from one language to another language based on the
country/language of the user accessing the data. A Dimension Translation is same as
Translation in SSAS, but in this case the labels, names, and captions associated with
Dimensions, Attributes, Hierarchies, and/or Dimension Members are translated from one
language to another language.

Translations are very useful in achieving higher level of adoption of the BI/Analytics system
(SSAS). This will eliminate the language barriers among users from different
locations/languages and presents the same information in different languages making single
version of truth available to users across different geographical locations.

Here are some of the highlights of Dimension Translations:

There can be multiple Translations associated with a single Dimension, Attribute,


Hierarchy, and Dimension Member etc.

The collation and language settings/information from the client application/computer


is used to determine and provide the analysis services metadata/data to the client
application.

Next Steps
Check out the SQL Server Analysis Services tutorial

Check out the Questions on Basic Concepts, Data Sources, and Data Source Views

Check out the Questions on General Dimension Concepts and Types of Dimensions

Check out the following additional resources:

o DBA Interview Questions

o Developer Interview Questions

o SQL Server Analysis Service Tips

o Integration Services Analysis Services Tasks


Ssrs: parameter visibility: visible hidden internal

http://dattatreysindol.com/2012/04/23/ssrs-understanding-report-parameter-
visibility/

SSAS Interview Questions on Deployment,


Processing, Querying, and Accessing
By: Dattatrey Sindol | Read Comments (4) | Related Tips: More > Interview
Questions Developer
You Inherited a SQL Server Database, Now What? Register now because space is limited.

Problem
Building SSAS solutions is one part of the battle when delivering BI solutions to the users.
Another part of the battle is to deploy and process those solutions making them highly
available and accessible via different reporting tools. Having a good understanding on these
aspects of delivering SSAS solutions to the users is very important and one of the major focus
areas for SSAS interviews. Read on to check out the next installment of the SSAS interview
questions.

Solution
In the previous tips of this series, I covered questions on basic concepts related to Data
Sources, Dimensions, Measures, Actions, Storage, Aggregations, Translations, Perspectives,
and Security. In this sixth and last tip of the Analysis Services interview questions and
answers series, I will be covering questions on deployment, processing, querying, and
accessing SSAS solutions.

What are the deployment options available in SSAS?

Below are the different options to deploy a SSAS solution to an OLAP Server:

Business Intelligence Development Studio (BIDS): This is one of the primary tools
used for developing SQL Server BI solutions and is the most frequently used IDE by
the developer community in SQL Server 2008. BIDS can be used to deploy the SSAS
Objects/Solutions. BIDS was replaced by the SQL Server Data Tools in SQL Server
2012, but has much of the same functionality.

Analysis Services Deployment Wizard: Analysis Services Deployment Wizard is a


tool included as part of the SSAS installation and can be used to deploy the SSAS
objects/solutions.

XML for Analysis Services (XMLA): It is used for deploying the SSAS objects to
the OLAP Server. Apart from deployment purposes, XMLA scripts can be used for
various other purposes like managing SSAS objects, creating/modifying SSAS objects
and processing SSAS objects, etc. It is also known as the Analysis Services Scripting
Language (ASSL).

What is processing in SSAS?

Processing is the process to load data into SSAS objects like Cubes, Partitions, and
Dimensions, etc. on the OLAP Server with the data from the underlying relational data
warehouse. As part of the processing step(s), aggregations are performed, data is loaded into
one or more pre-defined partitions and various actions, which involve data modifications are
performed in this step. The processed data is stored into respective locations like the OLAP
Server, relational data warehouse, etc. depending on the Storage Mode defined for the
different objects.

What is database synchronization in SSAS? What is its advantage?

Database synchronization is the process of updating the data and metadata in a database
based on the target SSAS Server based on the data and metadata from the source SSAS
Server. Analysis Services offers a tool called the "Synchronize Database Wizard" to
synchronize databases on two different SSAS databases.

The primary advantage of a database synchronization via the Database Synchronization


Wizard is that, while the databases are being synchronized by the wizard, the destination
database continues to be available and the users can access the database as usual. Once the
synchronization is completed, Analysis Services drops the out dated copy (old database) and
switches automatically to the new database which has been updated.

What are the different processing modes available in SSAS? Explain each one
of them.

Below are the processing options available in SSAS:

Process Add: This processing mode is available for Dimensions, Measure Groups
and Partitions. When this processing mode is applied to Dimensions, it adds new
members into the dimensions from the underlying database and updates the
descriptions of the attributes. When this processing mode is applied to Measure
Groups and Partitions, it adds the incremental fact data into the cube and processes
only the affected partitions.

Process Clear: This processing mode is available for Dimensions, Measure Groups,
Partitions, Cubes, Mining Models and Structures as well as OLAP (SSAS) databases.
This processing mode is used to remove the data from an Analysis Services object.
Data is removed from an object and all the subsequent child level objects.

Process Clear Structure: This processing mode is available only for Mining
Structures as part of the Data Mining component of SSAS. This processing mode is
used to clear the training data previously loaded into a mining structure.
Process Data: This processing mode is available for Dimensions, Measure Groups,
Partitions, and Cubes. This processing mode is used to process the data without
actually building or creating the aggregations and indexes.

Process Default: This processing mode is available for Dimensions, Measure Groups,
Partitions, Mining Models and Structures, Cubes, and OLAP (SSAS) databases. When
this process is applied to any of these objects, it first determines the current state of
the object from a processing standpoint and then does the necessary processing to
bring the object to current/fully processed state.

Process Full: This processing mode is available for Dimensions, Measure Groups,
Partitions, Mining Models and Structures, Cubes, and OLAP (SSAS) Databases.
When this processing mode is applied to an object, the object itself and all the
subsequent lower level objects are fully processed. The data is cleared from an object
if it already has some previously processed data.

Process Index: This processing mode is available for Dimensions, Measure Groups,
Partitions, and Cubes. This option works only on the processed objects and for
unprocessed objects you will get an error. When applied on any processed objects, it
creates aggregations and indexes if they don't already exist. It recreates them if they
already exist.

Process Structure: This processing mode is available for Mining Structures and
Cubes. When this processing mode is applied to a cube, it creates the cube structure
and it also processes the cube dimensions if they are not already processed. This
processing mode loads the data into the Mining Structure, when applied on it.

Process Update: This processing mode is available only for Dimensions. When this
processing mode is used, it freshly reads all the dimension data from the database and
updates the data in the dimension.

What are the different ways to process objects in SSAS?

SSAS objects can be processed using various techniques. The following are the most popular
tools and techniques used to process objects in SSAS:

SQL Server Integration Services (SSIS): Analysis Service Processing Task in SSIS
can be used to process SSAS objects.

Business Intelligence Development Studio (BIDS): SSAS Objects can be processed


via Business Intelligence Development Studio from within the SSAS Project. BIDS
was replaced by the SQL Server Data Tools in SQL Server 2012, but has much of the
same functionality.

SQL Server Management Studio (SSMS): SQL Server Management Studio can be
used in multiple ways to process SSAS objects.

o Object Explorer: Using SSMS, one can directly connect to Analysis Services
Server and process the objects through the Object Explorer (GUI).
o XMLA: An XML for Analysis Services (XMLA) script can be executed
directly in SSMS to process the SSAS objects.

o SQL Server Agent: An XMLA script can be executed using a SQL Server
Agent Job which also helps in scheduling the script to perform the processing
during off hours.

Command Line: SSAS offers the following two command line utilities which can be
used to process SSAS objects:

o Power Shell: Power Shell is a well known and very powerful command line
utility which is part of SQL Server. It can be used to process SSAS objects.
Apart from this, Power Shell can be used to perform various other operations
within SQL Server.

o ascmd: The ascmd utility can be used to execute XMLA scripts as well as
MDX and DMX queries against an instance of SSAS. Using this utility, one
can execute the relevant scripts to process the SSAS objects.

Programmatically: Analysis Management Objects (AMO) is a collection of SSAS


management classes, which can be used for processing SSAS objects. Apart from this,
AMO can be used for various management activities in SSAS.

What are the programmability options available in SSAS?

In Analysis Services there are two major programmability options: AMO and ADOMD.NET.

AMO (Analysis Management Objects) is a set of classes used for managing an Analysis
Services instance and can be used to perform various management activities related to SSAS.
Using AMO, the following operations can be performed on the SSAS objects:

Creation

Modification

Deletion

Processing

With AMO, one cannot query the SSAS objects. To query the data from SSAS
programmatically, one can use ADOMD.NET which is a .NET based data provider. It is
primarily used to communicate with SSAS and uses Multidimensional Expressions (MDX),
Data Mining Extensions (DMX), and Analysis Services Scripting Language (ASSL), etc.
commands to query the data.

What are the different querying and programming languages supported by


SSAS?
The following languages are supported by SSAS:

T-SQL: Transact-SQL queries can be used to query certain aspects of SSAS.

MDX: It stands for Multidimensional Expressions. MDX queries are the primary
means of querying data in SSAS.

DMX: It stands for Data Mining Extensions. DMX is used for queries related to Data
Mining in SSAS.

AMO: It stands for Analysis Management Objects. It is .NET based and can be used
to manage SSAS objects, creating/modifying/deleting SSAS objects and
implementing security in certain scenarios.

What are the different tools used for accessing cubes?

Here is a list of different tools which are used for accessing Cubes in Analysis Services:

Business Intelligence Development Studio (BIDS): BIDS is used to access the cube
and preview the data at the design time. This option is useful only for the developer
community and is not applicable to business analysts and decision makers. BIDS was
replaced by the SQL Server Data Tools in SQL Server 2012, but has much of the same
functionality.

SQL Server Management Studio (SSMS): SSMS is used to access the cube by
people in different roles. It is used to access the cube by the development/testing
teams to validate the data. Those business analysts and decision makers (very few)
who are familiar with SSMS; also use it for accessing the cubes.

Microsoft Office Excel: Excel being one of the most widely used data analysis tool,
has the capability to connect to cubes and perform different kinds of reporting such as
pivot tables, charts, etc. It is used by many decision makers, business analysis, and
even developers for reporting purposes.

SQL Server Reporting Services (SSRS): SSRS allows Analysis Services databases
or cubes as a data source to build reports. This option is available both in BIDS\SQL
Server Data Tools while building canned reports and in Report Builder while doing
ad-hoc reporting.

PerformancePoint Services (PPS): PPS which is now a part of SharePoint 2010


allows building KPIs, scorecards, reports, and dashboards with Analysis Services
cubes as data source.

These are the major tools in the Microsoft BI stack which support Analysis Services data
sources. Apart from these, there are various third party tools which support Analysis Services
as a data source.
How do you capture which users are connecting to SSAS, which objects of
SSAS are being used, which queries are being executed, etc.?

Analysis Services offers Dynamic Management Views (DMV), which are along the same
lines as the DMVs for the relational database engine. Using the DMVs is the most common
approach to capturing these statistics and to monitor the current status of the SSAS server.
With the SSAS DMVs, one can capture various statistics including:

Utilization of resources such as CPU, memory, etc.

Usage of aggregations, hierarchies, and other components of SSAS.

Who is connecting to the OLAP database and what are the different objects being
used.

Queries being executed by the users, time taken for executing different user queries,
and so on.

Next Steps
Check out the other tips in this series with questions on:

o Basic Concepts, Data Sources, and Data Source Views

o General Dimension Concepts and Types of Dimensions

o Dimensions, Hierarchies, and Related Properties

o Measures, Actions, and Storage

o Aggregations, Translations, Perspectives, and Security

Check out the SQL Server Analysis Services tutorial

Check out the following additional resources:

o SSAS - Best Practices and Performance Optimization: Part1 | Part2 | Part3 |


Part4

o Developer Interview Questions

o DBA Interview Questions

Check out my previous tips


Last Update: 8/31/2012

About the author

Datta has over 5 years of experience in the IT industry working with SQL Server, SSIS,
SSAS, SSRS.

View all my tips


We Recommend

Saturday, September 01, 2012 - 5:21:07 AM - Sreenivas Reddy Read The Tip

Thanks providing the great tips these tips are great help full for me

Friday, October 12, 2012 - 7:01:43 AM - Mostafa shafeian Read The Tip

hi

thanks for these tips.

Thursday, November 01, 2012 - 7:48:11 PM - VKK Read The Tip


Q)How to get the list of DMVs?
A) Connect to Analysis Service using SSMS and run the below query:

SELECT * FROM $System.DBSchema_Tables


WHERE TABLE_TYPE = 'SCHEMA'
ORDER BY TABLE_NAME ASC

Q) How to get connected session details:


A) Connect to Analysis Service using SSMS and run the below query:
SELECT *
FROM $System.discover_sessions
http://www.msbiconcepts.com/2010/11/interview-questions-for-sql-server.html

I have received lot of mails from my readers for SSAS interview questions. This gave
me idea to list down all the analysis services question here on my blog so everyone
can be benefited. This question set is applicable for SQL server analysis service 2005
( SSAS 2005) and SQL server analysis services 2008 (SSAS 2008). This post divides
interview questions into different categories for your convenience:

Design & Development


Question1: What do you understand by attribute relationship? what are the main
advantages in using attribute relationship? Are there any changes in implementation
of attribute relationship from SSAS 2005 to SSAS 2008?

Question2: What is natural hierarchy and how will you create it?

Question3: What do you understand by rigid and flexible relationship? Which one
is better from performance perspective?

Question4: In which scenario, you would like to go for materializing dimension?

Question5: In dimension usage tab, how many types of joins are possible to form
relationship between measure group and dimension?

Question6: What are role playing dimensions?

Question7: Can you create server time dimension in analysis services(Server time
dimension)?

Question8: How many types of dimension are possible in SSAS?

Question9: What is time intelligence? How will you implement in SSAS?

Question10: What do you understand by linked cube or linked object feature in


SSAS?

Question11: How will you write back to dimension using excel or any other client
tool?

Question12: What do you understand by dynamic named set (SSAS 2008)? How is
i different from static named set?

Question13: In Process Update, which relationship will be better(Rigid and Flexible


relationship)?

Question14: What is the difference between "ProcessingGroup" ByAttribute and


ByTable?
Question15: What do you understand by following properties of dimension
attribute:

1. Default Member

2. AttributeHierarchyEnabled

3. AttributeHierarchyOptimizedState

4. DiscretizationMethod

5. OrderBy

6. OrderByAttribute

Advanced Features
Question1: What are different storage mode option in SQL server analysis services
and which scenario, they will be useful?

Question2: How will you implement data security for given scenario in analysis
service data?

"I have 4 cubes and 20 dimension. I need to give access to CEO, Operation managers
and Sales managers and employee.
1) CEO can see all the data of all 4 cubes.
2) Operation Managers can see only data related to their cube. There are four
operation managers.
3) Employees can see only certain dimension and measure groups data. (200
Employees) "

Question3: What are the options to deploy SSAS cube in production?

Question4: What are the options available to incrementally load relational data
into SSAS cube?

Question5: Have you implemented ROLAP storage mode in your earlier projects?
What are the prerequisite for it?

Question6: Why will you use aggregation at remote server?

Question7: What are different ways to create aggregations in SSAS?

Question8: What do you understand by Usage based optimization?

Question9: Can we use different aggregation scheme for different partitions?

Question10: Why will you use perspective in SSAS?


Question11: What are KPIs? How will you create KPIs in SSAS?

Question12: What are the main feature differences in SSAS 2005 and SSAS 2008
from developer point of view?

Question13:What are the aggregate functions available for measure in SSAS?

Question14: How will you keep measure in cube without showing it to user?

Question15: What are the processing modes available for measure group? What do
you understand by lazy aggregation?

Performance
Question1: How can you improve dimension design in SSAS 2005?

Question2: What are the performance issues with parent child hierarchy?

Questions3: What do you understand by formula engine and storage engine?

Question4: How can you improve overall cube performance?

SSIS Interview Questions

Common search for new SSIS programmer looking for change is what
questions to expect on SSIS. Based on the interviews I take on SSIS, I
will list down my favorites and expected questions on SSIS.

Q1 Explain architecture of SSIS?


SSIS architecture consists of four key parts:
a) Integration Services service: monitors running Integration Services
packages and manages the storage of packages.
b) Integration Services object model: includes managed API for
accessing Integration Services tools, command-line utilities, and custom
applications.
c) Integration Services runtime and run-time executables: it saves
the layout of packages, runs packages, and provides support for logging,
breakpoints, configuration, connections, and transactions. The Integration
Services run-time executables are the package, containers, tasks, and
event handlers that Integration Services includes, and custom tasks.
d) Data flow engine: provides the in-memory buffers that move data
from source to destination.
Q2 How would you do Logging in SSIS?
Logging Configuration provides an inbuilt feature which can log the detail
of various events like onError, onWarning etc to the various options say a
flat file, SqlServer table, XML or SQL Profiler.

Q3 How would you do Error Handling?


A SSIS package could mainly have two types of errors
a) Procedure Error: Can be handled in Control flow through the
precedence control and redirecting the execution flow.
b) Data Error: is handled in DATA FLOW TASK buy redirecting the data
flow using Error Output of a component.

Q4 How to pass property value at Run time? How do you


implement Package Configuration?
A property value like connection string for a Connection Manager can be
passed to the pkg using package configurations.Package Configuration
provides different options like XML File, Environment Variables, SQL
Server Table, Registry Value or Parent package variable.

Q5 How would you deploy a SSIS Package on production?


A) Through Manifest
1. Create deployment utility by setting its propery as true .
2. It will be created in the bin folder of the solution as soon as package is
build.
3. Copy all the files in the utility and use manifest file to deply it on the
Prod.
B) Using DtsExec.exe utility
C)Import Package directly in MSDB from SSMS by logging in Integration
Services.

Q6 Difference between DTS and SSIS?


Every thing except both are product of Microsoft :-).

Q7 What are new features in SSIS 2008?


explained in other post
http://sqlserversolutions.blogspot.com/2009/01/new-
improvementfeatures-in-ssis-2008.html

Q8 How would you pass a variable value to Child Package?


too big to fit here so had a write other post
http://sqlserversolutions.blogspot.com/2009/02/passing-variable-to-child-
package-from.html

Q9 What is Execution Tree?


Execution trees demonstrate how package uses buffers and threads. At
run time, the data flow engine breaks down Data Flow task operations
into execution trees. These execution trees specify how buffers and
threads are allocated in the package. Each tree creates a new buffer and
may execute on a different thread. When a new buffer is created such as
when a partially blocking or blocking transformation is added to the
pipeline, additional memory is required to handle the data transformation
and each new tree may also give you an additional worker thread.

Q10 What are the points to keep in mind for performance


improvement of the package?
http://technet.microsoft.com/en-us/library/cc966529.aspx

Q11 You may get a question stating a scenario and then asking
you how would you create a package for that e.g. How would you
configure a data flow task so that it can transfer data to different
table based on the city name in a source table column?

Q13 Difference between Unionall and Merge Join?


a) Merge transformation can accept only two inputs whereas Union all can
take more than two inputs

b) Data has to be sorted before Merge Transformation whereas Union all


doesn't have any condition like that.

Q14 May get question regarding what X transformation do?


Lookup, fuzzy lookup, fuzzy grouping transformation are my
favorites.
For you.

Q15 How would you restart package from previous failure point?
What are Checkpoints and how can we implement in SSIS?
When a package is configured to use checkpoints, information about
package execution is written to a checkpoint file. When the failed package
is rerun, the checkpoint file is used to restart the package from the point
of failure. If the package runs successfully, the checkpoint file is deleted,
and then re-created the next time that the package is run.

Q16 Where are SSIS package stored in the SQL Server?


MSDB.sysdtspackages90 stores the actual content and ssydtscategories,
sysdtslog90, sysdtspackagefolders90, sysdtspackagelog, sysdtssteplog,
and sysdtstasklog do the supporting roles.

Q17 How would you schedule a SSIS packages?


Using SQL Server Agent. Read about Scheduling a job on Sql server Agent

Q18 Difference between asynchronous and synchronous


transformations?
Asynchronous transformation have different Input and Output buffers and
it is up to the component designer in an Async component to provide a
column structure to the output buffer and hook up the data from the
input.

Q19 How to achieve parallelism in SSIS?


Parallelism is achieved using MaxConcurrentExecutable property of the
package. Its default is -1 and is calculated as number of processors + 2.

-More questions added-Sept 2011


Q20 How do you do incremental load?

Fastest way to do incremental load is by using Timestamp column in


source table and then storing last ETL timestamp, In ETL process pick all
the rows having Timestamp greater than the stored Timestamp so as to
pick only new and updated records

Q21 How to handle Late Arriving Dimension or Early Arriving


Facts.

Late arriving dimensions sometime get unavoidable 'coz delay or error in


Dimension ETL or may be due to logic of ETL. To handle Late Arriving
facts, we can create dummy Dimension with natural/business key and
keep rest of the attributes as null or default. And as soon as Actual
dimension arrives, the dummy dimension is updated with Type 1 change.
These are also known as Inferred Dimensions.
Might want to read SSRS Interview Questions

Select ALL in parameter of SSRS report

Select ALL as parameter value is one of the most common functionality which most of the
reports have and there are number of ways to implement it.

I will explain below the way I do it and I find easiest. The driver of the solution is CASE
option under WHERE clause of SELECT DataSet Query.

SELECT * FROM TableName


WHERE
(
CASE
WHEN @RepParam <> 'ALL' AND ColName= @RepParam THEN 1
WHEN @RepParam= 'ALL' THEN 1
END
)=1;

Lets see it through an simple Student Table example where we will Select student either on
the basis of the Grade they are in or select all of them.

1. Records in Student table are


2. Create a simple report with DataSet Student as SELECT * FROM Student;

3. To add the Grade parameter and option for Select ALL

3.a. Create a DataSet for available Grades for Report parameter

3.b. Configure a Report parameter "Grade" as

3.c. Modify query for Student Dataset to allow filtering on Grades as


4.a. Run the Report for ALL grades

4.b. Run the Report for grade - X

Cheers!!

Posted by Rahul Kumar at Tuesday, March 22, 2011


Labels: SSRS

SSRS--SSIS INTERVIEW QUESTIONS

SSRS INTERVIEW QUESTIONS

Question: Which versions of SSRS have you used?


Question: Have you got samples of your work?
Question: Do you have Data Visualization skills? (optional)
Question: How have you learnt SSRS (on the job, articles, books, conferences)
Question: How do you normally create reports (wizard/manually)?
Question: What languages have you used to query data for SSRS Reports?
Question: Gives examples where you used parameters?
Question: What types of graphs do you normally use and what effects do you apply to them?

Question: Have you used custom assemblies in SSRS? If Yes give an example
Question: Can you update report data using SSRS?
Question: What is the formatting code (format property) for a number with 2 decimal places?

Below are "narrowed" questions:

Question: What does rdl stand for?

Question: How to deploy an SSRS Report?

Question: What is Report Manager?

Question: What is Report Builder?

Question: What permission do you need to give to users to enable them to use Report Builder?

Question: What do you need to restore report server database on another machine?

Question: Can you create subscription using windows authentication?

Question: What caching options do you have for reports on report server?

Question: How to find slow running reports?

Question: How can you make calendar available in report parameter?

Question: How to pass multi-valued parameter to stored procedure in dataset?

Question: Which functions are used to pass parameter to MDX query?

Question: How to create "dependent " parameter "Make, Model, Year"

Question: How to create "alternate row colour"?


Question: How to create percentile function?

Question: How to create median function?

Question: How to make conditional sum in SSRS?

Question: How to find a value in another dataset based on current dataset field (SSRS 2008 R2)?

Question: How to change parameter value inside the report?

Question: How to identify current user in SSRS Report?

General SSRS Questions


Question: Which versions of SSRS have you used?
Comment: Differences between 2005 and 2008 are quite big so if someone hasn't used 2008 or
2008 R2 before (or vice versa) than make sure you know this will require a few days to get up to
speed with the new/previous version. If the candidate used several versions ask to describe the
differences between them.

Question: Have you got samples of your work?


Comment: If SSRS is main skills for the role than it is worth asking for samples (before interview)
they will often tell you a lot about the candidate quality of work.

Question: Do you have Data Visualization skills? (optional)


Comment: If you need dashboards then it is worth asking this question (we will ask more specific
questions later). This is also related to previous question. When you review samples ask the
candidate or yourself two questions: What is the purpose? And is it useful? Someone who does not
know anything about data visualization will usually use pie charts, gauges (exception is bullet chart
which is classified as gauge in SSRS), 3D effects, make colourful designs (without any colour
meaning). Some candidates may mention Stephen Few or Edward Tufte and this normally is a big
plus.

Question: How have you learnt SSRS (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 vary in quality so best practise articles is a big plus+,
conferences can be also a plus.

SSRS Development open questions


Question: How do you normally create reports (wizard/manually)?
Comment: If wizard in most cases then you got rather inexperienced person, if manually than it is
usually good answer. The best answer is using a template. Generally developers create reports from
scratch which is not bad but it is not very efficient either.

Question: What languages have you used to query data for SSRS Reports?
Comment: Most answers will probably be SQL (TSQL). But T-SQL is not the only query language. If
someone build reports based on cubes before than they will say MDX. You can also query data from
other sources (not recommended) or use data mining expressions (DMX = advanced).

Question: Gives examples where you used parameters?


Comment: Typically you use parameters to filter data in datasets (or data on reports) but you can
also use them to restrict values like the well-known make->model->year example. You can also have
hidden and internal parameters which get very handy for more advanced stuff.

Question: What types of graphs do you normally use and what effects do you apply to them?
Comment: Good graph are bar, line, scatter, bullet graphs. Bad graphs are pie charts, area graphs,
gauges (apart from bullet graph which classified as gauge in SSRS). Effects should be limited to
minimum. Developers should avoid 3D effects, "glass" effect, shadows etc

SSRS Advanced questions


Question: Have you used custom assemblies in SSRS? If Yes give an example
Comment: This allows to re-use code in reports and it is not very common. Re-usability is good but
building dependencies is not so good so one small mistake might break all reports using it; so it
should be used with care.

Question: Can you update report data using SSRS?


Comment: This is not often used (and probably shouldn't be used in most cases) but it is possible.

Question: What is the formatting code (format property) for a number with 2 decimal places?
Comment: N2. Attention to details and good memory is always welcome.

SSRS interview "narrowed" questions


In this section I will give you fairly long list of short and narrowed questions:

Question: What does rdl stand for?

Answer: Report Definition Language

Question: How to deploy an SSRS Report?


Answer: Configure project properties (for multiple environments) and deploy from bids, upload
manually or use rs.exe for command line deployment.

Question: What is Report Manager?

Answer: Web based tool that allows to access and run reports.

Question: What is Report Builder?

Answer: Report Builder is a self-service tool for end users.

Question: What permission do you need to give to users to enable them to use Report Builder?

Answer: "Report Builder" role and "system user". Report builder should also be enable in report
server properties.

Question: What do you need to restore report server database on another machine?

Answer: SSRS Encryption key

Question: Can you create subscription using windows authentication?

Answer: No.

Question: What caching options do you have for reports on report server?

Answer: Do no cache, expiry cache after x minute, on schedule.

Question: How to find slow running reports?

Answer: Check ReportExecution table

Question: How can you make calendar available in report parameter?

Answer: Set parameter data type to date.

Question: How to pass multi-valued parameter to stored procedure in dataset?

Answer: Join function in SSRS and split function in T-SQL

Question: Which functions are used to pass parameter to MDX query?

Answer: StrToMember and StrToSet

Question: How to create "dependant" parameter "Make, Model, Year"

Answer: They need to be in correct order, and previous parameter should filter next parameter
dataset. For instance Model dataset should be filtered using Make parameter

Question: How to create "alternate row colour"?

Answer: use RowNumber and Mod function OR visit our tutorial.

Question: How to create percentile function?


Answer: Custom code is required. Visit our tutorial for more details.

Question: How to create median function?

Answer: Custom code is required. Visit our tutorial for more details.

Question: How to make conditional sum in SSRS?

Answer: IIF condition true then SUM else nothing. Visit our tutorial for more details

Question: How to find a value in another dataset based on current dataset field (SSRS 2008 R2)?

Answer: Use lookup function.

Question: How to change parameter value inside the report?

Answer: Set action. "Jump to itself" and pass different value for the parameter.

Question: How to identify current user in SSRS Report?

Answer: User!UserID

-----------------------------------------------------------------------------------------------------
Q1. WHAT is SQL Server Reporting Services(SSRS)?
SQL Server Reporting Services is a server-based reporting platform that you can use to create and
manage tabular, matrix, graphical, and free-form reports that contain data from relational and
multidimensional data sources. The reports that you create can be viewed and managed over a
World Wide Web-based connection

Q2. Architecture of SSRS:

-Admin

Q3. What are the three stages of Enterprise Reporting Life Cycle ?
a. Authoring
b. Management
c. Access and Delivery

Q4. What are the components included in SSRS?


1. A Complete set of Tools that can be used to create, manage and view reports
2. A Report Server component that hosts and processes reports in a variety of formats. Output
formats include HTML, PDF, TIFF, Excel, CSV, and more.
3.An API that allows developers to integrate or extend data and report processing in custom
applications, or create custom tools to build and manage reports.

Q5. What is the benefit of using embedded code in a report?


1. Reuseability of Code: function created in embedded code to perform a logic can be then used in
multiple expressions
2. Centralized code: helps in better manageability of code.

Q6. Which programming language can be used to code embedded functions in SSRS?
Visual Basic .NET Code.

Q7. Important terms used in the reporting services?

1. Report definition: The blueprint for a report before the report is processed or rendered. A
report definition contains information about the query and layout for the report.

2. Report snapshot: A report that contains data captured at a specific point in time. A report
snapshot is actually a report definition that contains a dataset instead of query instructions.

3. Rendered report: A fully processed report that contains both data and layout information, in a
format suitable for viewing (such as HTML).

4. Parameterized report: A published report that accepts input values through parameters.

5. Shared data source: A predefined, standalone item that contains data source connection
information.

6. Shared schedule: A predefined, standalone item that contains schedule information.

7. Report-specific data source: Data source information that is defined within a report
definition.

8. Report model: A semantic description of business data, used for ac hoc reports created in
Report Builder.

9. Linked report: A report that derives its definition through a link to another report.

10. Report server administrator: This term is used in the documentation to describe a user with
elevated privileges who can access all settings and content of a report server. If you are using the
default roles, a report server administrator is typically a user who is assigned to both the Content
Manager role and the System Administrator role. Local administrators can have elevated
permission even if role assignments are not defined for them.

11. Folder hierarchy: A bounded namespace that uniquely identifies all reports, folders, report
models, shared data source items, and resources that are stored in and managed by a report
server.

12. Report Server: Describes the Report Server component, which provides data and report
processing, and report delivery. The Report Server component includes several subcomponents
that perform specific functions.

13. Report Manager: Describes the Web application tool used to access and manage the contents
of a report server database.

14. Report Builder: Report authoring tool used to create ad hoc reports.

15. Report Designer: Report creation tool included with Reporting Services.
16. Model Designer: Report model creation tool used to build models for ad hoc reporting.

17. Report Server Command Prompt Utilities: Command line utilities that you can use to
administer a report server.
a) RsConfig.exe, b) RsKeymgmt.exe, c) Rs.exe

Q8. what are the Command Line Utilities available In Reporting Services?
Rsconfig Utility (Rsconfig.exe): encrypts and stores connection and account values in the
RSReportServer.config file. Encrypted values include report server database connection information
and account values used for unattended report processing
RsKeymgmt Utility: Extracts, restores, creates, and deletes the symmetric key used to protect
sensitive report server data against unauthorized access
RS Utility: this utility is mainly used to automate report server deployment and administration
tasks.Processes script you provide in an input file.

Q. How to know Report Execution History?


ExecutionLog table in ReportServer database store all the logs from last two months.
SELECT * FROM ReportServer.dbo.ExecutionLog

-Development
Q. What is difference between Tablular and Matrix report?
OR What are the different styles of reports?

Tablular report: A tabular report is the most basic type of report. Each column corresponds to a
column selected from the database.

Matrix report: A matrix (cross-product) report is a cross-tabulation of four groups of data:


a. One group of data is displayed across the page.
b. One group of data is displayed down the page.
c. One group of data is the cross-product, which determines all possible locations where the
across and down data relate and places a cell in those locations.
d. One group of data is displayed as the "filler" of the cells.
Martix reports can be considered more of a Pivot table.

Q. How to create Drill-through reports?


Using Navigation property of a cell and setting child report and its parameters in it.

Q. How to create Drill-Down reports?


To cut the story short:
- By grouping data on required fields
-Then toggle visibility based on the grouped filed
--------------------------------------------------------------------------------------------------------------
---------------------

1. You want to include an image in a report. How do you display the Image
Properties dialog box?
When you drag an image item from the Toolbox window to the Report Designer, the Image
Properties dialog box automatically opens.

2. You want to configure an amount to display the value in a currency format. Which
property do you use?
To configure an amount to display a value in a currency format, select the report item, and
then set the format property to C or c.
3. What are data regions?Data regions are report items that display repeated rows of
summarized information from datasets.

4. You want to generate a report that is formatted as a chart. Can you use the
Report Wizard to create such a report?
No, the Report Wizard lets you create only tabular and matrix reports. you must create the
chart report directly by using the Report Designer.

5. You want to use BIDS to deploy a report to a different server than the one you
chose in the Report Wizard. How can you change the server URL?
You can right-click the project in Solution Explorer and then change the Target-Server URL
property.

6. Which rendering formats are affected by the PageSize properties?Because only the
Adobe PDf file, Word, and Image rendering extensions use physical page breaks, they are
the only formats that are affected by the PageSize properties.

7. Can you use a stored procedure to provide data to an SSRS report?Yes, you can use
a stored procedure to provide data to an SSRS report by configuring the dataset to use a
stored procedure command type. However, your stored procedure should return only a
single result set. If it returns multiple result sets, only the first one is used for the report
dataset.

8. You want to use a perspective in an MDX query. How do you select the
perspective?Use the Cube Selector in the MDX Query Designer to select a perspective.

9. Can you use data mining models in SSRS?Yes, you can use the DMX Designer to
create data mining queries for SSRS reports. However, do not forget to flatten the result
set returned by the DMX query.

10. You want your report to display a hyperlink that will take users to your intranet.
How do you configure such a hyperlink?Create a text box item, set the action to Go To
URL, and then configure the URL.

11. You want a report to display Sales by Category, SubCategory, and Product. You
want users to see only summarized information initially but to be able to display
the details as necessary. How would you create the report?Group the Sales
information by Category, SubCategory, and Product. Hide the SubCategory group and set
the visibility to toggle based on the Category item. Hide the Product category group and
set the visibility to toggle based on the SubCategory item.

12. You want to create an Excel interactive report from SSRS. In SSRS, can you
create the same interactive experience in Excel that you would have on the
Web? No, you cannot create the same experience with SSRS. you can, however, use Excel
to create such an experience.
13. What is the main difference between a Matrix report item and a Table report
item? The main difference between a Matrix and a Table report item is in the initial
template. Actually, both report items are just templates for the Tablix data region.

14. When you do not use report caching, is it better to use parameters to filter
information in the query or to use filters in the dataset?From a performance
perspective, it is better to use parameters because they let SSRS pull filtered data from
the data source. In contrast, when you use filters, the queries retrieve all data and then
filter the information in an additional step.

15. How do you configure a running aggregate in SSRS?You can use the RunningValue
function to configure a running aggregate.

16. What is the main purpose of a report parameter?


The main purpose of a report parameter is to add interactivity to your reports, letting
users change the report behavior based on options they select.

17. What is the main purpose of a query parameter?


The main purpose of a query parameter is to filter data in the data source.

18. You want your users to select a parameter from a list of values in a list box. How
should you configure the parameter?
You should create a data source that contains the possible values and then bind the data
source to the parameter.

19. What is the main benefit of using embedded code in a report?The main benefit of
using embedded code in a report is that the code you write at the report level can be
reused in any expression in the report.

20. What programming language would you use to create embedded functions in
SSRS?
An SSRS report supports only visual Basic .nET embedded code.

---------------------------------------------------------------------------------------------------------

SSIS and SSRS Interview questions with Answers


1) What is the control flow
ANS: In SSIS a workflow is called a control-flow. A control-flow links together our modular data-flows
as a series of operations in order to achieve a desired result.

A control flow consists of one or more tasks and containers that execute when the package runs. To
control order or define the conditions for running the next task or container in the package control flow,
you use precedence constraints to connect the tasks and containers in a package. A subset of tasks
and containers can also be grouped and run repeatedly as a unit within the package control flow.
SQL Server 2005 Integration Services (SSIS) provides three different types of control flow elements:
containers that provide structures in packages, tasks that provide functionality, and precedence
constraints that connect the executables, containers, and tasks into an ordered control flow.
2) what is a data flow
ANS: A data flow consists of the sources and destinations that extract and load data, the
transformations that modify and extend data, and the paths that link sources, transformations, and
destinations. Before you can add a data flow to a package, the package control flow must include a
Data Flow task. The Data Flow task is the executable within the SSIS package that creates, orders,
and runs the data flow. A separate instance of the data flow engine is opened for each Data Flow task
in a package.

SQL Server 2005 Integration Services (SSIS) provides three different types of data flow components:
sources, transformations, and destinations. Sources extract data from data stores such as tables and
views in relational databases, files, and Analysis Services databases. Transformations modify,
summarize, and clean data. Destinations load data into data stores or create in-memory datasets.

3) how do you do error handling in SSIS


ANS: When a data flow component applies a transformation to column data, extracts data from
sources, or loads data into destinations, errors can occur. Errors frequently occur because of
unexpected data values.

For example, a data conversion fails because a column contains a string instead of a number, an
insertion into adatabase column fails because the data is a date and the column has a numeric data
type, or an expression fails to evaluate because a column value is zero, resulting in a mathematical
operation that is not valid.

Errors typically fall into one the following categories:

-Data conversion errors, which occur if a conversion results in loss of significant digits, the loss of
insignificant digits, and the truncation of strings. Data conversion errors also occur if the requested
conversion is not supported.
-Expression evaluation errors, which occur if expressions that are evaluated at run time perform
invalid operations or become syntactically incorrect because of missing or incorrect data values.
-Lookup errors, which occur if a lookup operation fails to locate a match in the lookup table.

Many data flow components support error outputs, which let you control how the component handles
row-level errors in both incoming and outgoing data. You specify how the component behaves when
truncation or an error occurs by setting options on individual columns in the input or output.

For example, you can specify that the component should fail if customer name data is truncated, but
ignore errors on another column that contains less important data.

4) How do you do logging in ssis.


ANS: SSIS includes logging features that write log entries when run-time events occur and can also
write custom messages.

Integration Services supports a diverse set of log providers, and gives you the ability to create custom
log providers. The Integration Services log providers can write log entries to text files, SQL Server
Profiler, SQL Server, WindowsEvent Log, or XML files.

Logs are associated with packages and are configured at the package level. Each task or container in
a package can log information to any package log. The tasks and containers in a package can be
enabled for logging even if the package itself is not.

To customize the logging of an event or custom message, Integration Services provides a schema of
commonly logged information to include in log entries. The Integration Services log schema defines
the information that you can log. You can select elements from the log schema for each log entry.

To enable logging in a package


1. In Business Intelligence Development Studio, open the Integration Services project that contains
the package you want.
2. On the SSIS menu, click Logging.
3. Select a log provider in the Provider type list, and then click Add.
5)what are variables and what is variable scope ?
ANS: Variables store values that a SSIS package and its containers, tasks, and event handlers can
use at run time. The scripts in the Script task and the Script component can also use variables. The
precedence constraints that sequence tasks and containers into a workflow can use variables when
their constraint definitions include expressions.

Integration Services supports two types of variables: user-defined variables and system variables.
User-defined variables are defined by package developers, and system variables are defined by
Integration Services. You can create as many user-defined variables as a package requires, but you
cannot create additional system variables.

Scope : A variable is created within the scope of a package or within the scope of a container, task, or
event handler in the package. Because the package container is at the top of the container hierarchy,
variables with package scope function like global variables and can be used by all containers in the
package. Similarly, variables defined within the scope of a container such as a For Loop container can
be used by all tasks or containers within the For Loop container.

6) True or False - Using a checkpoint file in SSIS is just like issuing the CHECKPOINT
command against the relational engine. It commits all of the data to the database.
ANS: False. SSIS provides a Checkpoint capability which allows a package to restart at the point of
failure.

7) True or False: SSIS has a default means to log all records updated, deleted or inserted on a
per table basis.
ANS: False, but a custom solution can be built to meet these needs.

8) What is a breakpoint in SSIS? How is it setup? How do you disable it?


ANS: A breakpoint is a stopping point in the code. The breakpoint can give the Developer\DBA an
opportunity to review the status of the data, variables and the overall status of the SSIS package.
10 unique conditions exist for each breakpoint.
Breakpoints are setup in BIDS. In BIDS, navigate to the control flow interface. Right click on the object
where you want to set the breakpoint and select the 'Edit Breakpoints...' option.

9) How do you eliminate quotes from being uploaded from a flat file to SQL Server?
ANS: In the SSIS package on the Flat File Connection Manager Editor, enter quotes into the Text
qualifier field then preview the data to ensure the quotes are not included.
Additional information: How to strip out double quotes from an import file in SQL Server Integration
Services

10) Can you explain how to setup a checkpoint file in SSIS?


ANS: The following items need to be configured on the properties tab for SSIS package:
CheckpointFileName - Specify the full path to the Checkpoint file that the package uses to save the
value of package variables and log completed tasks. Rather than using a hard-coded path as shown
above, it's a good idea to use an expression that concatenates a path defined in a package variable
and the package name.
CheckpointUsage - Determines if/how checkpoints are used. Choose from these options: Never
(default), IfExists, or Always. Never indicates that you are not using Checkpoints. IfExists is the typical
setting and implements the restart at the point of failure behavior. If a Checkpoint file is found it is
used to restore package variable values and restart at the point of failure. If a Checkpoint file is not
found the package starts execution with the first task. The Always choice raises an error if the
Checkpoint file does not exist.
SaveCheckpoints - Choose from these options: True or False (default). You must select True to
implement the Checkpoint behavior.

11) How do you upgrade an SSIS Package?


ANS: Depending on the complexity of the package, one or two techniques are typically used:
Recode the package based on the functionality in SQL Server DTS
Use the Migrate DTS 2000 Package wizard in BIDS then recode any portion of the package that is not
accurate.
Posted by patilbjpr patil at 10:00
Email ThisBlogThis!Share to TwitterShare to Facebook

No comments:

Post a Comment

Newer Post Older Post Home


Subscribe to: Post Comments (Atom)

Like It
TOPICS
2012 (8)

o October (8)

MSBI (MICROSOFT BUSINESS INTELLIGENCE ) Busines...

CREATE SIMPLE SSIS PACKAGE

SSIS TRANSFORMATIONS:

UPSERT Functionality in SQL Server 2008 through M...

TYPES OF REPORTS IN SSRS

Multidimensional Expressions(MDX) QUERY

SSRS--SSIS INTERVIEW QUESTIONS

MS SQL Server interview questions

2013 (2)

M.S.Patil

View my complete profile