August 2010 | SansSQL

Friday, August 13, 2010

Run a multi server Query in SQL server 2008 without using CMS

Hey guys, here is a way which you can use to run the same query on multiple servers without using CMS (Central Management Server).
In one of my article “Central Management Server”, I had explained on how to setup and use CMS.
In this article I will be showing how to run a multi server query without using CMS in SQL server 2008.
This is very simple.
Open the SQL Server 2008 SSMS (SQL Server Management Studio) and register the servers.
Right-Click on the registered Server Group and select “New Query”.



On the newly opened query window, run the below command
Select SERVERPROPERTY('ProductVersion') AS 'Version', 
SERVERPROPERTY('ProductLevel') AS 'Level', 
SERVERPROPERTY('Edition') AS 'Edition'

And here are the results

This article is also available in pdf format for downloading.
Please Click here to get your copy now.

Saturday, August 7, 2010

Changing the color of the Status bar in SQL Server 2008 Management Studio

Hey Guys are you bored of seeing the same color on the status bar each time you open the New Query window in your SQL Server 2008 Management Studio?
Here is the way how you can change the color of the status bar. This can be done for each server or for each window.
For Each Server:
Click on “Connect” on select “Database Engine”
Click on Options




And click on the check box “Use Custom Color:” and press “Select”

Now Click “OK” and then “Connect”.
Now right click on the server and choose “New Query” and notice the Status bar of the New Query Window, it will show the Color you choose in the previous step.



For Each Window:
Click on “File”, expand “New” and choose “Database Engine Query” and follow the same steps as above.

Covering Index or Index with Included Columns

Covering Index or Index with included Columns is a new functionality which is introduced in SQL Server 2005 onwards and is an extension to Non-Clustered Indexes.

From SQL Server 2005 onwards, the functionality of the Non-Clustered indexes can be extended by adding non-key columns to the leaf level of the Non-Clustered index. By including non-key columns, we can create Non-Clustered indexes that cover more queries.


This is because the non-key columns have the following benefits:
  • They can be data types that are not allowed as index key columns.
  • They are not considered by the Database Engine when calculating the number of index key columns or index key size.
So creating Covering Indexes can significantly improve the query performance because all the columns in the query are included in the index itself, either as key or nonkey columns. And only the index pages and not the data pages will be used in retrieving the data.
Covering indexes can bring in a lot of performance to the query, because it can save a huge amount of I/O operations.

How to Create a Covering Index:
Using T-SQL:

/*This query will create a non-clustered index by name IX_Address_PostalCode
on PostalCode Column and includes the non-key columns AddressLine1,
AddressLine2, City, StateProvince */

USE AdventureWorks;
GO
CREATE NONCLUSTERED INDEX IX_Address_PostalCode
ON SalesLT.Address (PostalCode)
INCLUDE (AddressLine1, AddressLine2, City, StateProvince);
GO

/* And the below Query will be covered by the index and gives more performance */

SELECT AddressLine1, AddressLine2, City, StateProvince, PostalCode
FROM SalesLT.Address
WHERE PostalCode BETWEEN '85000' and '90000';
GO

Using GUI:







This article is also available in pdf format for downloading.
Please Click here to get your copy.