<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqladvice.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SqlAdvice</title><link>http://sqladvice.com/blogs/default.aspx</link><description>Answers to SQL Questions</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 (Build: 60809.935)</generator><item><title>Determine SQL Server Version</title><link>http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx</link><pubDate>Wed, 13 Feb 2008 13:43:18 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:39564</guid><dc:creator>gstark</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;If you need to know the version you are currently running of SQL Server you can easily get it by running the following query.&amp;nbsp; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:e2457eab-23d4-43da-a2ce-c2cda97c1ade" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;SELECT&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;SQL Server &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; 
 &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;CONVERT&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;"&gt;),SERVERPROPERTY(&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;productversion&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;)) &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; - &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt;
 &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;CONVERT&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;"&gt;),SERVERPROPERTY(&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;productlevel&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;)) &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; - &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt;
 &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;CONVERT&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;100&lt;/span&gt;&lt;span style="color:#000000;"&gt;),SERVERPROPERTY(&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;edition&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;))&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx&amp;amp;;subject=Determine+SQL+Server+Version" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx&amp;amp;;title=Determine+SQL+Server+Version" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx&amp;amp;title=Determine+SQL+Server+Version" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx&amp;amp;;title=Determine+SQL+Server+Version" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx&amp;amp;;title=Determine+SQL+Server+Version&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/13/Determine-SQL-Server-Version.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=39564" width="1" height="1"&gt;</description></item><item><title>Arithabort Option Affects Stored Procedure Performance</title><link>http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx</link><pubDate>Tue, 12 Feb 2008 21:34:50 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:39533</guid><dc:creator>gstark</dc:creator><slash:comments>7</slash:comments><description>&lt;p&gt;I have noticed that at times I will have a stored procedure start to take an unusual amount of time to complete.&amp;nbsp; In trying to debug this I grab the SQL that is being called from the application and paste it into SQL Server Management Studio only to have it come back in a second.&amp;nbsp; So I try again from the application, and it takes well over a minute.&amp;nbsp; After hunting around and pulling out my hair as to why this would be I discovered that the connection from the application has the Arithabort option off and in SQL Server Management Studio, by default the Arithabort option is on.&amp;nbsp; So I went ahead and ran a set Arithabort off and then ran the stored procedure within SQL Server Management Studio and sure enough it ran forever.&amp;nbsp; From what I can tell having this option off was causing the query optimizer to pick some horrible query plan.&amp;nbsp; I know SQL Server caches query plans by the connection options, but this just doesn't make much sense to me.&amp;nbsp; The best fix I have come up with for this is to compile the proc with the "with recompile" option.&amp;nbsp; I don't really like this option as SQL Server won't cache the query plan, but I haven't found any other solutions that work consistently.&amp;nbsp; You can do this as such.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:2bbf4716-4c14-411a-9d92-dc0261266d5a" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;Create&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Procedure&lt;/span&gt;&lt;span style="color:#000000;"&gt; MyStoredProcedure
  &lt;/span&gt;&lt;span style="color:#008000;"&gt;@MyParameter&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;with&lt;/span&gt;&lt;span style="color:#000000;"&gt; Recompile
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt;
   &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am interested in what others have found for a solution to this problem or any other insight into this as it is quite annoying and if you haven't run into it before it can be quite time consuming and annoying.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx&amp;amp;;subject=Arithabort+Option+Affects+Stored+Procedure+Performance" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx&amp;amp;;title=Arithabort+Option+Affects+Stored+Procedure+Performance" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx&amp;amp;title=Arithabort+Option+Affects+Stored+Procedure+Performance" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx&amp;amp;;title=Arithabort+Option+Affects+Stored+Procedure+Performance" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx&amp;amp;;title=Arithabort+Option+Affects+Stored+Procedure+Performance&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=39533" width="1" height="1"&gt;</description></item><item><title>Off Topic: Strange VMWare Contest Rules</title><link>http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx</link><pubDate>Thu, 10 Jan 2008 20:13:25 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:38433</guid><dc:creator>gstark</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;This has to go down as one of the strangest requirements for a contest ever.&amp;nbsp; Check out the official rules for VMWare's contest to win an iPhone.&amp;nbsp; In section 4 "Selection of Winner" it states &lt;/p&gt; &lt;p&gt;"Canadian residents, if selected as a winner, must correctly answer a mathematical skill-testing question in order to receive a prize."&lt;/p&gt; &lt;p&gt;Apparently VMWare wants to make sure they are giving the iPhone to "educated" Canadians.&lt;/p&gt; &lt;p&gt;Here is a link to the actual pdf on their site for those that want to see it with their own eyes.&lt;/p&gt; &lt;p&gt;&lt;a title="http://campaign.vmware.com/docs/Legal_Copy_1939.pdf
" href="http://campaign.vmware.com/docs/Legal_Copy_1939.pdf"&gt;http://campaign.vmware.com/docs/Legal_Copy_1939.pdf&lt;br&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I have to believe that this was a joke and someone forgot to remove it...regardless it is definitely odd and very funny.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx&amp;amp;;subject=Off+Topic%3a+Strange+VMWare+Contest+Rules" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx&amp;amp;;title=Off+Topic%3a+Strange+VMWare+Contest+Rules" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx&amp;amp;title=Off+Topic%3a+Strange+VMWare+Contest+Rules" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx&amp;amp;;title=Off+Topic%3a+Strange+VMWare+Contest+Rules" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx&amp;amp;;title=Off+Topic%3a+Strange+VMWare+Contest+Rules&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2008/01/10/Off-Topic_3A00_-Strange-VMWare-Contest-Rules.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=38433" width="1" height="1"&gt;</description></item><item><title>SQL Server 2008 November CTP Released</title><link>http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx</link><pubDate>Mon, 19 Nov 2007 17:45:46 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:36677</guid><dc:creator>gstark</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;&lt;img src="https://connect.microsoft.com/siteimages/f9ad0f8c-50c1-4b65-aa88-1f225f1127e0.jpg"&gt; &lt;/p&gt; &lt;p&gt;Microsoft has released the latest SQL Server 2008 CTP.&amp;nbsp; This release has tons of new features including Intellisense for SSMS.&amp;nbsp; This one also includes the spatial datatypes which I know a lot of people have been waiting for.&amp;nbsp; You can go get the newest CTP &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3BF4C5CA-B905-4EBC-8901-1D4C1D1DA884&amp;amp;displaylang=en" target="_blank"&gt;here&lt;/a&gt;.&amp;nbsp; For a list of all new features included in this CTP, you can go &lt;a href="https://connect.microsoft.com/SQLServer/content/content.aspx?ContentID=5470" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx&amp;amp;;subject=SQL+Server+2008+November+CTP+Released" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx&amp;amp;;title=SQL+Server+2008+November+CTP+Released" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx&amp;amp;title=SQL+Server+2008+November+CTP+Released" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx&amp;amp;;title=SQL+Server+2008+November+CTP+Released" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx&amp;amp;;title=SQL+Server+2008+November+CTP+Released&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/19/SQL-Server-2008-November-CTP-Released.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=36677" width="1" height="1"&gt;</description></item><item><title>Increase Animation Speed in SQL Server Management Studio</title><link>http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx</link><pubDate>Fri, 16 Nov 2007 14:34:51 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:36617</guid><dc:creator>gstark</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;I set all my tool bars to be fly outs and it is fairly annoying how slow the animation is.&amp;nbsp; I found this link and decided to try it out and it works great!&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/euanga/archive/2007/10/01/ssms-window-animation-speed.aspx"&gt;http://blogs.msdn.com/euanga/archive/2007/10/01/ssms-window-animation-speed.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I would be interested in knowing other configuration settings you can change in that file as well.&amp;nbsp; Let me know if you know of any others.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx&amp;amp;;subject=Increase+Animation+Speed+in+SQL+Server+Management+Studio" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx&amp;amp;;title=Increase+Animation+Speed+in+SQL+Server+Management+Studio" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx&amp;amp;title=Increase+Animation+Speed+in+SQL+Server+Management+Studio" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx&amp;amp;;title=Increase+Animation+Speed+in+SQL+Server+Management+Studio" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx&amp;amp;;title=Increase+Animation+Speed+in+SQL+Server+Management+Studio&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/11/16/Increase-Animation-Speed-in-SQL-Server-Management-Studio.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=36617" width="1" height="1"&gt;</description><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Sql+Server/default.aspx">Sql Server</category><category domain="http://sqladvice.com/blogs/gstark/archive/tags/SQL+Server+Management+Studio/default.aspx">SQL Server Management Studio</category></item><item><title>Full Text Indexing Overhead</title><link>http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx</link><pubDate>Fri, 09 Nov 2007 23:26:33 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:36388</guid><dc:creator>michael.k.campbell</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I think that there's a tendency among DBAs and SQL Server wonks to be a bit dismissive of Full Text Indexing. I think that in a lot of cases people tend to think of it in terms of adding significant overhead. &lt;/p&gt; &lt;p&gt;For a long time I actually looked at it as being a more powerful, but more EXPENSIVE, form of searching. Then I actually had the chance to work with it (in a past life) a good deal, and found that it didn't really add that much overhead in a lot of cases. In fact, I found that it was actually pretty cool technology and afforded a lot of functionality with no noticeable performance hits. Though, I found that indexes frequently crashed a lot and needed an extra bit of 'love' to keep them functioning correctly. (This was all on SQL Server 2000.)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;But in some cases it can yield insane performance benefits&lt;/strong&gt;&lt;br&gt;Fast-forward to today. I'm currently working with a client that has a decent sized database (about 20GB). More than 5GB of that DB is made up of a 'Books' table - which has about 8M rows. The table has both and author and title domain, and each of them is pretty wide (nvarchar(300) and above). This table provides the backing for key functionality, and users frequently search for authors or titles using LIKE and wildcards. We all know that's nasty - as it forces a scan. &lt;/p&gt; &lt;p&gt;These searches were actually causing a table-scan, which was throwing off excessive reads, and generating massive amounts of CPU utilization. To the point where you could literally SEE each of these queries show up in task manager - as the CPU spiked to handle the underlying scan. The image below helps highlight the severity of the problem - with each of the scanning queries represented by the spike you can see:&lt;/p&gt; &lt;p&gt;&lt;img height="213" alt="PreFullTextIndex" src="http://overachiever.net/rr/caps/prefulltextindex.gif" width="497"&gt; &lt;/p&gt; &lt;p&gt;I threw an index against each of the columns, figuring that a search on something like '%JRR%Tolkien%' against such a big table would likely prefer to use an index scan instead of a table scan. Both of those indexes required 533MB of Disk to create. And, sure enough, SQL Server used those indexes as soon as they appeared, but it only cut the reads in about 1/4th of what they used to be, and still kept CPU utilization about where it had been before - meaning that you could still SEE these queries being executed by their tell-tale CPU spikes. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Enter Full Text Indexing&lt;/strong&gt;&lt;br&gt;I figured that since Full Text Indexing actually tokenizes index data, instead of merely storing it in a B-Tree, that we'd end up with a much smaller index structure. I also hoped, that if we could get a smaller index to work from, we'd see a commensurate decrease in the amount of reads/churn going on on the server. &lt;/p&gt; &lt;p&gt;Creating a Full Text Index on 8M+ rows took a fair while. But I was happy to see that it was only 133MB (compared to the 533MB of the 'traditional' indexes). That made me hopeful that we'd at least see around a 1/4th reduction in the amount of reads. &lt;/p&gt; &lt;p&gt;Turns out I got way more than I had anticipated. The actual execution plan for the query using LIKE and % was coming in at a cost of around 27 or 28 on a consistent basis. It was also taking 5-7 seconds&amp;nbsp;for each query.&amp;nbsp;(Yeah, that puts it almost into the realm of making it a 'query from hell' - but definitely something you don't want people just firing off in an 'ad-hoc' fashion like they actually NEED to do with this query in question.)&lt;/p&gt; &lt;p&gt;With the full text index, the actual execution plan drops down to .27 - making it fully 100 times faster than its traditional counterpart. Execution time dropped down&amp;nbsp;to 0 seconds (in Management Studio) as well.&amp;nbsp;In past cases where I had used Full Text Indexing, I was only dealing with a table with less than&amp;nbsp;300K rows. Suffice it to say I was pretty tickled at the insane performance boost provided on an 8M row table with semi-wide domains (author and title) being indexed. &lt;/p&gt; &lt;p&gt;So, keep those insane performance benefits in mind the next time you're tempted to be a bit dismissive of the 'overhead' that Full Text Indexing might add to your environment.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx&amp;amp;;subject=Full+Text+Indexing+Overhead" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx&amp;amp;;title=Full+Text+Indexing+Overhead" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx&amp;amp;title=Full+Text+Indexing+Overhead" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx&amp;amp;;title=Full+Text+Indexing+Overhead" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx&amp;amp;;title=Full+Text+Indexing+Overhead&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/09/Full-Text-Indexing-Overhead.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=36388" width="1" height="1"&gt;</description><category domain="http://sqladvice.com/blogs/repeatableread/archive/tags/Tips+And+Tricks/default.aspx">Tips And Tricks</category><category domain="http://sqladvice.com/blogs/repeatableread/archive/tags/Raves/default.aspx">Raves</category></item><item><title>Microsoft's direction with SQL Server Tools</title><link>http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx</link><pubDate>Fri, 09 Nov 2007 05:42:28 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:36364</guid><dc:creator>michael.k.campbell</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I'm with Stephen Wynkoop on this one - I'm not sure I'm too hip on Microsoft's emerging direction to divide SQL Server Tools into Developer and Admin Roles. &lt;/p&gt; &lt;p&gt;Stephen just &lt;a href="http://www.sswug.org/columnists/editorial.asp?id=1288"&gt;posted&lt;/a&gt; an editorial based on an interview that he had with Matt Nunn, and points out that Matt confirmed that Microsoft is trying to divide tools along discipline lines - wherein developer related tools will be in Visual Studio (VS) and DBA related tools will be in Management Studio (MS). &lt;/p&gt; &lt;p&gt;Stephen does a good, non-inflamatory, review of the pros and cons&amp;nbsp;- but effectively ends with the opinion that he doesn't think it works for mixed-hat DBA/Developers. &lt;/p&gt; &lt;p&gt;I think he's spot on. Most likely because I think that there are likely VERY few DBAs out there that don't see some part of their job related to writing, modifying, or tuning code. Even if it's just a question of creating spiffy queries based on dynamic management views, most DBAs are going to want full-powered development IDEs/tools at their disposal to quickly pound-out scripts that they'll likely end up saving and occasionally re-using. &lt;/p&gt; &lt;p&gt;I'd say give developers powerful tools as planned, give DBAs the additional 'DBA' related tooling, and then give DBAs the option to install additional tools and support when they install MS to their own boxes. Just make it an option. Otherwise I really see myself possibly switching to use a tool from a third party. &lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx&amp;amp;;subject=Microsoft%27s+direction+with+SQL+Server+Tools" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx&amp;amp;;title=Microsoft%27s+direction+with+SQL+Server+Tools" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx&amp;amp;title=Microsoft%27s+direction+with+SQL+Server+Tools" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx&amp;amp;;title=Microsoft%27s+direction+with+SQL+Server+Tools" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx&amp;amp;;title=Microsoft%27s+direction+with+SQL+Server+Tools&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/repeatableread/archive/2007/11/08/Microsoft_2700_s-direction-with-SQL-Server-Tools.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=36364" width="1" height="1"&gt;</description><category domain="http://sqladvice.com/blogs/repeatableread/archive/tags/Theory+vs+Reality/default.aspx">Theory vs Reality</category><category domain="http://sqladvice.com/blogs/repeatableread/archive/tags/Misc/default.aspx">Misc</category></item><item><title>Change Login's Default Database in SQL Server</title><link>http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx</link><pubDate>Tue, 16 Oct 2007 12:18:33 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:35714</guid><dc:creator>gstark</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;If you have ever dropped a database and found yourself not able to login because your default database no longer exists you know it can be quite annoying.&amp;nbsp; You can still connect through query analyzer by connecting to a different database, but you won't be able to do anything through the object explorer as it always defaults to your default database.&amp;nbsp; The sql below will solve your problems.&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:1a314a52-7805-46e3-bb16-46f7982f5da3" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;alter&lt;/span&gt;&lt;span style="color:#000000;"&gt; login  MyLogin
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;with&lt;/span&gt;&lt;span style="color:#000000;"&gt; default_database &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; master
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;If you need to alter a login that is using windows authentication use the following code.&amp;nbsp; The only difference is you just have to specify the domain and the directory login and put it in brackets.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;
&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:77cc8f04-1356-4f82-bd41-7b05d3f3b4d9" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;alter&lt;/span&gt;&lt;span style="color:#000000;"&gt; login  &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;MyDomain\MyLogin&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;with&lt;/span&gt;&lt;span style="color:#000000;"&gt; default_database &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; master
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;I hope this helps and if not at least I will be able to easily find the solution next time I run into it.&amp;nbsp; &lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx&amp;amp;;subject=Change+Login%27s+Default+Database+in+SQL+Server" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx&amp;amp;;title=Change+Login%27s+Default+Database+in+SQL+Server" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx&amp;amp;title=Change+Login%27s+Default+Database+in+SQL+Server" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx&amp;amp;;title=Change+Login%27s+Default+Database+in+SQL+Server" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx&amp;amp;;title=Change+Login%27s+Default+Database+in+SQL+Server&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/16/Change-Login_2700_s-Default-Database-in-SQL-Server.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=35714" width="1" height="1"&gt;</description><category domain="http://sqladvice.com/blogs/gstark/archive/tags/SQL/default.aspx">SQL</category><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Sql+Server/default.aspx">Sql Server</category><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Database+Maintenance/default.aspx">Database Maintenance</category></item><item><title>Retrieve Index Details and Columns in Sql Server 2005</title><link>http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx</link><pubDate>Wed, 10 Oct 2007 13:49:05 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:35554</guid><dc:creator>gstark</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I frequently need to look at what indexes are on a table and I am really not a fan of using object explorer in SSMS as I like to stay in the query window.&amp;nbsp; Typically if I want information about a table I simply highlight the table name in the query window and hit Alt-F1.&amp;nbsp; If you aren't familiar with keyboard shortcuts in SSMS see my post &lt;a href="http://sqladvice.com/blogs/gstark/archive/2007/08/03/SQL-Server-Management-Studio-Query-Shortcuts.aspx" target="_blank"&gt;here&lt;/a&gt;.&amp;nbsp; While this does give you the indexes that are on the table and it will show you the equality and inequality columns on the index, it won't show you the included columns on the index.&amp;nbsp; So I decided to dig into the Sql Server Dynamic Management Views (DMVs) and write a query to return all the information about an index or even all indexes on a table.&amp;nbsp; Here is what I came up with.&amp;nbsp; This will return all indexes for a table.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:5a05b045-d881-48c2-99af-53b39194c144" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;object_name&lt;/span&gt;&lt;span style="color:#000000;"&gt;(i.&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;object_id&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; TableName, i.name &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; IndexName, c.name &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; ColumnName,
       i.Type_Desc, ic.Is_Included_Column, key_ordinal
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; sys.indexes i 
  &lt;/span&gt;&lt;span style="color:#808080;"&gt;join&lt;/span&gt;&lt;span style="color:#000000;"&gt; sys.Index_columns ic &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;on&lt;/span&gt;&lt;span style="color:#000000;"&gt; ic.&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;object_id&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; i.&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;object_id&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;and&lt;/span&gt;&lt;span style="color:#000000;"&gt;  ic.index_id &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; i.index_id
  &lt;/span&gt;&lt;span style="color:#808080;"&gt;join&lt;/span&gt;&lt;span style="color:#000000;"&gt; sys.columns c &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;on&lt;/span&gt;&lt;span style="color:#000000;"&gt; c.&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;object_id&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; ic.&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;object_id&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;and&lt;/span&gt;&lt;span style="color:#000000;"&gt; c.column_id &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; ic.column_id
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;where&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;object_name&lt;/span&gt;&lt;span style="color:#000000;"&gt;(i.&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;object_id&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;MyTable&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;order&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;by&lt;/span&gt;&lt;span style="color:#000000;"&gt; i.type_desc, i.name, Is_Included_Column &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;asc&lt;/span&gt;&lt;span style="color:#000000;"&gt;, ic.key_ordinal&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Let me know if you have any questions or improvements.&amp;nbsp; &lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx&amp;amp;;subject=Retrieve+Index+Details+and+Columns+in+Sql+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx&amp;amp;;title=Retrieve+Index+Details+and+Columns+in+Sql+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx&amp;amp;title=Retrieve+Index+Details+and+Columns+in+Sql+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx&amp;amp;;title=Retrieve+Index+Details+and+Columns+in+Sql+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx&amp;amp;;title=Retrieve+Index+Details+and+Columns+in+Sql+Server+2005&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/10/10/Retrieve-Index-Details-and-Columns-in-Sql-Server-2005.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=35554" width="1" height="1"&gt;</description><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Sql+Server/default.aspx">Sql Server</category><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Database+Maintenance/default.aspx">Database Maintenance</category></item><item><title>Archive and Compress Data from SQL Server</title><link>http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx</link><pubDate>Thu, 27 Sep 2007 12:11:43 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:35184</guid><dc:creator>gstark</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I &lt;a href="http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx" target="_blank"&gt;recently blogged&lt;/a&gt; about deleting off data from a table by looping through one day at a time.&amp;nbsp; Strangely enough I had a similar need pop up a few days later although this time I wanted to keep the data around just in case I need it later.&amp;nbsp; I really didn't want to put the data into another table so I decided it might be nice to dump the data to a file and then zip it up into a zip file per day.&amp;nbsp; This way if I ever need the data again I can easily bcp the data back into the original table.&amp;nbsp; On my server I actually &lt;/p&gt; &lt;p&gt;This actually was pretty straightforward to do.&amp;nbsp; Basically we can just loop through the data by a given interval (in my case I chose a day), BCP the data to a file, zip the file, and finally delete the data.&amp;nbsp; Here is what my code looks like.&amp;nbsp; Once again I used a numbers table as in my previous post.&amp;nbsp; One item to note is that you will need some executable to do the zipping of the file.&amp;nbsp; In this case I just used zip.exe.&amp;nbsp; Also if you are on 2005 you will need to &lt;a href="http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx" target="_blank"&gt;enable xp_cmdshell&lt;/a&gt; as well.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:a085bf01-3cd9-4280-9e27-f80e45141a43" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@startdate&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;datetime&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@EndDate&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;datetime&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;datetime&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@QueueVendorOrderActivityID&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;uniqueIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt; 
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@cmd&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1000&lt;/span&gt;&lt;span style="color:#000000;"&gt;)

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@startdate&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;9/01/2007&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@enddate&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;9/15/2007&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; datecursor &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;cursor&lt;/span&gt;&lt;span style="color:#000000;"&gt; forward_only read_only
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;for&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;dateadd&lt;/span&gt;&lt;span style="color:#000000;"&gt;(d,&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Number&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#008000;"&gt;@startdate&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; Numbers
          &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;where&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Number&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;datediff&lt;/span&gt;&lt;span style="color:#000000;"&gt;(d, &lt;/span&gt;&lt;span style="color:#008000;"&gt;@startdate&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#008000;"&gt;@enddate&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
          &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;order&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;by&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Number&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;open&lt;/span&gt;&lt;span style="color:#000000;"&gt; datecursor

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;while&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;begin&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;fetch&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;next&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; datecursor &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;into&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold;"&gt;@@fetch_status&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
    &lt;/span&gt;&lt;span style="color:#008080;"&gt;--&lt;/span&gt;&lt;span style="color:#008080;"&gt; build cmd string to execute for bcping out the data  &lt;/span&gt;&lt;span style="color:#008080;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@cmd&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;bcp &amp;quot;select * from MyTable where createdate between &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; 
        &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;convert&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;"&gt;), &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;112&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; and dateadd(d, 1, &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; 
        &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;convert&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;"&gt;), &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;112&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;)&amp;quot; queryout c:\MyTable&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; 
        &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;convert&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;"&gt;), &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;convert&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;"&gt;), &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;112&lt;/span&gt;&lt;span style="color:#000000;"&gt;), &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;112&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;.dat -Umyuser -Pmypass -c&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;exec&lt;/span&gt;&lt;span style="color:#000000;"&gt; xp_cmdshell &lt;/span&gt;&lt;span style="color:#008000;"&gt;@cmd&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#008080;"&gt;--&lt;/span&gt;&lt;span style="color:#008080;"&gt; Now zip the file that we created.&lt;/span&gt;&lt;span style="color:#008080;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@cmd&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;c:\zip c:\MyTable&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;convert&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;"&gt;), &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;112&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;.zip c:\MyTable&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; 
        &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;convert&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;"&gt;), &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;112&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;.dat&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;exec&lt;/span&gt;&lt;span style="color:#000000;"&gt; xp_cmdshell &lt;/span&gt;&lt;span style="color:#008000;"&gt;@cmd&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    
    &lt;/span&gt;&lt;span style="color:#008080;"&gt;--&lt;/span&gt;&lt;span style="color:#008080;"&gt; Delete the raw file&lt;/span&gt;&lt;span style="color:#008080;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@cmd&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;del c:\MyTable&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;convert&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;"&gt;), &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;112&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#808080;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;.dat&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;exec&lt;/span&gt;&lt;span style="color:#000000;"&gt; xp_cmdshell &lt;/span&gt;&lt;span style="color:#008000;"&gt;@cmd&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    
    &lt;/span&gt;&lt;span style="color:#008080;"&gt;--&lt;/span&gt;&lt;span style="color:#008080;"&gt; delete all the data that we just archived out from the table.&lt;/span&gt;&lt;span style="color:#008080;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;delete&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; MyTable &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;where&lt;/span&gt;&lt;span style="color:#000000;"&gt; createdate &lt;/span&gt;&lt;span style="color:#808080;"&gt;between&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;and&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;dateadd&lt;/span&gt;&lt;span style="color:#000000;"&gt;(d, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;end&lt;/span&gt;&lt;span style="color:#000000;"&gt;

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt; datecursor
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;deallocate&lt;/span&gt;&lt;span style="color:#000000;"&gt; datecursor
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;So far this seems to be working fairly well.&amp;nbsp; Let me know if you see any issues with this or have any other tips.&amp;nbsp; &lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx&amp;amp;;subject=Archive+and+Compress+Data+from+SQL+Server" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx&amp;amp;;title=Archive+and+Compress+Data+from+SQL+Server" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx&amp;amp;title=Archive+and+Compress+Data+from+SQL+Server" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx&amp;amp;;title=Archive+and+Compress+Data+from+SQL+Server" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx&amp;amp;;title=Archive+and+Compress+Data+from+SQL+Server&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Archive-and-Compress-Data-from-SQL-Server.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=35184" width="1" height="1"&gt;</description></item><item><title>Enable XP_CMDSHELL in SQL Server 2005</title><link>http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx</link><pubDate>Thu, 27 Sep 2007 11:54:36 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:35183</guid><dc:creator>gstark</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I needed to use xp_cmdshell recently and discovered that it isn't on by default on SQL Server 2005.&amp;nbsp; I had to dig a bit to find out how to enable it.&amp;nbsp; The code is very simple.&amp;nbsp; Figured I would blog it here so I can easily find it next time.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:16c36dcd-2b77-4c44-bb5c-374ad59318ae" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;EXECUTE&lt;/span&gt;&lt;span style="color:#000000;"&gt; sp_configure &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;show advanced options&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;RECONFIGURE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WITH&lt;/span&gt;&lt;span style="color:#000000;"&gt; OVERRIDE
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;GO&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;EXECUTE&lt;/span&gt;&lt;span style="color:#000000;"&gt; sp_configure &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xp_cmdshell&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;1&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;RECONFIGURE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WITH&lt;/span&gt;&lt;span style="color:#000000;"&gt; OVERRIDE
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;GO&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;EXECUTE&lt;/span&gt;&lt;span style="color:#000000;"&gt; sp_configure &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;show advanced options&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;RECONFIGURE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WITH&lt;/span&gt;&lt;span style="color:#000000;"&gt; OVERRIDE
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;GO&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx&amp;amp;;subject=Enable+XP_CMDSHELL+in+SQL+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx&amp;amp;;title=Enable+XP_CMDSHELL+in+SQL+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx&amp;amp;title=Enable+XP_CMDSHELL+in+SQL+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx&amp;amp;;title=Enable+XP_CMDSHELL+in+SQL+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx&amp;amp;;title=Enable+XP_CMDSHELL+in+SQL+Server+2005&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/27/Enable-XP_5F00_CMDSHELL-in-SQL-Server-2005.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=35183" width="1" height="1"&gt;</description><category domain="http://sqladvice.com/blogs/gstark/archive/tags/SQL/default.aspx">SQL</category><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Sql+Server/default.aspx">Sql Server</category><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Database+Maintenance/default.aspx">Database Maintenance</category></item><item><title>Iterate Over a List of Dates using a Numbers table in SQL</title><link>http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx</link><pubDate>Wed, 19 Sep 2007 13:40:30 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:34941</guid><dc:creator>gstark</dc:creator><slash:comments>5</slash:comments><description>&lt;p&gt;Recently I was helping &lt;a href="http://aspadvice.com/blogs/ssmith/" target="_blank"&gt;Steve&lt;/a&gt;&amp;nbsp;archive off a bunch of data from one of his tables. Unfortunately he didn't have a ton of diskspace to use some of the techniques I normally would.&amp;nbsp; Steve &lt;a href="http://aspadvice.com/blogs/ssmith/archive/2007/09/14/Using-PowerShell-to-Automate-a-SQL-Task.aspx" target="_blank"&gt;recently posted a solution&lt;/a&gt; using powershell to do this.&amp;nbsp; I told him&amp;nbsp;about an easy&amp;nbsp;way to do this using a cursor and&amp;nbsp;a numbers table and he&amp;nbsp;told me to blog it.&amp;nbsp; This is an excellent use of a numbers table which if you don't have one of these in your database, you should create one.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Here is a script to create a numbers table.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:b4202159-4993-4691-9d54-78635f48ccb3" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;CREATE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;TABLE&lt;/span&gt;&lt;span style="color:#000000;"&gt; dbo.Numbers
(
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Number&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;IDENTITY&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;PRIMARY&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;KEY&lt;/span&gt;&lt;span style="color:#000000;"&gt;
)
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;GO&lt;/span&gt;&lt;span style="color:#000000;"&gt;

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@MaxNumber&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@MaxNumber&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;65535&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHILE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;BEGIN&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;INSERT&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;INTO&lt;/span&gt;&lt;span style="color:#000000;"&gt; dbo.Numbers &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DEFAULT&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;VALUES&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;IF&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;scope_identity&lt;/span&gt;&lt;span style="color:#000000;"&gt;() &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@MaxNumber&lt;/span&gt;&lt;span style="color:#000000;"&gt; 
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;BEGIN&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;BREAK&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;END&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;END&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;GO&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So basically Steve wanted to delete all data out of a table one day at a time for a date range and then shrink down the log to avoid .&amp;nbsp; The easiest way I could think of to do this is to create a cursor of all the dates in that date range and then loop through them.&amp;nbsp; Notice the join to the number table for all Numbers between 0 and the datediff of the start and end date.&amp;nbsp; Here is the code...&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:6567c0f7-1ec0-4803-a791-9b333c7166b9" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@startdate&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;datetime&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@enddate&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;datetime&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;--&lt;/span&gt;&lt;span style="color:#008080;"&gt; Declare the dates &lt;/span&gt;&lt;span style="color:#008080;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@startdate&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;01/01/2007&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@enddate&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;10/01/2007&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;datetime&lt;/span&gt;&lt;span style="color:#000000;"&gt;

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;declare&lt;/span&gt;&lt;span style="color:#000000;"&gt; datecursor &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;cursor&lt;/span&gt;&lt;span style="color:#000000;"&gt; forward_only 
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;for&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;dateadd&lt;/span&gt;&lt;span style="color:#000000;"&gt;(d,&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Number&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#008000;"&gt;@startdate&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; Numbers
          &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;where&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Number&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;datediff&lt;/span&gt;&lt;span style="color:#000000;"&gt;(d, &lt;/span&gt;&lt;span style="color:#008000;"&gt;@startdate&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#008000;"&gt;@enddate&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
          &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;order&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;by&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Number&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;open&lt;/span&gt;&lt;span style="color:#000000;"&gt; datecursor

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;while&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;begin&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;fetch&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;next&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; datecursor &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;into&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@period&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold;"&gt;@@fetch_status&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;break&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; stats &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; period &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@Period&lt;/span&gt;&lt;span style="color:#000000;"&gt;

  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;BACKUP&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;LOG&lt;/span&gt;&lt;span style="color:#000000;"&gt; stats &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WITH&lt;/span&gt;&lt;span style="color:#000000;"&gt; NO_LOG
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DBCC&lt;/span&gt;&lt;span style="color:#000000;"&gt; SHRINKFILE (stats_log, &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt;)        

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;end&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt; datecursor
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;deallocate&lt;/span&gt;&lt;span style="color:#000000;"&gt; datecursor&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Here is a &lt;a href="http://www.sql-server-performance.com/articles/dev/numbers_tsql_p2.aspx" target="_blank"&gt;link&lt;/a&gt; to a good post on other uses of a numbers table.&amp;nbsp; As always feel free to comment on any improvements or ask any questions.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx&amp;amp;;subject=Iterate+Over+a+List+of+Dates+using+a+Numbers+table+in+SQL" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx&amp;amp;;title=Iterate+Over+a+List+of+Dates+using+a+Numbers+table+in+SQL" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx&amp;amp;title=Iterate+Over+a+List+of+Dates+using+a+Numbers+table+in+SQL" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx&amp;amp;;title=Iterate+Over+a+List+of+Dates+using+a+Numbers+table+in+SQL" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx&amp;amp;;title=Iterate+Over+a+List+of+Dates+using+a+Numbers+table+in+SQL&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/19/Iterate-Over-a-List-of-Dates-using-a-Numbers-table-in-SQL.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=34941" width="1" height="1"&gt;</description></item><item><title>Remove Extra Spaces when Pasting from Outlook to Sql Server Management Studio</title><link>http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx</link><pubDate>Fri, 14 Sep 2007 14:01:01 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:34820</guid><dc:creator>gstark</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I seem to have this problem that when I paste sql code from my email into Sql Server Management Studio that it doubles all the line&amp;nbsp;breaks and I have to go and remove them all.&amp;nbsp; Most of the time this isn't a big deal because the Sql is only a couple lines.&amp;nbsp; However if you get a ton of Sql emailed to you it can be quite annoying.&amp;nbsp; I finally found a way to quickly get rid of them.&amp;nbsp; Simply bring up the find and replace window and change the find to use Regular Expressions.&amp;nbsp; Then do a find on \n\n and replace that with \n.&amp;nbsp; &lt;/p&gt; &lt;p&gt;If anyone knows of a way to change a setting in Outlook to avoid this please let me know.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx&amp;amp;;subject=Remove+Extra+Spaces+when+Pasting+from+Outlook+to+Sql+Server+Management+Studio" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx&amp;amp;;title=Remove+Extra+Spaces+when+Pasting+from+Outlook+to+Sql+Server+Management+Studio" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx&amp;amp;title=Remove+Extra+Spaces+when+Pasting+from+Outlook+to+Sql+Server+Management+Studio" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx&amp;amp;;title=Remove+Extra+Spaces+when+Pasting+from+Outlook+to+Sql+Server+Management+Studio" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx&amp;amp;;title=Remove+Extra+Spaces+when+Pasting+from+Outlook+to+Sql+Server+Management+Studio&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/14/Remove-Extra-Spaces-when-Pasting-from-Outlook-to-Sql-Server-Management-Studio.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=34820" width="1" height="1"&gt;</description></item><item><title>Retrieve File Contents using SQL Server 2005 SQL CLR</title><link>http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx</link><pubDate>Thu, 06 Sep 2007 18:25:59 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:34556</guid><dc:creator>gstark</dc:creator><slash:comments>4</slash:comments><description>&lt;p&gt;I recently had a need to load a bunch of&amp;nbsp;pdf files&amp;nbsp;into my database.&amp;nbsp; The problem was that the directory the files were in contained a bunch of other pdf files that I didn't want or that were no longer needed so I couldn't just upload every PDF in the directory.&amp;nbsp; I did have a database table that contained all the file names that were still valid.&amp;nbsp; I was wishing for a way to simply join from that table to the file system and load all those files.&amp;nbsp; I certainly could have just written a quick exe that did this by retrieving the list of file names from the database and then grabbing the file and uploading back into the database.&amp;nbsp; Instead I decided to write a CLR table value function that took in a directory path and a file search criteria and returned a table with the filename and the binary of the file.&amp;nbsp; This way I could simply do an insert into my table all from t-sql.&amp;nbsp; This ended up being a lot easier than what I thought and it worked quite well.&amp;nbsp; Below is the code for the CLR function.&amp;nbsp; Simply compile this code and then load it into your database.&amp;nbsp; This will create a function called FileReader.&amp;nbsp;&amp;nbsp; You simply pass in a directory path and a search criteria (i.e. *.pdf).&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:d6033f09-4899-4bcc-b43c-52c8208ac6db" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; System;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.Data;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.Data.SqlClient;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.Data.SqlTypes;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; Microsoft.SqlServer.Server;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.IO;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.Collections;

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;partial&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; FileReader
{
  [SqlFunction(FillRowMethodName &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;FillRow&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;, 
              TableDefinition &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;FileName nvarchar(200),FileContent varbinary(max)&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;, 
              Name &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;FileReader&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)]
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;static&lt;/span&gt;&lt;span style="color:#000000;"&gt; IEnumerable InitMethod(String Directory, String FileCriteria)
  {

    DirectoryInfo d &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; DirectoryInfo(Directory);
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; d.GetFiles(FileCriteria);
  }
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;static&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; FillRow(Object obj, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;out&lt;/span&gt;&lt;span style="color:#000000;"&gt; SqlString FileName, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;out&lt;/span&gt;&lt;span style="color:#000000;"&gt; SqlBytes FileContent)
  {
    FileInfo fi &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (FileInfo)obj;
    FileContent &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; SqlBytes(File.ReadAllBytes(fi.FullName));
    FileName &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; fi.Name; 
  }
}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Here is an example of how to use the function.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:40f735ef-a255-459a-b8d7-c74201a2b754" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;*&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; dbo.FileReader(&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;d:\&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;*.txt&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;and what the result was....&lt;/p&gt;
&lt;p&gt;FileName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileContent&lt;br&gt;-------------------- ----------------------------------------------------&lt;br&gt;Test.txt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x6173646673646661736466...&lt;br&gt;Test2.txt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x61736466736466617364660D0A0D0A6173626C61736661666C...
&lt;p&gt;&amp;nbsp;
&lt;p&gt;Here is some example t-sql to show how I used this to&amp;nbsp;insert the files into a table.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:68cd47ec-438b-4a6c-9240-ad942fc31310" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;Create&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;table&lt;/span&gt;&lt;span style="color:#000000;"&gt; _FilesToGrab (FileName &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;"&gt;))
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Create&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;table&lt;/span&gt;&lt;span style="color:#000000;"&gt; _Files (FileName &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varchar&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;50&lt;/span&gt;&lt;span style="color:#000000;"&gt;), FileContent &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;varbinary&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;max&lt;/span&gt;&lt;span style="color:#000000;"&gt;))

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Insert&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;into&lt;/span&gt;&lt;span style="color:#000000;"&gt; _FilesToGrab &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;VALUES&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;test.txt&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;)

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Insert&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Into&lt;/span&gt;&lt;span style="color:#000000;"&gt; _Files (FileName, FileContent)
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt; f.FileName, fc.FileContent
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; _FilesToGrab f
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Cross&lt;/span&gt;&lt;span style="color:#000000;"&gt; Apply dbo.FileReader(&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;d:\&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;, f.FileName) fc

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;*&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; _Files 

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Drop&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Table&lt;/span&gt;&lt;span style="color:#000000;"&gt; _FilesToGrab   
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Drop&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Table&lt;/span&gt;&lt;span style="color:#000000;"&gt; _Files&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;So my final solution consisted of this function and then one insert into statement with a select.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Hopefully this function comes in handy for someone else.&amp;nbsp; If any has any suggestions on how to improve on it please let me know and I will see what I can do.&amp;nbsp; &lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx&amp;amp;;subject=Retrieve+File+Contents+using+SQL+Server+2005+SQL+CLR" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx&amp;amp;;title=Retrieve+File+Contents+using+SQL+Server+2005+SQL+CLR" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx&amp;amp;title=Retrieve+File+Contents+using+SQL+Server+2005+SQL+CLR" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx&amp;amp;;title=Retrieve+File+Contents+using+SQL+Server+2005+SQL+CLR" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx&amp;amp;;title=Retrieve+File+Contents+using+SQL+Server+2005+SQL+CLR&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/09/06/Retrieve-File-Contents-using-SQL-Server-2005-SQL-CLR.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=34556" width="1" height="1"&gt;</description><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Sql+Server/default.aspx">Sql Server</category><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Table-Valued+Functions/default.aspx">Table-Valued Functions</category><category domain="http://sqladvice.com/blogs/gstark/archive/tags/SQL+CLR/default.aspx">SQL CLR</category></item><item><title>Move TempDB Sql Server 2005</title><link>http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx</link><pubDate>Mon, 20 Aug 2007 21:19:14 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:34013</guid><dc:creator>gstark</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;I recently needed to move the TempDB on my Sql Server so I looked in Books Online and my initial thought based on what it said was that there is no way that will work.&amp;nbsp; Basically it says to find where the files are, and then move them to the new location followed by an alter statement to point the database at the new location.&amp;nbsp; Well of course this didn't work because the tempdb files are in use.&amp;nbsp; After thinking about it I just decided to try to alter the master database and point it at where I wanted the tempdb files to be and then just restart since Sql Server creates the tempdb again when you restart it.&amp;nbsp; Sure enough it worked.&amp;nbsp; Here are the steps I took.&lt;/p&gt; &lt;p&gt;1.&amp;nbsp; Find out where the TempDB files are (not that you really need to know for anything since you can't move them without stopping SQL Server).&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:59573884-b21c-477a-95ee-e84162755431" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;SELECT&lt;/span&gt;&lt;span style="color:#000000;"&gt; name, physical_name
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; sys.master_files
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; database_id &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;DB_ID&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;tempdb&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;2. Alter the master database and point the tempdb to the new location.&lt;/p&gt;
&lt;p&gt;
&lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:64be1b84-404a-44c6-80a0-559a1e474bbf" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;USE&lt;/span&gt;&lt;span style="color:#000000;"&gt; master;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;GO&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ALTER&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DATABASE&lt;/span&gt;&lt;span style="color:#000000;"&gt; tempdb 
MODIFY &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FILE&lt;/span&gt;&lt;span style="color:#000000;"&gt; (NAME &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; tempdev, FILENAME &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;D:\SqlServer\Data\tempdb.mdf&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;GO&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ALTER&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DATABASE&lt;/span&gt;&lt;span style="color:#000000;"&gt;  tempdb 
MODIFY &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FILE&lt;/span&gt;&lt;span style="color:#000000;"&gt; (NAME &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; templog, FILENAME &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;D:\SqlServer\Data\templog.ldf&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;GO&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;3. Restart SQL Server&lt;/p&gt;
&lt;p&gt;Upon restarting you will see new TempDB files created.&amp;nbsp; Alternatively I suppose you could do steps, 1 and 2 above and then stop SQL Server, move the TempDB files to the new location, and then start SQL Server.&amp;nbsp; I suppose that would be slightly better since then you wouldn't have to wait for the TempDB files to auto-grow which can be a performance hit.&amp;nbsp; Either way if you try to follow books online you won't have any luck.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx&amp;amp;;subject=Move+TempDB+Sql+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx&amp;amp;;title=Move+TempDB+Sql+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx&amp;amp;title=Move+TempDB+Sql+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx&amp;amp;;title=Move+TempDB+Sql+Server+2005" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx&amp;amp;;title=Move+TempDB+Sql+Server+2005&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/20/Move-TempDB-Sql-Server-2005.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=34013" width="1" height="1"&gt;</description><category domain="http://sqladvice.com/blogs/gstark/archive/tags/SQL/default.aspx">SQL</category><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Sql+Server/default.aspx">Sql Server</category><category domain="http://sqladvice.com/blogs/gstark/archive/tags/Database+Maintenance/default.aspx">Database Maintenance</category></item><item><title>Recover Suspect SQL Server Database</title><link>http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx</link><pubDate>Tue, 07 Aug 2007 14:37:57 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:33627</guid><dc:creator>gstark</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Where I work we have about 160 instances of SQL Server Express running on laptops and as you can imagine these database instances tend to become corrupted from time to time.&amp;nbsp; One of the most frequent issues is that a database becomes suspect.&amp;nbsp; Obviously your first choice should be to restore a backup and the transaction logs since the last backup.&amp;nbsp; However if you don't have this (as I never do on my SQL Server Express instances) this is usually pretty simple to take care of by putting the database into single user mode and then emergency mode and then running a dbcc checkdb.&amp;nbsp; Here is the T-SQL you should use.&amp;nbsp; NOTE: You should be in the master database when you run this.&lt;/p&gt; &lt;p&gt;1) Alter database mydb set Single_User&lt;/p&gt; &lt;p&gt;2) Alter database mydb set&amp;nbsp;Emergency&lt;/p&gt; &lt;p&gt;3) DBCC CheckDB ('mydb') -- This will tell you the Repair level to use&lt;/p&gt; &lt;p&gt;4) DBCC CheckDB ('mydb', { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD&amp;nbsp;})&lt;/p&gt; &lt;p&gt;5) Alter database mydb set Multi_User&lt;/p&gt; &lt;p&gt;After a successful DBCC CheckDB the database is back in a consistent state and it's status is now online.&amp;nbsp; For more information on DBCC CheckDB go &lt;a href="http://msdn2.microsoft.com/en-us/library/ms176064.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;I normally run the REPAIR_ALLOW_DATA_LOSS as the users running the express instance generally don't have much critical data so if we lose some data it isn't that much of an issue.&amp;nbsp; NOTE: Running DBCC CheckDB can take a long time to run and you may want to consider running it with the "noindex" option.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Let me know if you have any other strategies for recovering databases in suspect mode.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx&amp;amp;;subject=Recover+Suspect+SQL+Server+Database" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx&amp;amp;;title=Recover+Suspect+SQL+Server+Database" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx&amp;amp;title=Recover+Suspect+SQL+Server+Database" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx&amp;amp;;title=Recover+Suspect+SQL+Server+Database" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx&amp;amp;;title=Recover+Suspect+SQL+Server+Database&amp;amp;;top=1" target="_blank" title = "Post http://sqladvice.com/blogs/gstark/archive/2007/08/07/Recover-Suspect-SQL-Server-Database.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sqladvice.com/aggbug.aspx?PostID=33627" width="1" height="1"&gt;</description></item><item><title>SQL Server Management Studio Query Shortcuts</title><link>http://sqladvice.com/blogs/gstark/archive/2007/08/03/SQL-Server-Management-Studio-Query-Shortcuts.aspx</link><pubDate>Fri, 03 Aug 2007 18:32:58 GMT</pubDate><guid isPermaLink="false">81c49694-04ec-4285-ae1c-61808dc1a845:33546</guid><dc:creator>gstark</dc:creator><slash:comments>9</slash:comments><description>&lt;p&gt;I have always hated typing and using the mouse so I always try to find shortcuts and hotkeys for every development environment I am in.&amp;nbsp; Having said that I thought that I would share what I have custom setup for SQL Server Management Studio.&amp;nbsp; Until I started playing around with them I really didn't realize what all was possible.&amp;nbsp; Basically you just highlight some text in query analyzer and then hit the hotkey and it passes the highlighted text into whatever the code is behdind the hotkey.&amp;nbsp; So here is what I use currently&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;ALT+ F1 = sp_help&lt;/strong&gt;&lt;/font&gt; - This is useful to highlight a&amp;nbsp; table or proc and then it will return all the input parameters or columns on the table&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;CTRL+ F1 = sp_helptext&lt;/font&gt;&lt;/strong&gt; - This will give the compiled version of a proc or function and is much easier than finding it in object explorer.&amp;nbsp; I usually do a ctrl - t before running this to put the results in text mode.&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;CTRL&lt;/font&gt;&lt;/strong&gt;+ 1 = sp_who2&lt;/strong&gt;&lt;/font&gt; - This returns all spids currently active&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;CTRL&lt;/font&gt;&lt;/strong&gt;+ 2 = sp_block_info&lt;/font&gt;&lt;/strong&gt; - This will show all blocks on the database and is helpful if you are currently experiencing blocking as it shows the statement being blocked and the blocking statement.&amp;nbsp; This is a custom proc taken from the &lt;a href="http://blogs.msdn.com/sqlcat/default.aspx" target="_blank"&gt;Microsoft SQL Server Development Customer Advisory Team Blog&lt;/a&gt;.&amp;nbsp; Here is the code for it.&amp;nbsp; NOTE: this only works on databases running SQL Server 2005 as it uses Dynamic Management Views.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:8487e593-2c90-4dfd-badf-e8b71ca6c12e" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="background-color:White;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;CREATE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;proc&lt;/span&gt;&lt;span style="color:#000000;"&gt; sp_block_info
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;getdate&lt;/span&gt;&lt;span style="color:#000000;"&gt;() &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; BlockDate,
      &lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;db_name&lt;/span&gt;&lt;span style="color:#000000;"&gt;(resource_database_id) &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;database&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;,
      t1.resource_associated_entity_id &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;blk object&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;,
      t1.resource_type &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;lock type&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;,
      t1.request_mode &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;lock req&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;,   &lt;/span&gt;&lt;span style="color:#008080;"&gt;--&lt;/span&gt;&lt;span style="color:#008080;"&gt;- lock requested&lt;/span&gt;&lt;span style="color:#008080;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;      t1.request_session_id &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;waiter sid&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#008080;"&gt;--&lt;/span&gt;&lt;span style="color:#008080;"&gt;- spid of waiter&lt;/span&gt;&lt;span style="color:#008080;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;      t2.wait_duration_ms &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;wait time&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;,         
      