SQL Server Performance Tuning

SQL Server 2014 Performance – Resource Governor Enhancements and Buffer Pool Extension

In this second of the three part article series, we will first take a look at Resource Governor Enhancements for Physical IO.  Finally, we will talk about buffer pool extension feature. Resource Governor Enhancements for Physical IO control Resource Governor allows us to manage our workloads. This feature was first introduced with SQL Server 2008. […]

Four Key New Performance Features SQL Server 2014 – Part 1

The latest release of SQL Server 2014 has several new performance-related features as well as significant enhancements to the existing performance features. With these new performance-related enhancements of SQL Server 2014 we can significantly improve the performance of high transactional OLTP applications. In this first of the three part article series, we will take a […]

Improved Online Operations in SQL Server 2014

Online indexing rebuilding was a major breakthrough from SQL Server to support users re-indexing while the clustered index (or table) and other indexes are available during the index rebuild operation.   However, in real world there are multiple issues with these online operations as it does not have much flexibility. In SQL Server 2014, there are […]

Viewing Execution Plans While Queries are Running

Analyzing execution plans is a key tool when analyzing query performance. As most of you are aware there are two ways of analyzing query plans, namely ‘Include Actual Execution Plan’ and ‘Display Estimated Query Plan’ The Include Actual Execution Plan option will provide the execution plan after the completion of the query. However, this option […]

Refresh the Staging Server with Production Data – A Real World Scenario.

Recently I had to restore the Production Reporting Database Server onto our Staging environment for testing. This database was around 280 GB in size with around 120 GB of data in the Primary Data File (.mdf), 130 GB of data in the Secondary Data File (.ndf) and around 30 GB of Transactional Log File (.ldf). […]

Troubleshoot Database Concurrency in SQL Server with sp_locks

General Database concurrency can be defined as the number of users that can work at a given database at the same time while not effecting or interfering with eachother’s work. The greater the number of users working at the same time the higher concurrency is. SQL Server holds Locks on user data to protect data […]

Understanding SQL Server Query Optimization – Part 4

Editor’s Note: In the first of this four part series, I gave an overview of the tools and techniques of query optimization in SQL Server. In the second part, I talked about the process of displaying and interpreting query execution plans. I also showed how to generate query execution plans using SQL Server Management Studio, […]

SQL Server Optimizer – Under the Hood Part 1

SQL Server Optimizer, Under the Hood – Partial Aggregates Abstract: In this series of short articles, we lift the hood of the SQL Server Optimizer to examine a few of the many clever tricks used to optimize query performance.  You’ll see that the Optimizer does not limit itself to using only the instructions provided by […]

How to Optimize SQL Server Query Plans – The Devil is in the Detail

When dealing with the performance database any detail should can never be neglected, because even the smallest thing can turn out to be a great opportunity for query optimization. Generally, one needs a significant amount of experience to detect that kind of details easily. But what shall the rest do till they gain the required […]

Executing an SSIS Package Programmatically

Pre-requistes To execute a package programatically you need to have basic knowledge of either C# or VB which are both object oriented languages. Visual Studio 2008 SP1 or higher needs to be installed along with SQL Server 2008 or higher. Introduction  Most of us are pretty familiar with SSIS package development as well as deployment. […]