Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
MSBI Interview Questions SSIS - SQL Server Integration Services Q: What is SSIS? How it is related with SQL Server. SQL Server Integration Services (SSIS) is a component of SQL Server which can be used to perform a wide range of Data Migration and ETL operations. SSIS is a component in MSBI process of SQL Server. This is a platform for Integration and Workflow applications. It is known for a fast and flexible OLTP and OLAP extensions used for data extraction, transformation, and loading (ETL). The tool may also be used to automate maintenance of SQL Server databases and multidimensional data sets. Q: What are the tools associated with SSIS? We use Business Intelligence Development Studio (BIDS) and SQL Server Management Studio (SSMS) to work with Development of SSIS Projects. We use SSMS to manage the SSIS Packages and Projects. Q: What are the differences between DTS and SSIS Data Transformation Services Limited Error Handling Message Boxes in ActiveX Scripts No Deployment Wizard Limited Set of Transformation NO BI functionality SQL Server Integration Services Complex and powerful Error Handling Message Boxes in .NET Scripting Interactive Deployment Wizard Good number of Transformations Complete BI Integration Q: What is a workflow in SSIS ? Workflow is a set of instructions on to specify the Program Executor on how to execute tasks and containers within SSIS Packages. Q: What is the control flow? 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, we 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. Q: What is the data flow? 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 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. Data Sources, Transformations, and Data Destinations are the three important categories in the Data Flow. Q: How does Error-Handling work in SSIS 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. Type of typical Errors in SSIS: -Data Connection Errors, which occur in case the connection manager cannot be initialized with the connection string. This applies to both Data Sources and Data Destinations along with Control Flows that use the Connection Strings. -Data Transformation Errors, which occur while data is being transformed over a Data Pipeline from Source to Destination. -Expression Evaluation errors, which occur if expressions that are evaluated at run time perform invalid Q: What is environment variable in SSIS? An environment variable configuration sets a package property equal to the value in an environment variable. Environmental configurations are useful for configuring properties that are dependent on the computer that is executing the package. Q: What are the Transformations available in SSIS? AGGREGATE - It applies aggregate functions to Record Sets to produce new output records from aggregated values. AUDIT - Adds Package and Task level Metadata - such as Machine Name, Execution Instance, Package Name, Package ID, etc.. CHARACTERMAP - Performs SQL Server column level string operations such as changing data from lower case to upper case. CONDITIONALSPLIT– Separates available input into separate output pipelines based on Boolean Expressions configured for each output. COPYCOLUMN - Add a copy of column to the output we can later transform the copy keeping the original for auditing. DATACONVERSION - Converts columns data types from one to another type. It stands for Explicit Column Conversion. DATAMININGQUERY– Used to perform data mining query against analysis services and manage Predictions Graphs and Controls. DERIVEDCOLUMN - Create a new (computed) column from given expressions. EXPORTCOLUMN– Used to export a Image specific column from the database to a flat file. FUZZYGROUPING– Used for data cleansing by finding rows that are likely duplicates. FUZZYLOOKUP - Used for Pattern Matching and Ranking based on fuzzy logic. IMPORTCOLUMN - Reads image specific column from database onto a flat file. LOOKUP - Performs the lookup (searching) of a given reference object set against a data source. It is used for exact matches only. MERGE - Merges two sorted data sets into a single data set into a single data flow. MERGEJOIN - Merges two data sets into a single dataset using a join junction. MULTICAST - Sends a copy of supplied Data Source onto multiple Destinations. ROWCOUNT - Stores the resulting row count from the data flow / transformation into a variable. ROWSAMPLING - Captures sample data by using a row count of the total rows in dataflow specified by rows or percentage. UNIONALL - Merge multiple data sets into a single dataset. PIVOT– Used for Normalization of data sources to reduce analomolies by converting rows into columns UNPIVOT– Used for denormalizing the data structure by converts columns into rows incase of building Data Warehouses. Q: How to log SSIS Executions? SSIS includes logging features that write log entries when run-time events occur and can also write custom messages. This is not enabled by default. 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, Windows Event 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. Q: How do you deploy SSIS packages? SSIS Project BUILD provides a Deployment Manifest File. We need to run the manifest file and decide whether to deploy this onto File System or onto SQL Server [ msdb]. SQL Server Deployment is very faster and more secure then File System Deployment. Alternatively, we can also importthe package from SSMS from File System or SQL Server. Q: What are variables and what is variable scope? 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. Q:Can you name five of the Perfmon counters for SSIS and the value they provide? SQLServer:SSIS Service SSIS Package Instances SQLServer:SSIS Pipeline BLOB bytes read BLOB bytes written BLOB files in use Buffer memory Buffers in use Buffers spooled Flat buffer memory Flat buffers in use Private buffer memory Private buffers in use Rows read Rows written 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. • What do we mean by dataflow in SSIS? Data flow is nothing but the flow of data from the corresponding sources to the referred destinations. In this process, the data transformations make changes to the data to make it ready for the data warehouse. • What is a breakpoint in SSIS? How is it setup? How do you disable it? 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. • Can you name 5 or more of the native SSIS connection managers? 1) OLEDB connection – Used to connect to any data source requiring an OLEDB connection (i.e., SQL Server 2000) 2) Flat file connection – Used to make a connection to a single file in the File System. Required for reading information from a File System flat file 3) ADO.Net connection – Uses the .Net Provider to make a connection to SQL Server 2005 or other connection exposed through managed code (like C#) in a custom task 4) Analysis Services connection – Used to make a connection to an Analysis Services database or project. Required for the Analysis Services DDL Task and Analysis Services Processing Task 5) File connection – Used to reference a file or folder. The options are to either use or create a file or folder 6) Excel • What is the use of Bulk Insert Task in SSIS? Bulk Insert Task is used to upload large amount of data from flat files into Sql Server. It supports only OLE DB connections for destination database. • What is Conditional Split transformation in SSIS? This is just like IF condition which checks for the given condition and based on the condition evaluation, the output will be sent to the appropriate OUTPUT path. It has ONE input and MANY outputs. Conditional Split transformation is used to send paths to different outputs based on some conditions. For example, we can organize the transform for the students in a class who have marks greater than 40 to one path and the students who score less than 40 to another path. • How do you eliminate quotes from being uploaded from a flat file to SQL Server? This can be done using TEXT QUALIFIER property. 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. • Can you explain how to setup a checkpoint file in SSIS? 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. • What are the different values you can set for CheckpointUsage property ? There are three values, which describe how a checkpoint file is used during package execution: 1) Never: The package will not use a checkpoint file and therefore will never restart. 2) If Exists: If a checkpoint file exists in the place you specified for the CheckpointFilename property, then it will be used, and the package will restart according to the checkpoints written. 3) Always: The package will always use a checkpoint file to restart, and if one does not exist, the package will fail. • What is the ONLY Property you need to set on TASKS in order to configure CHECKPOINTS to RESTART package from failure? The one property you have to set on the task is FailPackageOnFailure. This must be set for each task or container that you want to be the point for a checkpoint and restart. If you do not set this property to true and the task fails, no file will be written, and the next time you invoke the package, it will start from the beginning again. • Where can we set the CHECKPOINTS, in DataFlow or ControlFlow ? Checkpoints only happen at the Control Flow; it is not possible to checkpoint transformations or restart inside a Data Flow. The Data Flow Task can be a checkpoint, but it is treated as any other task. • Can you explain different options for dynamic configurations in SSIS? 1) XML file 2) custom variables 3) Database per environment with the variables 4) Use a centralized database with all variables • What is the use of Percentage Sampling transformation in SSIS? Percentage Sampling transformation is generally used for data mining. This transformation builds a random sample of set of output rows by choosing specified percentage of input rows. For example if the input has 1000 rows and if I specify 10 as percentage sample then the transformation returns 10% of the RANDOM records from the input data. • What is the use of Term Extraction transformation in SSIS? Term Extraction transformation is used to extract nouns or noun phrases or both noun and noun phrases only from English text. It extracts terms from text in a transformation input column and then writes the terms to a transformation output column. It can be also used to find out the content of a dataset. • What is Data Viewer and what are the different types of Data Viewers in SSIS? A Data Viewer allows viewing data at a point of time at runtime. If data viewer is placed before and after the Aggregate transform, we can see data flowing to the transformation at the runtime and how it looks like after the transformation occurred. The different types of data viewers are: 1. Grid 2. Histogram 3. Scatter Plot 4. Column Chart. • What is Ignore Failure option in SSIS? In Ignore Failure option, the error will be ignored and the data row will be directed to continue on the next transformation. Let’s say you have some JUNK data(wrong type of data or JUNK data) flowing from source, then using this option in SSIS we can REDIRECT the junk data records to another transformation instead of FAILING the package. This helps to MOVE only valid data to destination and JUNK can be captured into separate file. • Which are the different types of Control Flow components in SSIS? The different types of Control Flow components are: Data Flow Tasks, SQL Server Tasks, Data Preparation Tasks, Work flow Tasks, Scripting Tasks, Analysis Services Tasks, Maintenance Tasks, Containers. • What are containers? What are the different types of containers in SSIS? Containers are objects that provide structures to packages and extra functionality to tasks. There are four types of containers in SSIS, they are: Foreach Loop Container, For Loop Container, Sequence Container and Task Host Container. • What are the different types of Data flow components in SSIS? There are 3 data flow components in SSIS. 1. Sources 2. Transformations 3. Destinations • What are the different types of data sources available in SSIS? There are 7 types of data sources provided by SSIS: a.) Data Reader source b.) Excel source c.) Flat file source d.) OLEDB source e.) Raw file source f.) XML source g.) Script component • What is SSIS Designer? It is a graphical tool for creating packages. It has 4 tabs: Control Flow, Data Flow, Event Handlers and Package Explorer. • What is Control Flow tab? It is the tab in SSIS designer where various Tasks can be arranged and configured. This is the tab where we provide and control the program flow of the project. • What is Data Flow tab? This is the tab where we do all the work related to ETL job. It is the tab in SSIS Designer where we can extract data from sources, transform the data and then load them into destinations. • What is the function of control flow tab in SSIS? On the control flow tab, the tasks including dataflow task, containers and precedence constraints that connect containers and tasks can be arranged and configured. • What is the function of Event handlers tab in SSIS? On the Event handlers tab, workflows can be configured to respond to package events. For example, we can configure Work Flow when ANY task Failes or Stops or Starts .. • What is the function of Package explorer tab in SSIS? This tab provides an explorer view of the package. You can see what is happening in the package. The Package is a container at the top of the hierarchy. • What is Solution Explorer? It is a place in SSIS Designer where all the projects, Data Sources, Data Source Views and other miscellaneous files can be viewed and accessed for modification. • How do we convert data type in SSIS? The Data Conversion Transformation in SSIS converts the data type of an input column to a different data type. • How are variables useful in ssis package? Variables can provide communication among objects in the package. Variables can provide communication between parent and child packages. Variables can also be used in expressions and scripts. This helps in providing dynamic values to tasks. • Explain Aggregate Transformation in SSIS? It aggregates data, similar you do in applying TSQL functions like Group By, Min, Max, Avg, and Count. For example you get total quantity and Total line item for each product in Aggregate Transformation Editor. First you determine input columns, then output column name in Output Alias table in datagrid, and also operations for each Output Alias in Operation columns of the same datagrid. Some of operation functions listed below : • Group By • Average • Count • Count Distinct : count distinct and non null column value • Min, Max, Sum In Advanced tab, you can do some optimization here, such as setting up Key Scale option (low, medium, high), Count Distinct scale option (low, medium, high), Auto Extend factor and Warn On Division By Zero. If you check Warn On Division By Zero, the component will give warning instead of error. Key Scale option will optimize transformation cache to certain number of key threshold. If you set it low, optimization will target to 500,000 keys written to cache, medium can handle up to 5 million keys, and high can handle up to 25 million keys, or you can specify particular number of keys here. Default value is unspecified. Similar to number of keys for Count Distinct scale option. It is used to optimize number of distinct value written to memory, default value is unspecified. Auto Extend Factor is used when you want some portion of memory is used for this component. Default value is 25% of memory. • Explain Audit Transformation ? It allows you to add auditing information as required in auditing world specified by HIPPA and SarbanesOxley (SOX). Auditing options that you can add to transformed data through this transformation are : 1. Execution of Instance GUID : ID of execution instance of the package 2. PackageID : ID of the package 3. PackageName 4. VersionID : GUID version of the package 5. Execution StartTime 6. MachineName 7. UserName 8. TaskName 9. TaskID : uniqueidentifier type of the data flow task that contains audit transformation. • Explain Character Map Transformation? It transforms some character. It gives options whether output result will override the existing column or add to new column. If you define it as new column, specify new column name. Operations available here are: 1. Uppercase 2. Lowercase 3. Byte reversal : such as from 0×1234 to 0×4321 4. Full width 5. Half width 6. Hiragana/katakana/traditional Chinese/simplified Chinese 7. Linguistic casing • Explain Conditional split Transformation ? It functions as if…then…else construct. It enables send input data to a satisfied conditional branch. For example you want to split product quantity between less than 500 and greater or equal to 500. You can give the conditional a name that easily identifies its purpose. Else section will be covered in Default Output Column name. After you configure the component, it connect to subsequent transformation/destination, when connected, it pops up dialog box to let you choose which conditional options will apply to the destination transformation/destination. • Explain Copy column Transformation? This component simply copies a column to another new column. Just like ALIAS Column in T-Sql. • Explain Data conversion Transformation? This component does conversion data type, similar to TSQL function CAST or CONVERT. If you wish to convery the data from one type to another then this is the best bet. But please make sure that you have COMPATABLE data in the column. • Explain Data Mining query Transformation? This component does prediction on the data or fills gap on it. Some good scenarios uses this component is: 1. Take some input columns as number of children, domestic income, and marital income to predict whether someone owns a house or not. 2. Take prediction what a customer would buy based analysis buying pattern on their shopping cart. 3. Filling blank data or default values when customer doesn’t fill some items in the questionnaire. • Explain Derived column Transformation? Derived column creates new column or put manipulation of several columns into new column. You can directly copy existing or create a new column using more than one column also. • Explain Merge Transformation? Merge transformation merges two paths into single path. It is useful when you want to break out data into path that handles errors after the errors are handled, the data are merge back into downstream or you want to merge 2 data sources. It is similar with Union All transformation, but Merge has some restrictions : 1. Data should be in sorted order 2. Data type , data length and other meta data attribute must be similar before merged. • Explain Merge Join Transformation? Merge Join transformation will merge output from 2 inputs and doing INNER or OUTER join on the data. But if you the data come from 1 OLEDB data source, it is better you join through SQL query rather than using Merge Join transformation. Merge Join is intended to join 2 different data source. • Explain Multicast Transformation? This transformation sends output to multiple output paths with no conditional as Conditional Split does. Takes ONE Input and makes the COPY of data and passes the same data through many outputs. In simple Give one input and take many outputs of the same data. • Explain Percentage and row sampling Transformations? This transformation will take data from source and randomly sampling data. It gives you 2 outputs. First is selected data and second one is unselected data. It is used in situation where you train data mining model. These two are used to take the SAMPLE of data from the input data. • Explain Sort Transformation? This component will sort data, similar in TSQL command ORDER BY. Some transformations need sorted data. • Explain Union all Transformation? It works in opposite way to Merge transformation. It can take output from more than 2 input paths and combines into single output path. • What r the possible locations to save SSIS package? You can save a package wherever you want. SQL Server Package Store File System • What is a package? A discrete executable unit of work composed of a collection of control flow and other objects, including data sources, transformations, process sequence, and rules, errors and event handling, and data destinations. • What is a workflow in SSIS? A workflow is a set of instructions on how to execute tasks. (It is a set of instructions on how to execute tasks such as sessions, emails and shell commands. a workflow is created form work flow mgr. • What is the diff between control flow Items and data flow Items? The control flow is the highest level control process. It allows you to manage the run-time process activities of data flow and other processes within a package. When we want to extract, transform and load data within a package. You add an SSIS dataflow task to the package control flow. • What are the main component of SSIS(project-architecture)? SSIS archItecture has 4 main components 1.ssis service 2.ssis runtime engine & runtime executables 3.ssis dataflow engine & dataflow components 4.ssis clients • Different components in SSIS package? Control flow Data flow Event handler Package explorer • What are Connection Managers? It is a bridge b/w package object and physical data. It provides logical representation of a connection at design time the properties of the connection mgr describes the physical connection that integration services creates when the package is run. • What is environment variable in SSIS? An environment variable configuration sets a package property equal to the value in an environment variable. Environmental configurations are useful for configuring properties that are dependent on the computer that is executing the package. • How to provide securIty to packages? We can provide security in two ways 1. Package encryption 2. Password protection. • What are Precedence constraints? Constraints that link executable, container, and tasks wIthin the package control flow and specify condItion that determine the sequence and condItions for determine whether executable run. • What is Design time Deployment in SSIS ? When you run a package from with in BIDS,it is built and temporarily deployed to the folder. By default the package will be deployed to the BIN folder in the Package’s Project folder and you can configure for custom folder for deployment. When the Package’s execution is completed and stopped in BIDS,the deployed package will be deleted and this is called as Design Time Deployment. What are the Different Lookup Cache Modes Available in SSIS? Explain Each One » July 4, 2010 | Labels: SQL Server, SSIS | 5 comments There are basically 3 Cache Modes available in SSIS Lookup Transformation as follows:Full Cache Mode Partial Cache Mode No Cache Mode Full Cache Mode: In this cache mode, SSIS queries the database... What are the Differences Between SSRS 2005 and SSRS 2008 » July 3, 2010 | Labels: Differences, SQL Server, SSRS | 1 comments Few of the major differences between SSRS 2005 and SSRS 2008 are as follows: SSRS 2005 report server requires IIS, whereas SSRS 2008 comes with a build-in web server and hence does not require IIS. SSRS... What is the Difference Between WHERE and HAVING Clauses in SQL Server HAVING clause can be used only with a GROUP BY clause, where as a WHERE clause can be used with constructs like SELECT, UPDATE, DELETE etc. HAVING clause is applied as a filter to the data / output... What is the Difference Between TRUNCATE & DELETE Clauses in SQL Server TRUNCATE is a DDL (Data Definition Language) command, whereas DELETE is a DML (Data Manipulation Language) command. TRUNCATE removes all the records from a table without making a log entry for individual... SSAS - SQL Server Analysis Services Q: What is Analysis Services? List out the features? Microsoft SQL Server 2005 Analysis Services (SSAS) delivers online analytical processing (OLAP) and data mining functionality for business intelligence applications. Analysis Services supports OLAP by letting us design, create, and manage multidimensional structures that contain data aggregated from other data sources, such as relational databases. For data mining applications, Analysis Services lets we design, create, and visualize data mining models that are constructed from other data sources by using a wide variety of industry-standard data mining algorithms. Analysis Services is a middle tier server for analytical processing, OLAP, and Data mining. It manages multidimensional cubes of data and provides access to heaps of information including aggregation of data. One can create data mining models from data sources and use it for Business Intelligence also including reporting features. Analysis service provides a combined view of the data used in OLAP or Data mining. Services here refer to OLAP, Data mining. Analysis services assists in creating, designing and managing multidimensional structures containing data from varied sources. It provides a wide array of data mining algorithms for specific trends and needs. Some of the key features are: Ease of use with a lot of wizards and designers. Flexible data model creation and management Scalable architecture to handle OLAP Provides integration of administration tools, data sources, security, caching, and reporting etc. Provides extensive support for custom applications Q: What is UDM? Its significance in SSAS? The role of a Unified Dimensional Model (UDM) is to provide a bridge between the user and the data sources. A UDM is constructed over one or more physical data sources, and then the end user issues queries against the UDM using one of a variety of client tools, such as Microsoft Excel. At a minimum, when the UDM is constructed merely as a thin layer over the data source, the advantages to the end user are a simpler, more readily understood model of the data, isolation from heterogeneous backend data sources, and improved performance for summary type queries. In some scenarios a simple UDM like this is constructed totally automatically. With greater investment in the construction of the UDM, additional benefits accrue from the richness of metadata that the model can provide. The UDM provides the following benefits: • Allows the user model to be greatly enriched. • Provides high performance queries supporting interactive analysis, even over huge data volumes. • Allows business rules to be captured in the model to support richer analysis. Q:What is the need for SSAS component? Analysis Services is the only component in SQL Server using which we can perform Analysis and Forecast operations. SSAS is very easy to use and interactive. Faster Analysis and Troubleshooting. Ability to create and manage Data warehouses. Apply efficient Security Principles. Q: Explain the TWO-Tier Architecture of SSAS? SSAS uses both server and client components to supply OLAP and data mining functionality BI Applications. The server component is implemented as a Microsoft Windows service. Each instance of Analysis Services implemented as a separate instance of the Windows service. Clients communicate with Analysis Services using the standard XMLA (XML For Analysis) , protocol for issuing commands and receiving responses, exposed as a web service. Q: What are the components of SSAS? An OLAP Engine is used for enabling fast adhoc queries by end users. A user can interactively explore data by drilling, slicing or pivoting. Drilling refers to the process of exploring details of the data. Slicing refers to the process of placing data in rows and columns. Pivoting refers to switching categories of data between rows and columns. In OLAP, we will be using what are called as Dimensional Databases. Q: What is FASMI ? A database is called an OLAP Database if the database satisfies the FASMI rules : Fast Analysis– is defined in the OLAP scenario in five seconds or less. Shared – Must support access to data by many users in the factors of Sensitivity and Write Backs. Multidimensional – The data inside the OLAP Database must be multidimensional in structure. Information – The OLAP database Must support large volumes of data.. Q: What languages are used in SSAS ? Structured Query Language (SQL) Multidimensional Expressions (MDX) - an industry standard query language orientated towards analysis Data Mining Extensions (DMX) - an industry standard query language oriented toward data mining. Analysis Services Scripting Language (ASSL) - used to manage Analysis Services database objects. Q: How Cubes are implemented in SSAS ? Cubes are multidimensional models that store data from one or more sources. Cubes can also store aggregations SSAS Cubes are created using the Cube Wizard. We also build Dimensions when creating Cubes. Cubes can see only the DSV( logical View). Q: What is the difference between a derived measure and a calculated measure? The difference between a derived measure and a calculated measure is when the calculation is performed. A derived measure is calculated before aggregations are created, and the values of the derived measure are stored in the cube. A calculated measure is calculated after aggregations are created, and the values of a calculated measure aren’t stored in the cube. The primary criterion for choosing between a derived measure and a calculated measure is not efficiency, but accuracy. Q: What is a partition? A partition in Analysis Services is the physical location of stored cube data. Every cube has at least one partition by default. Each time we create a measure group, another partition is created. Queries run faster against a partitioned cube because Analysis Services only needs to read data from the partitions that contain the answers to the queries. Queries run even faster when partition also stores aggregations, the pre calculated totals for additive measures. Partitions are a powerful and flexible means of managing cubes, especially large cubes. Q: While creating a new calculated member in a cube what is the use of property called non-empty behavior? Nonempty behavior is important property for ratio calculations. If the denominator Is empty, an MDX expression will return an error just as it would if the denominator Were equal to zero. By selecting one or more measures for the Non-Empty Behavior property, we are establishing a requirement that each selected measure first be evaluated before the calculation expression is evaluated. If each selected measure is empty, then The expression is also treated as empty and no error is returned. Q: What is a RAGGED hierarchy? Under normal circumstances, each level in a hierarchy in Microsoft SQL Server 2005 Analysis Services (SSAS) has the same number of members above it as any other member at the same level. In a ragged hierarchy, the logical parent member of at least one member is not in the level immediately above the member. When this occurs, the hierarchy descends to different levels for different drilldown paths. Expanding through every level for every drilldown path is then unnecessarily complicated. Q: What are the roles of an Analysis Services Information Worker? The role of an Analysis Services information worker is the traditional "domain expert" role in business intelligence (BI) someone who understands the data employed by a solution and is able to translate the data into business information. The role of an Analysis Services information worker often has one of the following job titles: Business Analyst (Report Consumer), Manager (Report Consumer), Technical Trainer, Help Desk/Operation, or Network Administrator. Q: What are the different ways of creating Aggregations? We can create aggregations for faster MDX statements using Aggregation Wizard or thru UBO – Usage Based Optimizations. Always, prefer UBO method in realtime performance troubleshooting. Q: What is WriteBack? What are the pre-conditions? The Enable/Disable Writeback dialog box enables or disables writeback for a measure group in a cube. Enabling writeback on a measure group defines a writeback partition and creates a writeback table for that measure group. Disabling writeback on a measure group removes the writeback partition but does not delete the writeback table, to avoid unanticipated data loss. Q: What is processing? Processing is a critical and resource intensive operation in the data warehouse lifecycle and needs to be carefully optimized and executed. Analysis Services 2005 offers a high performance and scalable processing architecture with a comprehensive set of controls for database administrators. We can process an OLAP database, individual cube, Dimension or a specific Partition in a cube. Q: Name few Business Analysis Enhancements for SSAS? The following table lists the business intelligence enhancements that are available in Microsoft SQL Server 2005 Analysis Services (SSAS). The table also shows the cube or dimension to which each business intelligence enhancement applies, and indicates whether an enhancement can be applied to an object that was created without using a data source and for which no schema has been generated. No data Enhancement Type Applied to source Time Intelligence Cube Cube No Account Intelligence Dimension Dimension or cube No Dimension Intelligence Dimension Dimension or cube Yes Dimension (unary operator) or Custom Aggregation Dimension No cube Semiadditive Behavior Cube Cube Yes Custom Member Formula Dimension Dimension or cube No Custom Sorting and Uniqueness Dimension Dimension or cube Yes Settings Dimension Writeback Dimension Dimension or cube Yes Q: What MDX functions do you most commonly use? This is a great question because you only know this answer by experience. If you ask me this question, the answer practically rushes out of me. “CrossJoin, Descendants, and NonEmpty, in addition to Sum, Count, and Aggregate. My personal favorite is CrossJoin because it allows me identify non-contiguous slices of the cube and aggregate even though those cube cells don’t roll up to a natural ancestor.” Indeed, CrossJoin has easily been my bread and butter. Q: Where do you put calculated members? The reflexive answer is “in the Measures dimension” but this is the obvious answer. So I always follow up with another question. “If you want to create a calculated member that intersects all measures, where do you put it?” A high percentage of candidates can’t answer this question, and the answer is “In a dimension other than Measures.” If they can answer it, I immediately ask them why. The answer is “Because a member in a dimension cannot intersect its own relatives in that dimension.” Q: How do I find the bottom 10 customers with the lowest sales in 2003 that were not null? A: Simply using bottomcount will return customers with null sales. You will have to combine it with NONEMPTY or FILTER. SELECT { [Measures].[Internet Sales Amount] } ON COLUMNS , BOTTOMCOUNT( NONEMPTY(DESCENDANTS( [Customer].[Customer Geography].[All Customers] , [Customer].[Customer Geography].[Customer] ) , ( [Measures].[Internet Sales Amount] ) ) , 10 , ( [Measures].[Internet Sales Amount] ) ) ON ROWS FROM [Adventure Works] WHERE ( [Date].[Calendar].[Calendar Year].&[2003] ) ; Q: How in MDX query can I get top 3 sales years based on order quantity? By default Analysis Services returns members in an order specified during attribute design. Attribute properties that define ordering are "OrderBy" and "OrderByAttribute". Lets say we want to see order counts for each year. In Adventure Works MDX query would be: SELECT , FROM Same {[Measures].[Reseller [Date].[Calendar].[Calendar query Order Quantity]} Year].Members [Adventure using ON ON 0 1 Works]; TopCount: SELECT {[Measures].[Reseller Order Quantity]} ON 0, TopCount([Date].[Calendar].[Calendar Year].Members,3, [Measures].[Reseller Order Quantity]) ON 1 FROM [Adventure Works]; Q: How do you extract first tuple from the set? Use Example: could SELECT {{[Date].[Calendar].[Calendar }.Item(0)} ON FROM [Adventure Works] Q: How can I setup default dimension member usefunctionSet.Item(0) Year].Members 0 in Calculation You can use ALTER CUBE statement. ALTER CUBE CurrentCube | YourCubeName UPDATE DIMENSION , DEFAULT_MEMBER=''; script? Syntax: SSRS - SQL Server Reporting Services Q: What is SSRS? SQL Server Reporting Service is one of the server-based software systems that generate reports developed by Microsoft. It is used for preparing and delivering interactive and variety of printed reports. It is administered through an interface that is web based. Reporting services utilizes a web service interface for supporting and developing of customized reporting applicatons. It can be competed with Crystal Reports and other business intelligence tools. Q: Explain SSRS Architecture? Reporting services architecture comprises of integrated components. It is a multi-tiered, included with application, server and data layers. This architecture is scalable and modular. A single installation can be used across multiple computers. It includes the following components: - Report Manager, Reporting Designer, Browser Types Supported by Reporting services, Report server, Report server command line utilities, Report Server Database, Reporting Services Extensibility, Data sources that is supported by Reporting Services. Q: Explain Reporting Life Cycle? The Reporting Lifecycle includes - Report designing – The designing is done in Visual Studio Report Designer. It generates a class which embodies the Report Definition. - Report processing – The processing includes binging the report definition with data from the report data source. It performs on all grouping, sorting and filtering calculations. The expressions are evaluated except the page header, footer and section items. Later it fires the Binding event and Bound event. As a result of the processing, it produces Report Instance. Report instance may be persisted and stored which can be rendered at a later point of time. - Report Rendering: Report rendering starts by passing the Report Instance to a specific rendering extension (HTML or PDF formats). The instance of reports is paged if paging supported by output format. The expressions of items are evaluated in the page header and footer sections for every page. As a final step, the report is rendered to the specific output document. Q: How to finetune Reports? To tune-up the Reporting Services, follow the below mentioned ways: - Expand the Server or utilizing the reporting services of another database server. For better embedding of report contents, report application’s logic and characteristics can have a duplicate copy of data. - Replication of data continuously. Using nolock, the issues of locking can well be resolved and the performance of the query can be improved. This can be done by using dirty read at the time of duplicating the data is unavailable. Q: What are Data Driven Subscriptions? Reporting Services provides data-driven subscriptions so that you can customize the distribution of a report based on dynamic subscriber data. Data-driven subscriptions are intended for the following kinds of scenarios: Distributing reports to a large recipient pool whose membership may change from one distribution to the next. For example distribute a monthly report to all current customers. Distributing reports to a specific group of recipients based on predefined criteria. For example send a sales performance report to the top ten sales managers in an organization. Q: What is Linked Report? Q: What are different types of roles provided by SSRS? Q: Difference between Logical Page an Physical Page in SSRS. Logical page breaks are page breaks that you insert before or after report items or groups. Page breaks help to determine how the content is fitted to a report page for optimal viewing when rendering or exporting the report. The following rules apply when rendering logical page breaks: Logical page breaks are ignored for report items that are constantly hidden and for report items where the visibility is controlled by clicking another report item. Logical page breaks are applied on conditionally visible items if they are currently visible at the time the report is rendered. Space is preserved between the report item with the logical page break and its peer report items. Logical page breaks that are inserted before a report item push the report item down to the next page. The report item is rendered at the top of the next page. Logical page breaks defined on items in table or matrix cells are not kept. This does not apply to items in lists. Q: User want only to display only pdf as export option in report Manager. How to acheive this? Q: Name and Describe few console utilities for SSRS? Q: Name few Endpoints exposed by SSRS 2012? Q: Describe different Processing Modes offered by SSRS? Q: When to Use Null Data driven Subscription? Create a data-driven subscription that uses the Null Delivery Provider. When you specify the Null Delivery Provider as the method of delivery in the subscription, the report server targets the report server database as the delivery destination and uses a specialized rendering extension called the null rendering extension. In contrast with other delivery extensions, the Null Delivery Provider does not have delivery settings that you can configure through a subscription definition. Q: How can you monitor the report Usage? Q: How does the report manager work in SSRS? Report manager is a web application. In SSRS it is accessed by a URL. The interface of this Report manager depends on the permissions of the user. This means to access any functionality or perform any task, the user must be assigned a role. A user with a role of full permissions can entire all the features and menus of the report. To configure the report manager, a URL needs to be defined. Q: What are the Reporting Services components? Reporting services components assist in development. These processing components include some tools that are used to create, manage and view reports. A report designer is used to create the reports. a report sever is used to execute and distribute reports. a report manager is used to manage the report server. Q:SQL Server Reporting Services vs Crystal Reports. Crystal reports are processed by IIS while SSRS have a report server. Caching in Crystal reports is available through cache server. On the other hand, caching in SSRS is available for Report history snapshots. Crystal reports have standards and user defined field labels. SSRS allows only user defined field labels. Q: What is Report Builder? Report Builder is a business-user, ad-hoc report design client that allows users to design reports based on the business terms (Report Builder model) they are familiar with, but without needing to understand database schemas or how to write SQL or MDX queries. Report Builder works with both SQL Server and Analysis Services data sources. Q: How does Report Builder support Analysis Services cubes? Report Builder supports relational SQL and Analysis Services data sources in SQL Server 2005. To create a model for Analysis Services cube, go to Report Manager or Management Studio, create a data source for your Analysis Services database, and then select the Generate Model option to create the model. Q: How do users use Report Builder with SQL Server data sources? While models that provide access to SQL Server Analysis Services are automatically generated on the report server, the Report Builder Model Designer can be used to generate or modify the models that are built on top of SQL Server relational databases. These model-building projects are a new type of project within a Visual Studio–based development shell. Q: How do I get Report Builder to generate a parameter that can be set by users viewing the report? In the filter dialog box, click the name of the criteria that you would like to prompt the user for when viewing the report. For example, for the criteria Order Year=2000, click Order Year. Select the Prompt option in the drop-down list. Q: What new data source types were added in SSRS 2012? In addition to the data source types available in SSRS 2005 (SQL Server, Oracle, ODBC, OLE DB), the following have been added in SSRS 2008: SQL Server 2005 Analysis Services SQL Server 2005 Integration Services SQL Server 2005 Report Builder Models XML (through URL and Web services) SAP Q: How can I add Reporting Services reports to my application? Visual Studio 2005 (Standard and Enterprise editions) contains a set of freely redistributable Report Viewer controls that make it easy to embed Reporting Services functionality into custom applications. Two versions of the Report Viewer exist, one for rich Windows client applications and one for ASP.NET applications. Q: Do I need a report server to run reports in my application? In addition to publishing reports to a report server, you can build reports using the Report Designer that is directly integrated with Visual Studio language projects. You can embed reports directly in any Windows Forms or ASP.NET Web application without access to a report server. The data access in embedded reports is a natural extension of the Visual Studio data facilities. Not only can you use traditional databases as a source of data for your reports, you can use object collections as well. Q: Can you import Microsoft Excel data to SSRS? Reporting Services does not import data. It only queries data in whatever format it is stored in their native storage system. I will assume that you're asking whether you can create reports and use Excel spreadsheets as data sources. The answer is Yes, Reporting Services supports a wide variety of data sources, including Excel files. You'll get the best performance with the built-in native .NET providers but you should be able to connect to any ODBC or OLE-DB data source, whether it comes from Microsoft or a third-party company. Q: Can we deploy SSRS reports on our personal website? Your reports can only be deployed on a reporting services site. Your only option for viewing them from other sites is an HTTP link. Some tools, like SharePoint offer controls allowing you to view reports in the context of the other websites, but the report is still deployed to and hosted from reporting services. Q: Can we use datagrids for our report in SSRS? I've got an ASP.NET project that populates a datagrid. I'd like to use the datagrid as my datasource for my report using SQL Server Reporting Services. Is this possible? The simple answer is no. However, nothing's ever simple. A set of reporting controls was added in Visual Studio 2010 allowing you to report in a dataset, on data that was supplied by you. So, if you retrieved your data into a dataset, bound the datagrid to the dataset so it had data to display, you could then use that dataset as the datasource for the reporting controls. These are then client-side reports, not server reports though. Q: What are the drawbacks of reporting in SSRS? For many years, Microsoft had no direct solution for reporting with the SQL Server besides Crystal Reports. Now, they have SQL Server Reporting Services, but it does have several drawbacks. It is still complex to understand the complete functionality and structure of this new component, and many users are still relying on the reporting application they are more familiar with, which is Crystal Reports. Also, components in SSRS like Report Builder and Report Designer are meant for different users for different aspects of the report process, yet complete understanding and exposure to both is important to utilize both functions fully and extensively. There are also issues when exporting very large reports to Microsoft Excel, as it can lead to a loss of data. Q: Will running SSRS on Windows XP limit the number of users? Yes, but not because of SSRS. The Internet Information Services (IIS) component of Windows XP only allows a small number of users to connect to the website at once. As SSRS runs via IIS, this would prevent more than a few people from using SSRS at once. Also, the only edition of SSRS that will install on Windows XP is the Developer Edition. This edition can not be used for production use. You need Standard or Enterprise Edition for production use, which requires a Server OS to install on (Windows 2003 Standard, Windows 2008 Standard, etc). Q: Are there issues when exporting SSRS reports into Microsoft Excel? When my users are trying to export a SSRS report into Microsoft Excel, one or two columns in the report appear to merge together. Why might this be? Exporting from SSRS is not always perfect, even if you stay within the Microsoft range of products. If you have extra resources, you could splurge for an add-on that offers much better control over exporting to Excel, such as OfficeWriter. From my experience, though, it is usually headers or footers that cause exporting issues. If any of these headers or footers overlap with data columns in your report, you will find that the exported version of the report has merged cells. Also, check columns next to each other to make sure that there is no overlap, as well. Q: How to send a SSRS report from SSIS? Often there is a requirement to be able to send a SSRS report in Excel, PDF or another format to different users from a SSIS package one it has finished performing a data load. In order to do this, first you need to create a subscription to the report. You can create a SSRS report subscription from Report Manager. At the report subscription you can mention the report format and the email address of the recipient. When you create a schedule for the SSRS report, a SQL Server Agent Job will be created. From the SSIS, by using sp_start_job and passing the relevant job name you can execute the SSRS report subscription. SSIS AND SSRS Latest Interview Questions &Answers SSRS Interview Questions 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 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.What is Analysis Services 1.Microsoft SQL Server 2012 Analysis Services (SSAS) delivers online analytical processing (OLAP) and data mining functionality for business intelligence applications. 2.Analysis Services supports OLAP by letting we design, create, and manage multidimensional structures that contain data aggregated from other data sources, such as relational databases. 3.For data mining applications, Analysis Services lets we design, create, and visualize data mining models that are constructed from other data sources by using a wide variety of industry-standar data mining algorithms 2.What are the features of Analysis Services 1.Ease of use with a lot of wizards and designers. 2.Flexible data model creation and management 3.Scalable architecture to handle OLAP 4.Provides integration of administration tools, data sources, security, caching, and reporting etc. 5.Provides extensive support for custom applications 3.What is the need for SSAS 2012 component? 1.Analysis Services is the only component in SQL Server using which we can perform Analysis and 2.Faster Analysis 3.Ability to create Forecast operations and and Troubleshooting. manage Data warehouses 4.Apply efficient Security Principles 4. What languages are used in SSAS 2012 1.Structured Query Language (SQL) 2.Multidimensional Expressions (MDX) - an industry standard query language orientated towards analysis 3.Data Mining Extensions (DMX) - an industry standard query language oriented toward data mining. 4.Analysis Services Scripting Language (ASSL) - used to manage Analysis Services database objects 5.What is the difference between a derived measure and a calculated measure? 1. The difference between a derived measure and a calculated measure is when the calculation is performed. 2. A derived measure is calculated before aggregations are created, and the values of the derived measure are stored in the cube. 3. A calculated measure is calculated after aggregations are created, and the values of a calculated measure aren’t stored in the cube. 4. The primary criterion for choosing between a derived measure and a calculated measure is not efficiency, but accuracy 6. What is FASMI ? A database is called a OLAP Database if the database satisfies the FASMI rules 1. Fast Analysis– is defined in the OLAP scenario in five seconds or less. 2. Shared – Must support access to data by many users in the factors of Sensitivity and Write Backs. 3. Multidimensional – The data inside the OLAP Database must be multidimensional in structure. 4. Information – The OLAP database Must support large volumes of data. 7.What is a partition? 1. A partition in Analysis Services is the physical location of stored cube data. 2. Every cube has at least one partition by default. Each time we create a measure group, another partition is created. 3. Queries run faster against a partitioned cube because Analysis Services only needs to read data from the partitions that contain the answers to the queries. 4. Queries run even faster when partition also stores aggregations, the pre calculated totals for additive measures. Partitions are a powerful and flexible means of managing cubes, especially large cubes 8. What are the roles of an Analysis Services Information Worker? The role of an Analysis Services information worker is the traditional "domain expert" role in business intelligence (BI) someone who understands the data employed by a solution and is able to translate the data into business information.The role of an Analysis Services information worker often has one of the following job titles: Business Analyst (Report Consumer), Manager (Report Consumer), Technical Trainer, Help Desk/Operation, or Network Administrator 9.Explain the TWO-Tier Architecture of SSAS? 1. SSAS uses both server and client components to supply OLAP and data mining functionality BI Applications. 2. The server component is implemented as a Microsoft Windows service. Each instance of Analysis Services implemented as a separate instance of the Windows service. 3. Clients communicate with Analysis Services using the standard the XMLA (XML For Analysis) , protocol for issuing commands and receiving responses, exposed as a web service 10. How many types of dimension are possible in SSAS? 1. Bill of Materials 2. Currency 3. Channel 4. Customer 5. Geography 6. Organizations 7. Products 8. promotion 9. Regular 10. Scenario 11. Time 12. 13. Unary Accounts Deployment Question: How to deploy the packages SSIS? Question: Where a package does deploys in Integration service database? Question: What is Manifest file in SSIS? Question: What is File System Deployment? Question: how to back up or retrieve the SSIS package? Question: What are the different databases in Integration services while login through SSMS? Transactions Question: How to implement Transaction in SSIS package? Question: Can we implement transactions in SSIS package? Question: What are different transaction Options in SSIS? 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. http://www.databasejournal.com/features/mssql/article.php/3327681 Question: Case study how isolation works in SSIS? Checkpoint Question: What are the checkpoints in SQL Server? Question: What is checkpoint file? Question: How do checkpoints behave in case of For Loop and For Each loop? Control Flow Question: Difference between Dataflow Task and Control Flow Task? Question: What is the control flow Task? Question: What is the difference between for Loop and for each loop container? Question: What are different iterations in For Each LOOP container? Question: What is Sequence Container and how it works? Question: Difference between File System and FTP Task? 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. Question:Difference between Execute SQL Task and Execute TSQL-Statement Task? 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: Let’s 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. Question: What isAnalysis Services Execute DDL task? Question: What isData profiling Task? Question: What is data mining Query Task? SSIS Dataflow Task Question: What is data flow Task? Question: What is the different type of data sources in Dataflow task? Question: What is Difference between Ado.net Destination and Record set Destination? Question: Explain XML data source and how it works? Question: What all the transformation you have used in dataflow task? Question: Explain alternative method to use XML as a source? Question: What is fuzzy Lookup and Fuzzy Grouping? Explain difference? Question: DataConversion and Derived column explain? Question: What is Multicast? Question:Difference between Union All and Merge Join? Question: Difference between OLEDB Destination, SQL Server Destination and SQL Server Compact Destination? Question:Difference between Merge and Merge Join? Question: What is Cache Transformation? How to use it Explain? Question: What isOledb Command transformation in SSIS used for? Question: Explain the Lookup Transformation? Question: Difference between the data type DT_STR and DT_WSTR? Performance Tuning: Question: Explain the performance tuning tips for SSIS Package? Question: What areBlocking, Partial blocking and Row version transformation? Question: What is parallelism in SSIS how to implement it? Question: What are the properties which can be modified to maintain buffer size? Question: Properties to modified packet size on network? Script Task Interview Question: What is Script Task? Question: What is Script Component? Question: How to use script component as Source and Destination? Question: What are the languages available for coding in Script Task? Question: How to Handle Object Variable in Script Task? Question: What are the steps to use a package Variable in Script Task? General Interview Questions Question: What is Config File in SSIS? Question: What are the different types of Config options available in SSIS package? Question: Explain Connection Manager? Question: How to change the connection manager values at run time? Question: How to add logging in SSIS? Question: What are the ways to store logs in SSIS packages? Question: What is annotation in SSIS Package? 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 By using insert derived a new column column you can in the dataset insert new column data flow? 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 What Name schema, snowflake schema, is the two fact and dimension lookup Integration Services table? transformation? 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 SSRS 2012 Interview Questions with Answers This tutorial is about SSRS 2012 Interview Questions and Answers.Here we will discuss the most frequently asked interview questions about sql server reporting services. 1. What are data regions? Data regions are report items that display repeated rows of summarized information from datasets. 2. 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. 3. 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. 4.What are the three SSRS command-line utilities and their primary functions? RSConfig.exe is used to define the connection properties from the SSRS instance to the Report Server database; RSKeyMgmt.exe performs encryption key operations and scale-out deployment setup; RS.exe runs Report Server Script files that can perform report deployment and management operations. 5. Can you always create a cache of a report? No, you can create a cache of a report only when certain requirements, such as having credentials stored in the Report Server, are met. 6. Can you edit the .rdl code associated with a linked report? No, because a linked report has no .rdl code of its own. It refers to the .rdl code of the base report 7.What is reporting lifecycle ? Reporting Services has three mainly three phases 1. Development of Reports (Developer) – First of all a report needs to be design which is primarily done by report developer 2. Management of Reports (DBA) – Once the Report is being developed, DBA need to ensure 3. Security – Only authorized user should access the report 4. Execution – How the report will be executed to optimize data sources performance 5. Scheduling of reports – so that report are executed on scheduled timings 6. Report Delivery (DBA+Developer) – Once the report is being developed and executed now the report should be reached to final recipients (business users) who are going to understand / analyze report data. if any changes, we again go back to development stage. 8. What are the new features are introduced in SQL Server 2012 reporting services? 1. Power View - interactive data exploration 2. SQL Server 2012 is fully integrated with SharePoint 3. Introduction to Data Alerts, data alerts are a data-driven alerting solution that informs you about changes in report data that are of interest to you, and at a relevant time 4. SQL Server Data tool 5. new rendering extensions supports MS Office 2010 6. Project Crescent is being introduced 9.what is ReportServer and ReportServerTempDB ? 1. Reporting Services uses two SQL Server databases for storage by default, the databases are named ReportServer and ReportServerTempdb. 2. ReportServer is a main database, which store all internal configuration and report meta data where as ReportServerTempdb is used to store temporary data, session information, and cached reports. 10.What is encryption key ? 1. Encryption keys are used by the report server so that items such as connection strings are maintained securely. these keys are required in case you want to perform restoration of report server databases