<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>RobSymonds.com</title>
	<atom:link href="http://www.robsymonds.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.robsymonds.com</link>
	<description>IT Professional</description>
	<pubDate>Wed, 09 Sep 2009 13:50:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>My Toastmasters Icebreaker Speech</title>
		<link>http://www.robsymonds.com/my-toastmasters-icebreaker-speech/</link>
		<comments>http://www.robsymonds.com/my-toastmasters-icebreaker-speech/#comments</comments>
		<pubDate>Fri, 29 May 2009 01:44:34 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
		
		<category><![CDATA[Public Speaking]]></category>

		<category><![CDATA[Toastmasters]]></category>

		<guid isPermaLink="false">http://www.robsymonds.com/?p=36</guid>
		<description><![CDATA[The first speech you give when you join Toastmasters is called The Icebreaker. It&#8217;s designed to ease you into public speaking. The assignment is to speak for 4 - 6 minutes about yourself.
Creating the speech was more challenging than I thought it would be. But the writing was fun and so was delivering it.
Here is [...]]]></description>
			<content:encoded><![CDATA[<p>The first speech you give when you join Toastmasters is called The Icebreaker. It&#8217;s designed to ease you into public speaking. The assignment is to speak for 4 - 6 minutes about yourself.</p>
<p>Creating the speech was more challenging than I thought it would be. But the writing was fun and so was delivering it.</p>
<p>Here is The Icebreaker I gave tonight.</p>
<hr />Tonight, I&#8217;m going to tell you a few quick stories from my life&#8230; for two reasons:</p>
<p>The first: to give you an idea of who I am.</p>
<p>The second is selfish: to help remind me of lessons I&#8217;ve learned but seem to have trouble applying to my life.</p>
<p>When I was 10, my parents bought a small motorcycle from a neighbor. I wasn’t allowed to ride it. I didn&#8217;t know how and for whatever reasons, my parents wouldn’t teach me at the time.</p>
<p>One day I went to the library with my mother and checked out all the motorcycle books I could find, took them home and read them all several times. I learned how every part of that bike worked. I learned, in theory, how to operate it. And I would explain this all to anybody that would listen.</p>
<p>My parents knew how badly I wanted to ride the bike. So they started letting me coast it down the hill in our yard and then push it back to the top to do it again. With the motor off.</p>
<p>Not a <em>great </em>start. But it was <em>a </em>start.</p>
<p>Soon after they would take me out to ride it under supervision. Eventually, they let me ride it on my own. With the motor running now. Of course.</p>
<p>This taught me that you don&#8217;t have to wait for other people to start taking action towards the things you want.</p>
<p>I competed in my first mountain bike race in 1991. I was 15 years old. My friend and I finished somewhere in the back of a group of 100+ racers. That race was harder than any riding we had ever done up to that point. I was hooked.</p>
<p>In the beginning, I always trained with my friends. They were getting good results from their methods so I figured I would too. But I didn’t. Yet I continued to train with them for years. Finally, I broke off and started training on my own. I immediately saw vast improvements in my performance and had my best season.</p>
<p>It drove the point home for me that everybody is different and that it is important to figure out what works for you. I also learned that hard work is rarely enough. It must be properly directed in order to be effective.</p>
<p>When I was 22 I heard a piece of piano music by Sergei Rachmaninoff and was again hooked. From there I learned about Scriabin, Chopin, Prokofiev and others. I told a friend I wanted to learn how to play all this music. She told me I was too old start piano now. I promptly went out and bought one.</p>
<p>I took lessons and practiced hard for 2 or 3 years, constantly butting heads with teachers. They wanted me to start small and build my technique and skill slowly, correctly. I only wanted to play the music that I liked, the music that moved me.</p>
<p>By the end I could play some of that music but not well. Not as a musician. I realized what it would take to be really good and decided I wasn’t willing to pay the price at that time. I sold my piano.</p>
<p>I learned that hard work and passion can take you pretty far&#8211;but only so far. It takes time and patience to lay the foundation on which to build something of real value.</p>
<p>Also in my early 20s, I worked in retail. I despised it. School was always a struggle for me but I was going to Manchester Community College anyway to get a 2 year degree. I dropped out of 2 programming classes and almost failed a 3rd. Not promising.</p>
<p>Despite those problems, I spent one summer reading books on building web sites. Things were simple in 1999. I published my first website at the end of that summer and managed to get an interview at a local technology firm. I got the job, even though I was short on skills.</p>
<p>I worked from home at first and it was ugly. Technical books spread out all over the desk. Me cursing and talking myself into quitting, then out of quitting. I struggled through my work day. Then I’d take a break and come back to struggle for a few more hours trying to learn about programming and databases. For a while it was a nightmare.</p>
<p>But one day it all clicked. I remember it vividly. One minute nothing made sense. The next it all snapped into focus. I’m not sure how it happened. From there I quickly improved, eventually becoming a partner in that company.</p>
<p>I learned that sometimes you just have to keep working even though you&#8217;re not seeing the benefit immediately.</p>
<p>In 2007, I left my job at a local financial software company. I was in a terrific spot by any external standards: good pay, great manager, the respect of talented colleagues, a group of people that were like family.</p>
<p>But something still wasn&#8217;t clicking. I was holding the job because, although it wasn&#8217;t that good, it wasn&#8217;t that bad either. I decided that I no longer accepted this standard and I told my employer I was leaving. I had nothing lined up after that. Coworkers, family and friends told me I was crazy. I did it anyway. And it worked out to my advantage in ways I couldn&#8217;t have anticipated.</p>
<p>Deciding to leave that job was one of the harder decisions I&#8217;ve made. But I learned that it&#8217;s important to set your own standards in life and to act according to your values, even if other people don&#8217;t always understand you.</p>
<p>Thinking of stories like these helps remind me of important lessons life has taught me. And I hope sharing these things has taught you a little about me.</p>
<p>Thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robsymonds.com/my-toastmasters-icebreaker-speech/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why I Recommend HostGator for PHP/mySQL Hosting</title>
		<link>http://www.robsymonds.com/why-i-recommend-hostgator-for-phpmysql-hosting/</link>
		<comments>http://www.robsymonds.com/why-i-recommend-hostgator-for-phpmysql-hosting/#comments</comments>
		<pubDate>Thu, 21 May 2009 17:23:05 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Web Hosting]]></category>

		<guid isPermaLink="false">http://www.robsymonds.com/?p=35</guid>
		<description><![CDATA[I&#8217;ve been working with PHP and MySQL since the beginning of my career. I&#8217;ve hosted numerous customer sites and personal sites with a few different hosting providers over the years, including Pair.com, HostMySite.com and GoDaddy.com. All of those have been decent but seemed to have quirks that left me looking for something else. I&#8217;ve been [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working with PHP and MySQL since the beginning of my career. I&#8217;ve hosted numerous customer sites and personal sites with a few different hosting providers over the years, including <a href="http://www.pair.com">Pair.com</a>, <a href="http://www.hostmysite.com">HostMySite.com</a> and <a href="http://www.godaddy.com">GoDaddy.com</a>. All of those have been decent but seemed to have quirks that left me looking for something else. I&#8217;ve been using HostGator for about 5 years now and their Baby Croc service has met my needs in every way.</p>
<p>As you read the following, keep in mind that I have a long history with *nix/Apache/MySQL/PHP. Although you don&#8217;t need to get your hands too dirty with those things, it helps to have a good understanding and basic level of comfort with all of them. HostGator provides the venerable CPanel for you to administer your account with. This should cover most of what you will do.</p>
<p><strong>Management</strong> - The CPanel control panel provides very easy control over my account. I can easily add hosted domains, FTP accounts, MySQL databases, database users, files, permissions and a great deal more.  I like the fact that I don&#8217;t have to open up a shell or create a support ticket to do a lot of tedious things. I can get it done myself whenever I want to without too much drudgery.</p>
<p><strong>Domains </strong>- Unlimited hosted domains. This means I can try out new site ideas easily and cheaply. My only costs are for domains and effort to develop sites. Since I do a fair amount of this, unlimited hosted domains is an absolute requirement. HostGator makes it very easy to add and configure new domain hosting through the CPanel.</p>
<p><strong>Bandwidth and Storage </strong>- Unlimited bandwidth and storage. I have heard stories of people hosting very high volume sites with HostGator having problems with support staff coming back to them to redefine what they mean by unlimited in these two areas. If you have a very high traffic site with large storage requirements (in the range of high GB and TB), you may want to call them first and discuss. For anything fairly ordinary (yes hard to define&#8211;I know) you should have plenty of breathing room.</p>
<p><strong>Databases </strong>- Umlimited MySQL databases. This is good for the same reason the unlimited hosted domains are: I experiment with a lot of small sites and the unlimited MySQL databases keeps my investment low.</p>
<p><strong>Cost </strong>- I pay $9.99 a month for the Baby Croc plan with a dedicated IP. I believe GoDaddy and others may have cheaper equivalent plans at the time I write this but things have been so solid with HostGator that I wouldn&#8217;t dream of switching just to save a few bucks a year.</p>
<p><strong>Support </strong>- I have used their Knowledge Base and also browsed the forums for help on a few issues and found what I was looking for easily enough. I can only think of one time I needed to open a ticket. The response was quick and courteous. You really just want them to get the job done quickly without hassling you&#8211;which they did.</p>
<p><strong>Email </strong>- There is not much I can say about HostGator&#8217;s email because I rarely use it. I can&#8217;t say how robust it is or how good the SPAM filtering is. I have used it on a few small sites and never had any problems. I&#8217;m not sure how it would stand up to a high traffic site that was targeted with a lot of SPAM. I know that you can set up Spam Assassin but I don&#8217;t know enough to comment on it.</p>
<p><strong>Fantastico One-Click App Installs</strong> - HostGator also offers a lot of one-click install apps through the control panel. I&#8217;ve never been a fan of those. I&#8217;m not saying they are good are bad either way. I&#8217;ve simply never found a need to use them. Check out the Gator Forums.</p>
<p>As with all things, do your homework. Run some Google searches on HostGator. Check out their Support Knowledgebase and their Gator Forums.</p>
<p>Learn more about <a title="Reliable, cheap PHP and MySQL hosting" href="http://www.hostgator.com">Reliable, cheap PHP and MySQL hosting</a><a title="Reliable, cheap PHP and MySQL hosting with HostGator" href="www.hostgator.com"> with HostGator</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robsymonds.com/why-i-recommend-hostgator-for-phpmysql-hosting/feed/</wfw:commentRss>
		</item>
		<item>
		<title>May Thoughts</title>
		<link>http://www.robsymonds.com/may-thoughts/</link>
		<comments>http://www.robsymonds.com/may-thoughts/#comments</comments>
		<pubDate>Tue, 12 May 2009 17:48:09 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.robsymonds.com/?p=34</guid>
		<description><![CDATA[When I started this blog, I had two objectives in mind. The first was to have a technology journal to keep track of  things I didn&#8217;t want to forget. The second was to have my name come up in any Google searches a potential employer, client or partner might make and to provide some [...]]]></description>
			<content:encoded><![CDATA[<p>When I started this blog, I had two objectives in mind. The first was to have a technology journal to keep track of  things I didn&#8217;t want to forget. The second was to have my name come up in any Google searches a potential employer, client or partner might make and to provide some information about me and what I do. These were both professional objectives and I&#8217;ve long been aware that the site is good mostly for the yawning it inspires.</p>
<p>When we meet, we always meet as people. Although there may be professional objectives we are working toward, we are people first and professionals second. I do business with people I like and trust. That is the foundation. If we don&#8217;t have it, there is little hope of building something of value. And it is difficult to get to know somebody and see if you like and trust them without relating to them on at least some personal level.</p>
<p>So now I have an additional objective in mind: to start a discussion with you as a person first, to start building that foundation.</p>
<p>With these things in mind, I&#8217;ve decided to open the site up to a broader range of topics. Originally I had planned to write mostly about SQL Server and related technologies. However I have much broader ranging interests in technology. And like you, I have many interests outside of technology. Sometimes it is interesting to explore the way these things tie together or influence each other on a personal level. It is often interesting to explore things that are entirely unrelated to professional life. These are the types of things I am going to start writing about here. In the next few weeks, I&#8217;m also going to transition content from other sites I&#8217;ve owned over the past few years. This will include topics such as online marketing, web development, philosophy and health.</p>
<p>It might make for a strange mix. And I&#8217;m sure it will take some time for me to find the right balance and get into a good groove. You&#8217;ll just have to check back here to see what happens.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robsymonds.com/may-thoughts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Manchester/Hartford Area Web Devs/Innovators April 2nd 2009</title>
		<link>http://www.robsymonds.com/manchesterhartford-area-web-devsinnovators-april-2nd-2009/</link>
		<comments>http://www.robsymonds.com/manchesterhartford-area-web-devsinnovators-april-2nd-2009/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 17:58:35 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<category><![CDATA[Ruby on Rails]]></category>

		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.robsymonds.com/?p=33</guid>
		<description><![CDATA[One of my hobbies is web development, which was actually my foot into the door of technology as a career. Last night I attented the Manchester/Hartford Area Web Devs/Innovators. Here are some random thoughts and links to follow up on things discussed during the meetup.
I no longer do web development for clients on the side [...]]]></description>
			<content:encoded><![CDATA[<p>One of my hobbies is web development, which was actually my foot into the door of technology as a career. Last night I attented the Manchester/Hartford Area Web Devs/Innovators. Here are some random thoughts and links to follow up on things discussed during the meetup.</p>
<p>I no longer do web development for clients on the side but I used <a href="http://www.freshbooks.com">www.freshbooks.com</a> to handle customer invoicing in the past. Actually, I do have one client left that I bill through there. It allows me to setup recurring invoice profiles with reminders and makes the process pretty painless for both me and the client. It&#8217;s easy and free to start with. Worth a try.</p>
<p>For learning Ruby on Rails (RoR), go to <a href="http://www.herokugarden.com">http://www.herokugarden.com</a> and set up a free account. It is so easy it&#8217;s mind-blowing. After years of PHP, ColdFusion, Perl, Classic ASP, VB.NET and C# &#8212; and different frameworks for each language &#8212; I can see why people are enamored of both Ruby as a language and Rails as a framework. I briefly tried Python/Django which is nice but RoR is the perfect fit for how I work. And once you get it, it is very gratifying to work with. I&#8217;ll continue to use PHP for my WordPress sites and my static content sites. The hosting is cheap and PHP makes it easy to do simple things with. For anything more complicated, I&#8217;ll use RoR.</p>
<p>The Ruby lang reference is <a href="http://www.ruby-doc.org/stdlib">http://www.ruby-doc.org/stdlib</a>. For the Rails API, refer to <a href="http://api.rubyonrails.org">http://api.rubyonrails.org</a>. You can find applications to download and study at <a href="http://www.github.com">http://www.github.com</a>, <a href="http://www.railskits.com">http://www.railskits.com</a> and http://www.opensourcerails.com (among others). To test regular expressions which are always tricky, try <a href="http://www.rubyxp.com">http://www.rubyxp.com</a> and <a href="http://www.rubular.com">http://www.rubular.com</a>.</p>
<p>On the business, marketing front I have found <a href="http://www.perrymarshall.com/adwords">Perry Marshall&#8217;s Definitive Guide to Google AdWords</a> very useful in learning how to properly organize and run Google AdWords campaigns. His writing is simple and straightforward and he gives you a very good structure to keep things organized, to test and to fine tune to get the most out of your campaigns. I also use <a href="http://www.icontact.com">http://www.icontact.com</a> to handle autoresponder duties.</p>
<p><em>(BTW: I&#8217;m sure somebody business-savvy will mention that I should use affiliate links for some of the things recommended above. Maybe I&#8217;ll do that down the road. I&#8217;m not sure how I feel yet promoting things from my personal site.) </em></p>
<p>As far as sites I currently run, I have a few small content sites but <a href="http://www.veryquotable.com">http://www.veryquotable.com</a> is the main thing I tinker with for fun. I wrote it in ColdFusion a few years ago with big plans for it. But I always found working with CF to be pretty clunky and I never got around to rolling out new features. I started to rewrite it in PHP5/CodeIgniter but it was just as slow and clunky as working with CF so I shelved it. A week later I found Heroku Garden and it took my only a few hours one lonesome night in a hotel room to port most of the site. I&#8217;m more than 90% done with the port, which I plan to deploy on Heroku in the next few weeks (once I learn how to use Git). Once that&#8217;s finished I feel confident I can start rolling out new features.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robsymonds.com/manchesterhartford-area-web-devsinnovators-april-2nd-2009/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Get SQL Command Executing by SPID</title>
		<link>http://www.robsymonds.com/get-sql-command-executing-by-spid/</link>
		<comments>http://www.robsymonds.com/get-sql-command-executing-by-spid/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 14:00:26 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
		
		<category><![CDATA[Administering]]></category>

		<category><![CDATA[Nuggets]]></category>

		<category><![CDATA[Scripts and Queries]]></category>

		<guid isPermaLink="false">http://www.robsymonds.com/?p=32</guid>
		<description><![CDATA[I&#8217;m sure there are other ways to do this but this is pretty easy:
DECLARE
&#160;@SPID INT,
&#160;@Handle binary(20),
&#160;@retVal varchar(8000)
SET
&#160;@SPID = 148
SELECT
&#160;@Handle=sql_handle
FROM
&#160;master..sysprocesses
WHERE spid = @SPID
SELECT
&#160;SqlCommand=convert(varchar(8000), [text])
FROM
&#160;::fn_get_sql(@Handle)

References

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=59703
http://www.databasejournal.com/features/mssql/article.php/10894_2189761_1/Find-Out-What-Theyre-Doing-with-fngetsql.htm

]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure there are other ways to do this but this is pretty easy:</p>
<div class="dean_ch" style="white-space: nowrap;overflow:auto;">DECLARE<br />
&nbsp;@SPID INT,<br />
&nbsp;@Handle binary(20),<br />
&nbsp;@retVal varchar(8000)</p>
<p>SET<br />
&nbsp;@SPID = 148</p>
<p>SELECT<br />
&nbsp;@Handle=sql_handle<br />
FROM<br />
&nbsp;master..sysprocesses<br />
WHERE spid = @SPID</p>
<p>SELECT<br />
&nbsp;SqlCommand=convert(varchar(8000), [text])<br />
FROM<br />
&nbsp;::fn_get_sql(@Handle)</div>
<h3></h3>
<h3>References</h3>
<ul>
<li><a href="http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=59703">http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=59703</a></li>
<li><a href="http://www.databasejournal.com/features/mssql/article.php/10894_2189761_1/Find-Out-What-Theyre-Doing-with-fngetsql.htm">http://www.databasejournal.com/features/mssql/article.php/10894_2189761_1/Find-Out-What-Theyre-Doing-with-fngetsql.htm</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.robsymonds.com/get-sql-command-executing-by-spid/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Stored Procedure Naming Convention</title>
		<link>http://www.robsymonds.com/stored-procedure-naming-convention/</link>
		<comments>http://www.robsymonds.com/stored-procedure-naming-convention/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 23:24:42 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
		
		<category><![CDATA[Administering]]></category>

		<category><![CDATA[Nuggets]]></category>

		<category><![CDATA[Performance Tuning]]></category>

		<guid isPermaLink="false">http://www.robsymonds.com/?p=31</guid>
		<description><![CDATA[Never use the sp_ prefix for a user-stored procedure. One reason is that it can make it hard to tell which sprocs are delivered and which are user-defined. Another is that  if you prefix your sprocs with sp_, SQL searches for the prefix in the master db each time the procedure is called, before [...]]]></description>
			<content:encoded><![CDATA[<p>Never use the sp_ prefix for a user-stored procedure. One reason is that it can make it hard to tell which sprocs are delivered and which are user-defined. Another is that  if you prefix your sprocs with sp_, SQL searches for the prefix in the master db each time the procedure is called, before looking in the local database. Use usp_ instead.</p>
<p><em>From Microsoft eLearning Course 3595: Establishing Database Conventions and Standards for Microsoft® SQL Server™ 2005.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.robsymonds.com/stored-procedure-naming-convention/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Partitioning and Formatting Disks for SQL Server Performance</title>
		<link>http://www.robsymonds.com/partitioning-and-formatting-disks-for-sql-server-performance/</link>
		<comments>http://www.robsymonds.com/partitioning-and-formatting-disks-for-sql-server-performance/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 16:45:40 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
		
		<category><![CDATA[Administering]]></category>

		<category><![CDATA[Storage]]></category>

		<category><![CDATA[Windows Server 2003]]></category>

		<guid isPermaLink="false">http://www.robsymonds.com/?p=30</guid>
		<description><![CDATA[When you add new disks to a server and you intend to use them for SQL Server log and data files, there are some suggested best practices in preparing the disks. I suggest you read this post, then read the resources below before taking any action. Some of the configuration values in the Partitioning and [...]]]></description>
			<content:encoded><![CDATA[<p>When you add new disks to a server and you intend to use them for SQL Server log and data files, there are some suggested best practices in preparing the disks. I suggest you read this post, then read the resources below before taking any action. Some of the configuration values in the Partitioning and Formatting steps below are not universally agreed upon despite strong evidence to support their validity. It is important that you understand the nature of your environment and come to your own conclusions regarding configuration before you proceed.</p>
<p>This post assumes that the disks have been installed or otherwise presented to the server and covers the 3 steps necessary to prepare them:</p>
<ol>
<li>Initializing</li>
<li>Partitioning</li>
<li>Formatting</li>
</ol>
<p>The information in this post is generally applicable to any storage being used by Windows Server 2003. Check with your storage vendor for more information though. Recent changes in storage technology may mean that the specifics of these steps are not accurate for your environment. </p>
<h2>Initializing</h2>
<p>After the disks are installed or presented to the server, you must initialize them. This can easily be done through the Disk Management interface.</p>
<p>Click Start &gt; Run, type DISKMGMT.MSC and hit Enter to bring up the Disk Management utility. On opening it may prompt you to configure these as dynamic disks. You don&#8217;t want that so cancel out of it.</p>
<p>In the bottom pane, you will see a list of disks on the machine starting with Disk 0. Underneath you will see disks that have been recognized but not initialized. Click on the Disk # of the disk you want to manage and choose Initialize. Do this for any disks you have added.</p>
<h2>Partitioning</h2>
<p>Next you have to create a partition on the disk. We are simply going to create a single primary partition using the DISKPART.EXE tool that comes with Windows Server 2003.</p>
<p>Click Start &gt; Command Line to open up the command line. Then type diskpart to start a diskpart session.</p>
<p>At the diskpart prompt, type:<br />
<code><br />
list disk<br />
</code></p>
<p>This will show all initialized disks. You&#8217;ll notice that the disk numbers here correspond to the disk numbers in the Disk Management utility. For the sake of example, we&#8217;ll assume that you added 2 new disks recognized as disk 3 and disk 4 under Disk Management and that you have initialilzed them. Type:<br />
<code><br />
select disk 3<br />
</code></p>
<p>then hit enter and type:<br />
<code><br />
create partition primary align=64<br />
</code></p>
<p>and hit enter again. The use of align=64 is perhaps a little controversial to some that are using advanced storage technology. There is strong enough evidence to support that this is an important configuration you should make regardless and I&#8217;m not going to jump into the debate. From Microsoft (see resources below):</p>
<blockquote><p>
&#8230;sector alignment, should be performed on the file system (NTFS) whenever a volume is created on a RAID device. Failure to do so can lead to significant performance degradation&#8230;</p></blockquote>
<p>We will give Disk 3 a drive letter of Y and Disk 4 a drive letter of Z. Once the partitioning operation completes, assign a drive letter by typing:<br />
<code><br />
assign letter=y<br />
</code></p>
<p>Now you can go through the same process for disk 4:<br />
<code><br />
select disk 4<br />
create partition primary align=64<br />
assign letter=z<br />
</code></p>
<p>When you are done type exit to end your diskpart session.</p>
<h2>Formatting</h2>
<p>You can format through the Disk Management Utility if you want. I usually just do it through the command line just because I have the command line open after partitioning. The command is:<br />
<code><br />
format y: /fs:ntfs /v:NewLogs /a:64k<br />
</code></p>
<p>Let&#8217;s break down the command. The y: specifies the drive to format by drive letter. /fs:ntfs species that the disk be formatted using the NTFS file system. /v:NewLogs gives the disk a lable of NewLogs. /a: 64k formats the disk to allocate data in 64k chunks. This can also be a misunderstood or controversial setting. Again, there is strong enough evidence to support using this configuration in addition to being a recommendation from Microsoft:</p>
<blockquote><p>
When formatting the partition that will be used for SQL Server data files, it is recommended that you use a 64-KB allocation unit size for data, logs, and tempdb.
</p></blockquote>
<p>After completing these 3 steps, your disks are properly prepared and ready to use. Explore the references below for more details.</p>
<h3>References</h3>
<ul>
<li><a href="http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/pdpliobp.mspx">http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/pdpliobp.mspx</a></li>
<li><a href="http://support.microsoft.com/kb/929491">http://support.microsoft.com/kb/929491</a></li>
<li><a href="http://sqlblog.com/blogs/kevin_kline/archive/2008/10/08/how-to-improve-application-and-database-performance-up-to-40-in-one-easy-step.aspx">http://sqlblog.com/blogs/kevin_kline/archive/2008/10/08/how-to-improve-application-and-database-performance-up-to-40-in-one-easy-step.aspx</a></li>
<li><a href="http://sqlblog.com/blogs/linchi_shea/archive/2007/02/01/performance-impact-of-disk-misalignment.aspx">http://sqlblog.com/blogs/linchi_shea/archive/2007/02/01/performance-impact-of-disk-misalignment.aspx</a></li>
<li><a href="http://blogs.msdn.com/jimmymay/archive/2008/10/14/disk-partition-alignment-for-sql-server-slide-deck.aspx">http://blogs.msdn.com/jimmymay/archive/2008/10/14/disk-partition-alignment-for-sql-server-slide-deck.aspx</a></li>
<li><a href="http://searchenterprisedesktop.techtarget.com/tip/0,289483,sid192_gci1241594,00.html">http://searchenterprisedesktop.techtarget.com/tip/0,289483,sid192_gci1241594,00.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.robsymonds.com/partitioning-and-formatting-disks-for-sql-server-performance/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Top 3 Responsibilities of a DBA</title>
		<link>http://www.robsymonds.com/the-top-3-responsibilities-of-a-dba/</link>
		<comments>http://www.robsymonds.com/the-top-3-responsibilities-of-a-dba/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 01:54:45 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
		
		<category><![CDATA[Administering]]></category>

		<category><![CDATA[Strategies]]></category>

		<guid isPermaLink="false">http://www.robsymonds.com/?p=29</guid>
		<description><![CDATA[Things have been a little hectic at work lately and I&#8217;ve had a lot of non-DBA type work mixed in with my regular work. In times like these, it can be a challenge to set priorities. This got me to thinking about the most important responsibilities I have as a DBA. I remember suggesting three [...]]]></description>
			<content:encoded><![CDATA[<p>Things have been a little hectic at work lately and I&#8217;ve had a lot of non-DBA type work mixed in with my regular work. In times like these, it can be a challenge to set priorities. This got me to thinking about the most important responsibilities I have as a DBA. I remember suggesting three in particular to my current employer during a job interview. They were a bit off the cuff at the time but I still stand by them:</p>
<ol>
<li><strong>Database Availability</strong> - Keep the database available and performant.</li>
<li><strong>Database Integrity</strong> - Secure the database against corruption or data loss.</li>
<li><strong>Database Security</strong> - Secure the database against unauthorized access.</li>
</ol>
<div>Whenever you get dragged into the jungle of politics, unbridled technology enthusiasm, rapid environment changes, shifting priorities, whatever you may face&#8211;just remember that these 3 are likely to be the most important things you are responsible for as a DBA.</div>
<div></div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.robsymonds.com/the-top-3-responsibilities-of-a-dba/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to Disable Transaction Logs in SQL Server</title>
		<link>http://www.robsymonds.com/how-to-disable-transaction-logs-in-sql-server/</link>
		<comments>http://www.robsymonds.com/how-to-disable-transaction-logs-in-sql-server/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 01:36:02 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
		
		<category><![CDATA[Administering]]></category>

		<category><![CDATA[Backup and Recovery]]></category>

		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.robsymonds.com/?p=27</guid>
		<description><![CDATA[I see this topic come up over and over again on the web. Somebody&#8217;s transaction logs run wild and they start searching for how to disable the transaction log so they can maximize disk space. I suspect that the people searching for this are probably developers or sys admins that got stuck babysitting a SQL [...]]]></description>
			<content:encoded><![CDATA[<p>I see this topic come up over and over again on the web. Somebody&#8217;s transaction logs run wild and they start searching for how to disable the transaction log so they can maximize disk space. I suspect that the people searching for this are probably developers or sys admins that got stuck babysitting a SQL Server and might not have had a chance to get familiar with SQL. </p>
<p><strong>You cannot disable SQL Server transaction logs</strong> any more than you can disable the transmission in your car. SQL operations that change the state of the database are processed in transactions and all transactions are written to the transaction log before they are written to the data file. Here is how Microsoft puts it:</p>
<blockquote><p>Microsoft® SQL Server™ 2000, like many relational databases, uses a write-ahead log. A write-ahead log ensures that no data modifications are written to disk before the associated log record.</p>
<p>SQL Server maintains a buffer cache into which it reads data pages when data must be retrieved. Data modifications are not made directly to disk, but are instead made to the copy of the page in the buffer cache. The modification is not written to disk until either the database is checkpointed, or the modifications must be written to disk so the buffer can be used to hold a new page. Writing a modified data page from the buffer cache to disk is called flushing the page. A page modified in the cache but not yet written to disk is called a dirty page.</p>
<p>At the time a modification is made to a page in the buffer, a log record is built in the log cache recording the modification. This log record must be written to disk before the associated dirty page is flushed from the buffer cache to disk. If the dirty page were flushed before the log record, it would create a modification on disk that could not be rolled back if the server failed before the log record were written to disk. SQL Server has logic that prevents a dirty page from being flushed before the associated log record. Because log records are always written ahead of the associated data pages, the log is called a write-ahead log. (<a href="http://msdn.microsoft.com/en-us/library/aa174527(SQL.80).aspx">http://msdn.microsoft.com/en-us/library/aa174527(SQL.80).aspx</a>)</p></blockquote>
<p>The transaction log isn&#8217;t going anywhere, the real question is: how do you manage transaction logs?</p>
<p>To learn more about how to manage transaction logs, check out the excellent article: <a href="http://www.sqlservercentral.com/articles/64582/">Managing Transaction Logs</a> by Microsoft MVP Gail Shaw.</p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.robsymonds.com/how-to-disable-transaction-logs-in-sql-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quickly Get SQL Server Version, Edition and Update Level</title>
		<link>http://www.robsymonds.com/quickly-get-sql-server-version-edition-and-update-level/</link>
		<comments>http://www.robsymonds.com/quickly-get-sql-server-version-edition-and-update-level/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 09:00:10 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
		
		<category><![CDATA[Nuggets]]></category>

		<category><![CDATA[Scripts and Queries]]></category>

		<guid isPermaLink="false">http://www.robsymonds.com/?p=24</guid>
		<description><![CDATA[This query works on SQL Server 2000 and above:

USE [master]

SELECT
CAST(SERVERPROPERTY(&#8217;productversion&#8217;) AS VARCHAR) + &#8216; - &#8216;
+ CAST(SERVERPROPERTY(&#8217;productlevel&#8217;) AS VARCHAR) + &#8216; (&#8217;
+ CAST(SERVERPROPERTY(&#8217;edition&#8217;) AS VARCHAR) + &#8216;)&#8217;

]]></description>
			<content:encoded><![CDATA[<p>This query works on SQL Server 2000 and above:</p>
<div class="dean_ch" style="white-space: nowrap;overflow:auto;">
<p>USE [master]</p>
<p>
SELECT<br />
CAST(SERVERPROPERTY(&#8217;productversion&#8217;) AS VARCHAR) + &#8216; - &#8216;<br />
+ CAST(SERVERPROPERTY(&#8217;productlevel&#8217;) AS VARCHAR) + &#8216; (&#8217;<br />
+ CAST(SERVERPROPERTY(&#8217;edition&#8217;) AS VARCHAR) + &#8216;)&#8217;</div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.robsymonds.com/quickly-get-sql-server-version-edition-and-update-level/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
