You are on page 1of 18

Top 9 SQL Server Developer Interview Questions

By Deanna Dicken The questions you may wish to ask or that will be asked during a SQL Server Developer interview will vary. Deanna Dicken shares the top 9 interview questions she asks when interviewing a potential SQL Server developer.

Introduction
In my many years in Information Technology, I have performed so many SQL Server interviews that I have long since lost count. I thought I would share with you some of the questions I find important when interviewing a potential SQL Server developer.

What is Referential Integrity?


Let's start with the basics. Regardless of the RDBMS they are targeting, I'd really like them to understand that beyond all else we need to ensure referential integrity. To ensure it, we have to understand it. I am listening for an answer along the lines of ensuring the relationships between parent and child tables and that the primary keys and foreign keys facilitate this integrity.

What is the difference between a clustered and a nonclustered index?


This is one of my favorite questions for sorting out the developers that have an understanding beyond your basic T-SQL to more of an understanding of performance. I'm looking for them to tell me that a clustered index represents the physical order of the rows as they are stored in the database. A non-clustered index is a logical ordering of the rows.

Related Articles

Top 5 Basic Concept Job Interview Questions for Oracle Database PL/SQL Developers Oracle DBA Job Interview - Nailing a Fairly Common Question Interview Tips for Aspiring Junior DBAs Oracle Technical Interview

Both types of indexes facilitate faster lookups and joins. As a follow-up question, should they get this right, ask them to tell you how many clustered indexes you can have on a table. The answer should be one. Rows can only be physically stored with one ordering.

What are DML triggers and what types of triggers can you have on a SQL Server table?
A trigger, as the name implies, is a collection of SQL statements triggered to execute by an insert, update, or delete action on a table that affects its contents. INSTEAD OF and AFTER can be specified for each trigger. When INSTEAD OF is specified, the trigger takes the place of the triggering action. So if you had an INSTEAD OF UPDATE trigger, the code inside the trigger would be executed instead of the original update. AFTER triggers are the same as the FOR used in earlier versions of SQL Server. This just means the trigger will execute following the original action. An AFTER UPDATE trigger will allow the update to complete and then the update trigger will execute. For more information, see DML Trigger Planning Guidelines.

What is a four-part name?


This question can help you get a sense for whether the candidate ever crosses database boundaries with his queries. A four-part name refers to the parts of a SQL Server object name that uniquely identifies it in the SQL environment. The first part is the instance. The second part is the database. Third is the schema and fourth is the object name. So if wanted to reference a table called employee from the HumanResources schema in the AdventureWorks database on your Prod instance, the four part name would look like this: Prod.AdventureWorks.HumanResources.Employee.

What is a Linked Server?


Another question that can tell you if the candidate has experience with distributed databases is "What is a Linked Server?" A linked server is a reference from one SQL Server server to another. If you have databases on another SQL Server server that contains data you need for your system, you could create a link server on your server to the other SQL Server server. Then, you can use the four-part name of the remote table to use it within your local queries.

How do you handle an error from within a stored procedure?


This one's a little open-ended. One, it depends on which version of SQL Server they work with. In SQL Server 2005 Microsoft introduced TRYCATCH error handling. The code that could error is placed within a TRY block. If an error does occur, the code within the CATCH block executes. Several functions are available to assist in gleaning information about the error. See TRYCATCH in Books Online for more information. Prior to this, @@Error could be checked for an error code and then an error thrown using RAISERROR. Some may answer that they return the error in an output parameter or by using PRINT. RAISERROR can still be used to throw an error. As a matter of fact, a RAISERROR

called from the TRY block with a severity between 11 and 19 will cause execution to jump to the CATCH block.

How do you auto number rows in SQL Server?


Sometimes I have to rephrase this one to get the answer. What I'm looking for here is the candidate's knowledge of identity columns. Identity columns are used to automatically increment a column in a table from a seed (or starting) value and by a defined increment. If no seed is specified and no increment is specified, the first entry is 1 and the subsequent entries are incremented by 1. If either the seed or the increment is specified, other must be specified.

What is a left outer join? Give an example.


The answers I get on this one blow me away. I can't believe how many candidates I've interviewed that do not grasp this concept. Assume you have two tables, TableA and TableB. You need all the rows from TableA and all matching rows from TableB. You would use a left outer join to accomplish this with TableA being the left table as in the following.
SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.Col1 = TableB.Col1

What is a cursor and why would you use it?


The candidate will probably be able to tell you cursors are used to perform row-by-row processing on a result set. The candidate might tell you they use them for batch type processing. In their answer though I am secretly hoping the candidate will elaborate on performance issues with cursors and how it is preferred to use loops or set-based processing instead of cursors. If not, the follow up question here is "Is there another way to process the result set row-by-row without using a cursor?" To see more of my thoughts on cursors, see What Every DBA Ought to Know About SQL Server Cursors (and Their Alternatives).

Conclusion
The questions you may wish to ask or that will be asked of you will vary (like your mileage). Questions should be tailored to the job for which the candidate is applying. For instance, if you don't use triggers in your workplace, does it really matter if the candidate has a working knowledge of SQL Server triggers?

10. Explain why DBAs dont like cursors.

I like to phrase this interview question this way because Im not saying the DBA is right Im just asking the developer to explain the DBAs point of view. I dont have a problem with the developer rolling their eyes as they explain the answer, but I have a problem with the developer being surprised by the question. The candidate gets bonus points if they seem even vaguely aware of the terms set-based processing and rowbased processing, but thats purely a bonus. (I wish I could say that these concepts are requirements, but in todays economic market, companies dont always want to pay top dollar to get the best candidates.)

9. Where do you like business logic in the app or in the database? Why?
Personally, I like stored procedures because theyre easier for us DBAs to test, tune and tweak. On the other hand, the developer community isnt always as fond of stored procs. For their side, see these posts by Jeff Atwood:

Who Needs Stored Procedures, Anyway? Stored Procedures vs Ad-Hoc SQL My Database is a Web Service

I dont mind what arguments the coder candidate uses, but I want to see em put some thought into it. No matter which angle they take, Ill play the devils advocate and prod them with arguments just to see how they react.

8. Explain when and how transactions should be used.

Not In The Oprah Book Club, Oddly Start with just that open-ended interview question, and if they have trouble getting started, give them a scenario. Say weve got a table for Orders, and a table for OrderDetails. Someone places an order for two books Bacon: A Love Story and the hit bestseller Eat What You Want and Die Like A Man. Tell me what happens. After theyve answered, ask them when transactions should not be used. I dont want my developers wrapping anything inside a transaction unless it absolutely needs to be. (Unlike bacon, which should be used as often as possible for wrapping purposes.)

7. Explain referential integrity and where it can be enforced.

If they stumble on the question, circle back to the Orders and OrderDetails tables we used as examples earlier. Whats an orphan? How do we make sure that we dont end up with OrderDetails for records with no matching Order record? Where are all the places we could enforce referential integrity? (Think foreign keys, triggers, the application, or not at all.) Have you worked in places where there was no referential integrity, and what problems did you run into?

6. Whats the fastest way to get a thousand records into the database?
Im not looking for the best answers Im just looking to hear that theyve done some work to performance tune their queries. If theyre doing fully logged individual record inserts, one at a time, into a data warehouse-size system, were going to have problems down the road. (Yes, Ive actually worked with a BI developer that did millions of individual inserts per night in full recovery mode and thought the performance was the databases fault.) Bonus points if they link back to the previous interview question and talk about whether or not they should disable constraints or referential integrity during data loads. (I dont care what their final answer is, but I just want them to know the pros and cons.)

5. Whats the difference between a primary key and a clustered index?


This is almost a bonus question. Most of the time, the candidate doesnt know because its a function of the data modeler or architect, not the developer. However, I want to see how the candidate reacts to tough questions. Ideally, they say in a relaxed tone of voice, Im not sure, but I know who Id ask. If they dont mention where theyd go, ask them where they go for SQL Server answers. Speaking of which

Bonus Points for This Candidate

4. Whats your StackOverflow name?


I dont need to see a high reputation, but I do want to see an awareness of the site. This interview question serves two purposes: it finds out if theyre serious enough to be active in the community, and it shows them that youre okay with their community activity. Start a conversation with them about the level of internet time that you find acceptable in the office, and encourage them to share their knowledge with their peers. This sells the candidate on your shop.

3. Tell me about a time when a DBA got mad at you.


This is a spin on the classic interview question, Tell me about a time when you failed. Implemented a user-defined function, trigger, CLR in the database, or something else that made the DBA freak out? I want to hear that the candidate listened to what the DBA had to say, good or bad.

If they say its never happened, rest assured its going to happen soon.

2. How can you tell if a query will scale for production?


I want to hear that they do things like load tests or maybe look at execution plans. Im sometimes comfortable when a senior developer says things like, I can pretty well tell when something isnt going to scale, because I know the production boxes really well. The key is asking a followup question about times when things didnt scale.

1. When is the DBA right?


Always, kid. Always

1. What is DESCRIBE command in SQL Server 2005? What is its purpose? How to use it? DESCRIBE is used to see table structure. In SQL server 2005 we can use sp_columns, sp_tables or sp_help. sp_columns will show list of columns and its details in table. sp_tables will show list of tables in the databas 2. What is RDBMS? Relational Data Base Management Systems (RDBMS) are database management systems that maintain data records and indices in tables. Relationships created and maintained across tables between data. Interdependencies between these tables are defined by the data values. RDMS is based upon relational modal of E.F.Codd 3. Can UNIQUE KEY in SQL Server 2005 have two or more NULL? SQL server 2005 can not have more then one NULL, because in SQL server 2005 every null is having same value. UNIQUE KEY in ORACLE can have more then one NULL values as every NULL in ORACLE is having unique value.

4. What is a "trigger" in SQL Server 2005? In any database including SQL Server 2005 a trigger is procedure that initiates on INSERT, DELETE or UPDATE actions. Before SQL Server 2000 Triggers are also used to maintain the referential integrity. We can not execute triggers explicitly; the DBMS automatically fires the trigger when data modification events (INSERT, DELETE or UPDATE) happened in the associated table. Triggers are same as stored procedures in term of procedural logic that is stored at the database level. Stored procedures are executed explicitly and triggers are event-drive. Triggers can also execute stored procedures. Nested Trigger: A trigger can also contain INSERT, UPDATE and DELETE logic within itself, so when the trigger is fired because of data modification it can also cause another data modification, thereby firing another trigger. A trigger that contains data modification logic within itself is called a nested trigger. See Create Trigger for more 5. What is View in Database (SQL Server 2005, ORACLE)? As per the theory of database (which includes SQL Server 2005, Oracle etc.) a view can be thought of stored SQL query which result can be accessible as a table. It can be used for retrieving data, as well as updating or deleting rows. But database view does not have physical schema The results of using a view are not permanently stored in the database. The data accessed through a view is actually constructed using standard T-SQL select command and can come from one to many different base tables or even other views. See more on Database Views 6. How do you optimize stored procedures in SQL Server 2005? 1. Use as much as possible WHERE clause filters. Where Clause is the most important part for optimization 2. Select only those fields which really require. 3. Joins are expensive in terms of time. Make sure that use all the keys that relate the two tables together and don't join to unused tables, always try to join on indexed fields. The join type is important as well (INNER, OUTER).

7. How is the error handling in stored procedures of SQL Server 2005? In previous versions of SQL Server you would handle exceptions by checking the @@error global variable immediately after an INSERT, UPDATE or DELETE, and then perform some corrective action if @@error did not equal zero. SQL Server 2005 provides structured exception handing through TRY CATCH block as other programming language like JAVA, C# etc.
BEGIN TRY RAISERROR ('Yaa, I ma the problem', 16,1) END TRY BEGIN CATCH SELECT ERROR_NUMBER() as ERROR_NUMBER, ERROR_SEVERITY() as ERROR_SEVERITY, ERROR_STATE() as ERROR_STATE, ERROR_MESSAGE() as ERROR_MESSAGE END CATCH

ERROR_NUMBER() returns the number of the error. ERROR_SEVERITY() returns the severity. ERROR_STATE() returns the error state number. ERROR_PROCEDURE() returns the name of the stored procedure or trigger where the error occurred. ERROR_LINE() returns the line number inside the routine that caused the error. ERROR_MESSAGE() returns the complete text of the error message. The text includes the values supplied for any substitutable parameters, such as lengths, object names or times.

Can you explain about buffer cash and log Cache in sql server?
Latest answer: Buffer Cache: Buffer cache is a memory pool in which data pages are read. It performance of the buffer cache is indicated as follows:.............
Read answer

What is a Trace frag? Where do we use it?


Latest answer: Temporary setting of specific server characteristics is done by trace tags. DBCC TRACEON is the command to set the trace flags. Once activated, trace flag will be in effect until the server is restarted...............
Read answer

SSIS interview questions


Difference between control flow and data flow?, If you want to send some data from Access database to SQL server database. What are different component of SSIS will you use?, Explain why variables called the most powerful component of SSIS?..................
Read answer

Describe how to use Linked Server.


Latest answer: MS SQL Server supports the connection to different OLE DB on an ad hoc basis. This persistent connection is referred as Linked Server..............
Read answer

Explain how to send email from database.


Latest answer: SQL Server has a feature for sending mail. Stored procedures can also be used for sending mail on demand. With SQL Server 2005, MAPI client is not needed for sending mails................
Read answer

Explain how to make remote connection in database


Latest answer: The following is the process to make a remote connection in database: - Use SQL Server Surface Area Configuration Tool for enabling the remote connection in database...................
Read answer

Difference between cross join and Full outer join.


Latest answer: Cross Join : No join conditions are specified. Results in pairs of rows. Results in Cartesian product of two tables...............
Read answer

Explain the purposes of OPENXML clause sql server stored procedure.


Latest answer: OPENXML parses the XML data in SQL Server in an efficient manner. Its primary ability is to insert XML data to the RDB. It is also possible to query the data by using OpenXML................
Read answer

What is the order in which the SQL query is executed?


Latest answer: The following is the order of executing SQL query: The query goes to the shared pool that has information like parse tree and execution plan for the corresponding statement...............
Read answer

Explain how to store pdf file in sql server.


Latest answer: Create a column as type blob in a table. Read the content of the file and save in blob type column in a table...............
Read answer

Explain the concepts and capabilities of SQL Server.


Latest answer: Microsoft SQL server is a relational database management system. It uses MS- SQL as the query language. SQL Server offers a high level of security, reliability and scalability depending on the business needs..............
Read answer

SQL Server interview questions for freshers and experienced


SQL Server 2008 interview questions
Explain inline variable assignment in sql server 2008 with an example. What is Compound Operators in sql server 2008? Explain with an example SQL Server 2008 introduces automatic auditing. Explain its benefits.............
Read answer

Explain the use of keyword WITH ENCRYPTION. Create a Store Procedure with Encryption.
Latest answer: WITH ENCRYPTION Indicates that SQL Server will convert the original text of the CREATE PROCEDURE statement to an encrypted format. Users that have no access to system................
Read answer

What is a linked server in SQL Server?


Latest answer: A linked server allows remote access. Using this, we can issue distributed queries, update, commands, and transactions across different data sources................
Read answer

Features and concepts of Analysis Services


Latest answer: 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...........
Read answer

What is Analysis service repository?


Latest answer: Each server running analysis service has a repository to store objects of the computer running Analysis Services an Analysis service repository stores the information about the.............
Read answer

What is SQL service broker?


Latest answer: SQL service broker provides asynchronous queuing functionality to SQL server. Once message is sent to the SQL server................
Read answer

What is user defined datatypes and when you should go for them?
Latest answer: User defined datatypes is created by using base SQL Server data type by providing a descriptive name.................
Read answer

What is bit datatype?


Latest answer: Bit datatype is used to store boolean information................
Read answer

What is lock escalation?


Latest answer: Lock escalation from SQL Server 7.0 onwards, is dynamically managed by SQL Server. It is..........
Read answer

What is blocking?
Latest answer: Blocking happens when one connection from an application holds a lock and a second............
Read answer

What is Public Role in SQL Server?


Latest answer: Every database has a public role which holds all the default permissions for the users in a database.................
Read answer

Discuss about SQL Server Login.


Latest answer: SQL server login is used to connect to SQL server. This used when login in through the windows login credentials is not existent.............
Read answer

Discuss about Builtin\Administrator.


Latest answer: The built in Administrator Account is basically used during some setup to join some machine in the domain............
Read answer

Failover clustering overview


Latest answer: Failover clustering is mainly used for data availability. Typically in a failover cluster, there are two machines. One machine provides the basic services and the second is available to run..................
Read answer

Describe the XML support SQL server extends.


Latest answer: SQL server can return XML document using FOR XML clause.................
Read answer

Explain in brief how SQL server enhances scalability of the database system.
Latest answer: SQL Server has efficient ways to enhance scalability of the database system...............
Read answer

What is SQL Server English Query?


Latest answer: SQL Server English Query helps to build applications that can accept query.............
Read answer

What is the purpose of SQL Profiler in SQL server?


Latest answer: SQL Profiler captures SQL Server events from a server. The events are saved.................
Read answer

What are the ways available in SQL Server to execute SQL statements?
Latest answer: SQL Server uses different ways to execute SQL statements which are listed below................
Read answer

Explain Full-Text Query in SQL Server.


Latest answer: SQL Server supports searches on character string columns using Full-Text Query...............
Read answer

Explain the phases a transaction has to undergo.


Latest answer: The several phases a transaction has to go through are listed here. Database..............
Read answer

What is XPath?
Latest answer: XPath is a language defined by the W3C, used to select nodes from XML documents..............
Read answer

Define the rules for designing Files and File groups in SQL Server.
Latest answer: A file or file group can only be used by one database. For example, the files abc.mdf and abc.ndf contains.................
Read answer

What are the Authentication Modes in SQL Server?


Latest answer: SQL Server supports two security (authentication) modes................
Read answer

Explain Data Definition Language, Data Control Language and Data Manipulation Language.
Latest answer: Data definition language is used to define and manage all attributes and properties of a database..............
Read answer

What are the steps to process a single SELECT statement?


Latest answer: SQL Server uses the following steps to process a single SELECT statement............
Read answer

What are the restrictions while creating batches in SQL Server?


Latest answer: CREATE DEFAULT, CREATE PROCEDURE, CREATE RULE, CREATE TRIGGER, and CREATE VIEW statements..............
Read answer

Explain GO Command.
Latest answer: GO Command is used to signal the end of a batch...............
Read answer

What is the significance of NULL value and why should we avoid permitting null values?
Latest answer: Null means no entry has been made. It implies that the value is either unknown or undefined............
Read answer

What is the difference between UNION and UNION ALL?


Latest answer: UNION command selects distinct and related information from two tables. On the other hand..............
Read answer

What is use of DBCC Commands?


Latest answer: Database Consistency Checker Commands give details in form of statistics about the SQL Server..............
Read answer

What is Log Shipping?


Latest answer: UNION command selects distinct and related information from two tables. On the other hand.............
Read answer

What is the difference between a Local and a Global temporary table?


Latest answer: A local temporary table lives until the connection is valid or until the duration of a compound statement.........
Read answer

What is the STUFF and how does it differ from the REPLACE function?
Latest answer: STUFF function is used to insert a string into another string by deleting some characters specified.............
Read answer

Sql Server interview - May 7, 2011 by Swati Parakh

Explain various data region available in SSRS with their use.


Data regions are report items used to display data from a single dataset. You can perform grouping, sorting and various aggregate functions on data in data region. In SSRS 2005, there were 4 data regions:1. Table 2. Matrix 3. List 4. Chart While in SSRS 2008, there are one additional data region namely Gauge. Lets explain each one of them: 1. Table - Table Data region has fixed tabular structure i.e. fixed number of columns. It is useful for displaying data grouped by row. You can have maximum of 1 report item per cell. The size of table depends on number of rows dataset fetches i.e., if number of rows returned by dataset is more; it can expand to multiple pages. 2. Matrix A matrix data region display data in pivot table format, hence also popularly known as pivot table or crosstab report. It has minimum of one row group and one column group. The size of matrix data region depends on columns and rows fetched. 3. List - A list data region is free layout. It is useful for complex reporting resign. The list can be used to display multiple table and matrix. Each getting data from different dataset. 4. Chart This data region is for displays the data graphically i.e., in form of chart. A various chart types are available in SSRS 2008 namely line, pie chart, columns etc. 5. Gauge - This can be used in a table or matrix to show the relative value of a field in a range of values in the data region. You can also add a gauge to the design surface to show a single relative value.

What are various ways to enhance the SSRS report? Explain.


There are various ways in which you can enhance your report: 1. Display your data in graphic format using Chart Region. 2. Use sorting. 3. If couple of reports are related, you can make them interactive using connect them using bookmark link, hyper link or drill through report link. 4. Adding sub-report. Sub-report is a stand-alone report which can be link to another report based on its content using parameter. 5. Add custom fields. Custom fields provide with same functionality as alias columns provide in SQL server query. It is the timing of the operation that differs from the alias columns. The calculation is performed on dataset by report server. 6. Using expression. 7. Using custom code. SSRS allows including custom code written in VB.Net. 8. Add document map (navigational links to report item once report is rendered) to report.

Sql Server interview - July 7, 2011 by Swati Parakh


What are various aggregate functions that are available?
The following are various aggregate functions available:1. SUM 2. AVG

3. COUNT 4. COUNTDISTINCT 5. MAX 6. MIN 7. STDEV 8. STDEVP 9. VAR 10. VARP By default, SUM is the aggregate function used for numeric data type.

How do you integrate the SSRS reports in your application?


There are 3 ways in which you can integrate reports into your application:1. Navigating to URL i.e. https:\\servername\reportservername\reportname This is simplest and most popular way. A separate login might be required since we are directly calling the report from report server. Address of report server gets expose to user. 2. Using IFrame, Browser control or Report Viewer Control In this approach, we embed the URL of report server in our application, hence address of reportserver is not exposed. No separate window opens. A user does not come to know that he has moved to different server. 3. Programmatically sending a web request using SOAP to report server.

Explain use of Expression builder.


Expressions provide us with flexibility to customize our report. It is written in Visual basic and is used throughout the report to to retrieve, calculate, display, group, sort, filter, parameterize, and format the data in a report. They start with equal sign (=). Property, Context and Dialog Box

S.No. Functionality

Expression

Colour for a placeholder inside of Format data in a text box =IIF(Fields!TotalDue.Value < a text box in the details row for a depending on value 10000,"Red","Black") Tablix Value for a placeholder inside of Dynamic page header or a text box that is placed in the footer content. page header or footer. ="Page " & Globals!PageNumber & " of " & Globals!TotalPages

Specify page breaks for Group expression for a group in a every 20 rows in a Tablix =Ceiling(RowNumber(Nothing)/20) Tablix. with no other groups. Shows the user ID of the person running the Value report To get first day of the month To get the current date Value Value

=User!UserID

5 6

=DateSerial(Year(Today()),Month(Today()),1) =Today()

To get last day of the month

Value

=DateAdd("d",1,DateSerial(Year(Today()),Month(Today())+1,1))

Sql Server interview - July 10, 2011 by Swati Parakh


Difference between drill down and drill through report.
Both the drill down and drill through report provide interactive functionality to the SSRS report. The differences are as follows:-

Trait Retrieves Data Is processed and rendered when Performance

Drill Down Data retrieved at the same time as main report With the main report Slower since retrieves all data with main report Within main report

Drill Through Data retrieved one click on link of drill through report When link is clicked Faster (but does not retrieve all data with main report) Separately either in separate window or tab

Is displayed

Whats the use of custom fields in report?


Custom fields can be defined as alias column of the report since the operation is performed on report server rather than on database server. The custom field is very useful for the data manipulation like adding some fields whose value can be calculated based on expression, text e.g. instead of CName fetched from database, I want the dataset to display Customer Name etc. We can add custom fields as right click on dataset, select add in Dataset window. The New field dialog box will open, we can add name of custom field and also mention whether it is database field or calculated one. If it is calculated, then we can mention the computation in this window.

Can we use custom code in SSRS? If so, explain how we can do.
Yes, we can. SSRS allows developer to add custom code in your report. You can write the code directly into embedded VB.Net and call it using property expression or you can write a custom class library and refer it in report server. The advantage of first method is that it is simple and easy to use but disadvantage is that it is available for that report only. While the second method has advantage of being available for multiple reports but it has much of configuration overhead. To write custom code, right click on Report Designer outside report body and select Properties and go to Code tab and you can write custom code here.

To add custom class library, right click on Report Designer outside report body and select Properties and go to Reference tab and add the reference by browsing to the assembly of your class library. Note that you need to create class library and then compile it before referencing it in your SSRS report.

Sql Server interview - July 16, 2011 by Swati Parakh


Difference between report and query parameter. Why do we need different type of parameter?
Query Parameter Defined At Database Level Automatically if database query or stored procedure has a parameter On Database Server Filtering of Data, Security of Data Report Parameter Report Level Automatically if report has some query parameter and is mapped to query parameter On Report Server Manipulate data, interconnect reports, filtering data

Created

processed Use

Processing Output

Number of records presented is based on Number of records returned is based query. Note- Records processed on report parameter would be same as records on query parameter returned based on query parameter. Performance is good Full set of records is retrieved then filtered. Hence, performance is low

Filtering data based on them

How does your SSRS maintain security?


Reporting services maintain role based security. When a user logs into reporting services, a Report Manager (whose duty is to maintain security of Reporting Services) first checks the identity of user and then determine what rights he have to perform on report. Report Manager manages the security at 2 levels 1. System-level Administer the report server globally 2. Item-level Security at report and dataset level System-level roles are:1. System Administrator can manage report server and report manager security 2. Site User - view basic information like report properties and schedules.

Item-level roles User can use any of predefined item-level roles or create their own roles by using combination of predefined item-level roles. Pre-defined Item-level roles are:1. Browser can navigate to report and run them. 2. My Reports these users rights is restricted to reports present in their MyReports folder. However, they can create, view and manage reports in their folder. 3. Publisher As name suggest, publisher user has rights to publish reports to Reporting Server database. 4. Content Manager has all permission at item-level.

Test your sql server knowledge with our multiple choice questions

You might also like