Friday, July 13, 2012

Service Broker in Microsoft SQL Server


Service Broker in Microsoft SQL Server allows internal and external processes to send and receive guaranteed and asynchronous messaging.

Messages can also be sent to remote servers hosting databases as well. 


Service Broker use the concept of queues to put a message in a queue and continue with other applications asynchronously. This enables client applications to process messages at their leisure without blocking the service broker


The concepts of message ordering, coordination, multithreading and receiver management is used in Service Broker to solve some major message queuing problems. It allows for loosely coupled services, for database applications.

Analysis Service Repository in Microsoft SQL Server

Microsoft SQL Server running analysis service has a repository to store objects of the computer running Analysis Services an Analysis service repository.

It stores the information about the cubes, dimensions and other objects of the analysis server


Server computer where the analysis service is installed has by default repository an .mdf database.

Microsoft SQL Server Lock Escalation

Lock escalation is dynamically managed by Microsoft SQL Server. It is process of conversion of row locks and page locks into table locks thereby “escalating” the smaller or finer locks.

Lock escalation increases the system performance as each lock is nothing but a memory structure. Too many locks would mean more consumption of memory. Hence, escalation is used.

Blocking in Microsoft SQL Server

Blocking is one of the main problem which Microsoft SQL Server experience. Blocking happens due to following reason :

When one connection from an application holds a lock and a second connection requires a conflicting lock type. This causes the second connection to wait, blocked on the first. 


Second connection will be active only when first connection release lock required by second connection.

Failover Clustering in Microsoft SQL Server

Failover clustering in Microsoft SQL Server is used for data availability.

Typically two machines are used in a failover cluster. One machine provides the basic services and the second is available to run the service when the primary system fails. 


The primary system is monitored periodically to check if it works. This monitoring may be performed by the failover computer or an independent system also called as cluster controller. 


In an event of failure of primary computer, the failover system takes control.