<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlserver-qa.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">SQL Server Transact-SQL (SSQA.net)</title><subtitle type="html">Transact-SQL (TSQL) features control-of-flow language, local variables with various support functions for string processing, date processing, mathematics, etc.  Here you will find the TSQL tips, tweaks to improve the code to attain the performance.</subtitle><id>http://sqlserver-qa.net/blogs/t-sql/atom.aspx</id><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/default.aspx" /><link rel="self" type="application/atom+xml" href="http://sqlserver-qa.net/blogs/t-sql/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61129.2">Community Server</generator><updated>2008-04-03T12:32:00Z</updated><entry><title>Outputting DBCC results </title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/26/4665.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/26/4665.aspx</id><published>2008-07-26T11:29:00Z</published><updated>2008-07-26T11:29:00Z</updated><content type="html">Sometimes it may be useful to reuse the result of the DBCC commands. If the DBCC command resturns a resultset, it can be outputted to a table. Consider the following command DBCC useroptions It returns a single resultset. To copy the resultset to a table, you can use the following Create table #dbcc_useroptions ( [set option] varchar ( 100 ), [value] varchar ( 100 )) insert into #dbcc_useroptions exec ( 'DBCC useroptions' ) select * from #dbcc_useroptions drop table #dbcc_useroptions Note that it...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/26/4665.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4665" width="1" height="1"&gt;</content><author><name>Madhivanan</name><uri>http://sqlserver-qa.net/members/Madhivanan.aspx</uri></author><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="T-SQL" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/T-SQL/default.aspx" /><category term="DBCC output" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/DBCC+output/default.aspx" /></entry><entry><title>Ordering Interger values stored in Varchar column </title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/21/4636.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/21/4636.aspx</id><published>2008-07-21T14:21:00Z</published><updated>2008-07-21T14:21:00Z</updated><content type="html">I have seen many newbies asking "How do I sort the numbers stored in varchar columns?" Here are some methods declare @t table ( data varchar ( 15 )) insert into @t select '6134' union all select '144' union all select '7345' union all select '109812' union all select '100074' union all select '1290' union all select '45764' --Method 1 select data from @t order by cast ( data as int ) --Method 2 select data from @t order by data + 0 --Method 3 select data from @t order by len ( data ), data --Method...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/21/4636.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4636" width="1" height="1"&gt;</content><author><name>Madhivanan</name><uri>http://sqlserver-qa.net/members/Madhivanan.aspx</uri></author><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="T-SQL" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/T-SQL/default.aspx" /><category term="sorting" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sorting/default.aspx" /></entry><entry><title>Varchar(max) datatype and Replicate function </title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/15/4612.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/15/4612.aspx</id><published>2008-07-15T13:54:00Z</published><updated>2008-07-15T13:54:00Z</updated><content type="html">As you know, Replicate function is used to repeat a character expression for a specified number of times. But by default the result is converted to varchar of maximum size 8000 when you dont convert the expression to specific type Consider the following example declare @v varchar ( max ) set @v = replicate ( 'a' , 50000 ) select len ( @v ), datalength ( @v ) Note that the result is not 50000 but 8000 because by default the result is limited to the maximum size of 8000 for varchar/char datatype To...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/15/4612.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4612" width="1" height="1"&gt;</content><author><name>Madhivanan</name><uri>http://sqlserver-qa.net/members/Madhivanan.aspx</uri></author><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="T-SQL" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/T-SQL/default.aspx" /><category term="Replicate" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/Replicate/default.aspx" /></entry><entry><title>TSQL to get TOP 10 queries that are using I/O generation, SQL Server 2005</title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/14/4581.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/14/4581.aspx</id><published>2008-07-14T10:26:00Z</published><updated>2008-07-14T10:26:00Z</updated><content type="html">DMVs are most helpful to find instant information on SQL instance without causing further delays, in any performance degradation time you can execute following TSQL to get top 10 queries that are generating lots of I/O on the server: SELECT TOP 10 total_logical_reads, total_logical_writes, execution_count, total_logical_reads+total_logical_writes AS [IO_total], st.text AS query_text, db_name(st.dbid) AS database_name, st.objectid AS object_id FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(sql_handle)...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/14/4581.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4581" width="1" height="1"&gt;</content><author><name>sqlmaster</name><uri>http://sqlserver-qa.net/members/sqlmaster.aspx</uri></author><category term="tsql" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/tsql/default.aspx" /><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="dmv" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/dmv/default.aspx" /><category term="query plan" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/query+plan/default.aspx" /><category term="sysindexes" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sysindexes/default.aspx" /><category term="querystats" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/querystats/default.aspx" /></entry><entry><title>Quick and simple way to know the stored procedures parameters using TSQL</title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/08/4556.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/08/4556.aspx</id><published>2008-07-08T11:13:00Z</published><updated>2008-07-08T11:13:00Z</updated><content type="html">As you may be aware that you can pass parameters to the stored procedure when you have the selection of data requirement such as stored procedure with data type,length, parameter position and also the mode of parameter (Input or Output). Using INFORMATION_SCHEMA views you can get further information on what kind of parameters are used within a stored procedure without viewing the stored procedure or calling it to execute. select Specific_Name as 'Procedure_Name', Parameter_Name, Ordinal_Position...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/07/08/4556.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4556" width="1" height="1"&gt;</content><author><name>sqlmaster</name><uri>http://sqlserver-qa.net/members/sqlmaster.aspx</uri></author><category term="tsql" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/tsql/default.aspx" /><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="stored procedure" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/stored+procedure/default.aspx" /><category term="information schema" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/information+schema/default.aspx" /><category term="views" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/views/default.aspx" /><category term="parameter" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/parameter/default.aspx" /></entry><entry><title>When was my Server restarted? </title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/06/09/4442.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/06/09/4442.aspx</id><published>2008-06-09T15:35:00Z</published><updated>2008-06-09T15:35:00Z</updated><content type="html">Temporary database tempdb is created whenever the Server is restarted. So you can know when Server was restarted by knowing the creation date of the tempdb EXEC sp_helpdb tempdb select crdate from master..sysdatabases where name='tempdb'...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/06/09/4442.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4442" width="1" height="1"&gt;</content><author><name>Madhivanan</name><uri>http://sqlserver-qa.net/members/Madhivanan.aspx</uri></author><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="tempdb" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/tempdb/default.aspx" /></entry><entry><title>SQL Server 2005 DMV - quick information to find resource allocation &amp; DDL bottleneck</title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/06/09/4426.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/06/09/4426.aspx</id><published>2008-06-09T08:29:00Z</published><updated>2008-06-09T08:29:00Z</updated><content type="html">Initially I preferred to put this blog post within Performance tuning blog section here, but as it relates to the TSQL script thought this is best place to go. Anyways, if you have a performance problem the foremost option is to find whether the server resources are utilized properly or not, this is where SQL Server migth encounter the allocation bottleneck in terms of memory &amp;amp; query exeuction. The following DMV will get the information about about the waits encountered by threads that are in...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/06/09/4426.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4426" width="1" height="1"&gt;</content><author><name>sqlmaster</name><uri>http://sqlserver-qa.net/members/sqlmaster.aspx</uri></author><category term="tsql" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/tsql/default.aspx" /><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="performance" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/performance/default.aspx" /><category term="dmv" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/dmv/default.aspx" /><category term="contention" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/contention/default.aspx" /><category term="ddl" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/ddl/default.aspx" /><category term="bottleneck" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/bottleneck/default.aspx" /></entry><entry><title>SQL Server: Creating BlackBox kind of trace with TSQL</title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/28/4340.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/28/4340.aspx</id><published>2008-05-28T11:59:00Z</published><updated>2008-05-28T11:59:00Z</updated><content type="html">Here is the kind of scripts defined within TEchnet articles about running black-box kind of traces against your SQL Server instance, then also you can take advantage of the blackbox trace if you are facing intermittent problems, you want to make sure that it is always running when your server is running—including after either a planned or unplanned restart. To accomplish this, you can set the blackbox trace to start automatically when SQL Server starts. First, wrap the trace definition in a stored...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/28/4340.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4340" width="1" height="1"&gt;</content><author><name>sqlmaster</name><uri>http://sqlserver-qa.net/members/sqlmaster.aspx</uri></author><category term="tsql" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/tsql/default.aspx" /><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="trace" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/trace/default.aspx" /><category term="profiler" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/profiler/default.aspx" /><category term="size" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/size/default.aspx" /><category term="blackbox" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/blackbox/default.aspx" /></entry><entry><title>How to drop all tables, all views, and all stored procedures from a SQL Server 2005 Database?</title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/20/4266.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/20/4266.aspx</id><published>2008-05-20T08:12:00Z</published><updated>2008-05-20T08:12:00Z</updated><content type="html">It may not be a hardcore requirement on day-to-day basis to drop all tables, views and stored procedures from a SQL Server database within your environment, but it will be handy to have such a code at your end when such task is required. There are 2 ways to accomplish this, first using undocumented stored procedure such as ' sp_MSforeachtable ' as follows: exec sp_MSforeachtable "DROP TABLE ? PRINT '? to be dropped' " Where the results will have all of the tables to be dropped, ok how about for views...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/20/4266.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4266" width="1" height="1"&gt;</content><author><name>sqlmaster</name><uri>http://sqlserver-qa.net/members/sqlmaster.aspx</uri></author><category term="tsql" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/tsql/default.aspx" /><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="stored procedure" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/stored+procedure/default.aspx" /><category term="drop" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/drop/default.aspx" /><category term="backup" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/backup/default.aspx" /><category term="best practice" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/best+practice/default.aspx" /><category term="views" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/views/default.aspx" /><category term="table" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/table/default.aspx" /></entry><entry><title>Simulating undocumented Procedures </title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/19/4273.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/19/4273.aspx</id><published>2008-05-19T14:00:00Z</published><updated>2008-05-19T14:00:00Z</updated><content type="html">Sometimes you may want to run a query against each database Suppose you want to find all dabase names where particular table exists. You can use undocumented procedure EXEC sp_msforeachdb 'SELECT table_catalog FROM ?.INFORMATION_SCHEMA.TABLES where table_name=''your_table''' Because they are undocmented, you cant always rely on them. Alternatively you can use the following methods 1 WHILE LOOP declare @dbname varchar ( 100 ), @database_id int , @table_name varchar ( 100 ) select @dbname = '' , @database_id...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/19/4273.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4273" width="1" height="1"&gt;</content><author><name>Madhivanan</name><uri>http://sqlserver-qa.net/members/Madhivanan.aspx</uri></author><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="T-SQL" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/T-SQL/default.aspx" /></entry><entry><title>SQL Server 2005 detect DAC session with TSQL</title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/09/4192.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/09/4192.aspx</id><published>2008-05-09T18:11:00Z</published><updated>2008-05-09T18:11:00Z</updated><content type="html">SQL Server 2005 has introduce a secret-door for Admins to identify and resolve any connect lockout issues within your database instance, as on http://sqlserver-qa.net/blogs/tools/archive/2007/08/04/dedicated-administrator-console-dac-saved-an-important-day-for-a-dba.aspx how. Use the following query to detect it Select t2.session_id, t2.program_name, t2.host_name, t1.name FROM sys.tcp_endpoints as t1 JOIN sys.dm_exec_sessions as t2 ON t1.endpoint_id=t2.endpoint_id WHERE t1.name=‘Dedicated Admin Connection...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/09/4192.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4192" width="1" height="1"&gt;</content><author><name>sqlmaster</name><uri>http://sqlserver-qa.net/members/sqlmaster.aspx</uri></author><category term="tsql" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/tsql/default.aspx" /><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="security" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/security/default.aspx" /><category term="dmv" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/dmv/default.aspx" /><category term="dac" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/dac/default.aspx" /><category term="session" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/session/default.aspx" /></entry><entry><title>Object Catalog Views in SQL Server 2005 </title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/03/4147.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/03/4147.aspx</id><published>2008-05-03T13:19:00Z</published><updated>2008-05-03T13:19:00Z</updated><content type="html">In addition to INFORMATION_SCHEMA VIEWS, in SQL Server 2005, we can use Object Catalog Views to know more informations about the objects Refer this http://msdn.microsoft.com/en-us/library/ms189783.aspx...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/03/4147.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4147" width="1" height="1"&gt;</content><author><name>Madhivanan</name><uri>http://sqlserver-qa.net/members/Madhivanan.aspx</uri></author><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="T-SQL" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/T-SQL/default.aspx" /></entry><entry><title>SQL Server: Quick way to find Active &amp; idle connections on a SQL instance</title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/02/4138.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/02/4138.aspx</id><published>2008-05-02T09:32:00Z</published><updated>2008-05-02T09:32:00Z</updated><content type="html">Using SQL Server 2005 you can take help of DMV - sys.dm_exec_connections that will give server-level information about the connections. In the olden days usage of sysprocesses system table used to be heavy and same approach can be achieved by using system DMVs within 2005 version onwards. All these DMVs - sys.dm_exec_connections , sys.dm_exec_sessions , and sys.dm_exec_requests dynamic management views map to the sys.sysprocesses system table. So if you have any adhoc code that used to get connections...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/05/02/4138.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=4138" width="1" height="1"&gt;</content><author><name>sqlmaster</name><uri>http://sqlserver-qa.net/members/sqlmaster.aspx</uri></author><category term="tsql" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/tsql/default.aspx" /><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="dmv" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/dmv/default.aspx" /><category term="transaction" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/transaction/default.aspx" /><category term="active" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/active/default.aspx" /><category term="sysprocesses" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sysprocesses/default.aspx" /><category term="connections" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/connections/default.aspx" /></entry><entry><title>Populating sample data</title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/04/04/3976.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/04/04/3976.aspx</id><published>2008-04-04T14:15:00Z</published><updated>2008-04-04T14:15:00Z</updated><content type="html">Sometimes you may need some sample data for testing purpose The following may help you in generating some sample data of different datatypes select abs ( checksum ( newid ()))% 10000 as intcol , abs ( checksum ( newid ()))* rand ()/ 100 as float_col , dateadd ( day , 0 , abs ( checksum ( newid ()))% 100000 ) as date_col , substring ( replace ( cast ( newid () as varchar ( 36 )), '-' , '' ), 1 , abs ( checksum ( newid ()))% 15 ) as varchar_col , abs ( checksum ( newid ()))% 2 as bit_col from master...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/04/04/3976.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=3976" width="1" height="1"&gt;</content><author><name>Madhivanan</name><uri>http://sqlserver-qa.net/members/Madhivanan.aspx</uri></author><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="T-SQL" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/T-SQL/default.aspx" /></entry><entry><title>Union Vs Union All</title><link rel="alternate" type="text/html" href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/04/03/3955.aspx" /><id>http://sqlserver-qa.net/blogs/t-sql/archive/2008/04/03/3955.aspx</id><published>2008-04-03T14:32:00Z</published><updated>2008-04-03T14:32:00Z</updated><content type="html">Well. Most of you know the diffrence between the two. http://blog.sqlauthority.com/2007/03/10/sql-server-union-vs-union-all-which-is-better-for-performance/ http://www.codethinked.com/post/2007/11/UNION-versus-UNION-ALL2c-lessons-in-minutiae.aspx Here is one of the differences that is not known by newbies When you use UNION, you cant include any column of type TEXT and NTEXT. But it is possible if you use UNION ALL Declare @test table ( i int , text_col text ) insert into @test select 1 , 'some test...(&lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2008/04/03/3955.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlserver-qa.net/aggbug.aspx?PostID=3955" width="1" height="1"&gt;</content><author><name>Madhivanan</name><uri>http://sqlserver-qa.net/members/Madhivanan.aspx</uri></author><category term="sql server" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/sql+server/default.aspx" /><category term="T-SQL" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/T-SQL/default.aspx" /><category term="union vs union all" scheme="http://sqlserver-qa.net/blogs/t-sql/archive/tags/union+vs+union+all/default.aspx" /></entry></feed>