<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>SQL Server Consulting</title>
	
	<link>http://sqltechconsulting.com</link>
	<description>Making SQL Server BETTER.</description>
	<lastBuildDate>Thu, 23 Feb 2012 00:29:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SqltechConsulting" /><feedburner:info uri="sqltechconsulting" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>Making SQL Server BETTER.</itunes:subtitle><feedburner:emailServiceId>SqltechConsulting</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>SQL Server DevConnections Post Con session on Virtualization and SAN</title>
		<link>http://feedproxy.google.com/~r/SqltechConsulting/~3/1heZ3-M3jA8/</link>
		<comments>http://sqltechconsulting.com/2011/04/03/sql-server-devconnections-post-con-session-on-virtualization-and-san/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 05:24:43 +0000</pubDate>
		<dc:creator />
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://sqltechconsulting.com/?p=2800</guid>
		<description><![CDATA[Just when I thought it wasn’t possible to make an already amazing conference better.  Brent comes along with this fantastic presentation on Virtualization and SAN basics for the SQL Server DBA.  You can watch an older version he did for SQL Bits here. Brent started the session by describing how virtualization is about making things [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Just when I thought it wasn’t possible to make an already amazing conference better.  Brent comes along with this fantastic presentation on Virtualization and SAN basics for the SQL Server DBA.  You can watch an older version he did for <a title="Virtualization and SAN basics for the DBA" href="http://www.brentozar.com/sql-server-training-videos/virtualization-and-san-basics-for-dbas/" target="_blank">SQL Bits here</a>.</p>
<p>Brent started the session by describing how virtualization is about making things cheaper and easier to manage.  He also described a lot of ways to ensure we don’t leave performance on the floor while doing so.  Brent explained why it is better to start with 2 virtual CPU.  This helps to ensure we get the same machine each time.  Some other tips were to always run the latest hypervisor, minimize background services and applications, and frequently check and monitor the CPU speeds and cache.  He showed us one really great tool to check the speeds called <a title="CPUID" href="http://www.cpuid.com/" target="_blank">CPUID</a>.  Brent also emphasized getting memory reservations from the host and described how empty memory won’t be used.  It is important to set the min/max memory, avoid locking pages in memory while in virtualization, and monitor the memory levels to avoid issues with the balloon driver.  He went on to describe storage and VMOTION.  He also described the pros and cons of using virtualization for High Availability and Disaster Recovery.  A lot of really great material and he described it all like the true SQL Server master he is.</p>
<p>For the SAN section, Brent gave a very detailed explanation of how SANs work, the architecture and the importance to follow your vendor’s best practices.  All too often the SANS are configured incorrectly and that just leads to performance issues.  Brent described various RAID arrays and types of disc systems, and which were better suited for reads, writes etc. while maintaining the best performance and price in mind.  He went over shared and dedicated disk arrays, compression, and backup mechanisms using SAN snapshots, and replication.  He also described multipathing and how it can drastically improve SAN performance.  Brent finally described some tricks to monitor the SAN and <a title="SAN IO monitoring" href="http://www.brentozar.com/archive/2008/11/storage-performance-testing-with-sqlio/" target="_blank">analyze the throughput capabilities </a>so we can know our machines limits.   </p>
<p>I could just go on and on, about how informative and helpful this session has been to me.  I really learned a lot and I am so thankful for Brent’s incite and expert advice.  I would highly recommend following Brent’s tips and I have already seen the fruits of his labor as I put some of them to work already.  What a great way to end an amazing conference.  I can’t wait for the next one now, but I will always remember SQL DEVConnection 2011 as being one of the best.  Thank you all for a great learning experience!</p>
</div>
<div id="wpcr_respond_1"></div><img src="http://feeds.feedburner.com/~r/SqltechConsulting/~4/1heZ3-M3jA8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sqltechconsulting.com/2011/04/03/sql-server-devconnections-post-con-session-on-virtualization-and-san/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sqltechconsulting.com/2011/04/03/sql-server-devconnections-post-con-session-on-virtualization-and-san/</feedburner:origLink></item>
		<item>
		<title>SQL Server DevConnections Day 3</title>
		<link>http://feedproxy.google.com/~r/SqltechConsulting/~3/3JmadOinhuc/</link>
		<comments>http://sqltechconsulting.com/2011/04/03/sql-server-devconnections-day-3/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 05:22:11 +0000</pubDate>
		<dc:creator />
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://sqltechconsulting.com/?p=2791</guid>
		<description><![CDATA[Day 3 of Devconnections for me started with Brian Kelley&#8217;s Knowing what to look for in SQL Server security.  Brian started by describing the different types of attacks in terms of stealing data, manipulating website or applications, and also by creating a Launchpad for other attacks.   He went over SQL injection, listed many informative hacking websites and [...]]]></description>
			<content:encoded><![CDATA[<p>Day 3 of Devconnections for me started with Brian Kelley&#8217;s Knowing what to look for in SQL Server security.  Brian started by describing the different types of attacks in terms of stealing data, manipulating website or applications, and also by creating a Launchpad for other attacks.   He went over SQL injection, listed many informative hacking websites and provided ways to prevent it from occurring.  Some of his recommendations were to use code review, using a red team (team of hired hackers), and by using various tools too.  He went over a lot of the tools used by hackers and how we can learn more about them, so we can be better prepared to defend against them.  This was a very interesting session and I wish we had more time to dive deeper.  All in all Brian is an expert on security and he helped gleam a boat load of information to help us secure our servers a lot better.</p>
<p>Next I went to <a title="Paul Randal" href="http://www.sqlskills.com/blogs/paul/" target="_blank">Paul Randal&#8217;s </a>Index Fragmentation, the Hidden Menace.  What better presenter is there than the man himself?  Paul was the original author of DBCC REINDEX, DBCC INDEXDEFRAG and a lot of the DBCC commands in SQL Server.  He gave us a deep dive into the internals of SQL Server index structures.  He described B-Trees and how SQL Server stores data, some of the DMV&#8217;s to analyze fragmentation and which items we really need to pay attention to.  He described logical fragmentation as well as page density, as being two of the most meaningful metrics to use in diagnosing the fragmentation.  Then he showed examples of how to prevent fragmentation from occurring as badly and how important it is to select the correct fill factor for each table.  Paul advised using index defrag on items that around 30% fragmented and recommended using Index rebuilds on items that are over 30% fragmented.  These are just general guidelines though and should be determined by your individual environments.  Paul also mentioned a great resource for managing fragmentation by using <a title="database maintenance scripts" href="http://ola.hallengren.com/" target="_blank">Ola Hallengren&#8217;s maintenance scripts.</a>  Another great session and I learned a lot of really great material.</p>
<p>The next session was one of my favorites.  It was <a title="Maciej Pilecki" href="http://sqlblogcasts.com/blogs/maciej/default.aspx" target="_blank">Maciej Pilecki&#8217;s</a> Dude where&#8217;s my memory?  Maciej really outdid himself here.  How many of us really understand the memory structures of SQL Server?  Maciej is truly one of the few.  He started the session by describing the different types of memory and their use for various operations.  He described the use of the AWE memory and the 3GB switch.  It&#8217;s use in 32 bit machines, and why it isn&#8217;t needed on 64 bit machines with over 4GB of RAM.  He described <a title="working set trim" href="http://blogs.msdn.com/b/psssql/archive/2008/03/03/sql-server-working-set-trim-problems-consider.aspx" target="_blank">working set trim</a>, locking pages in memory, <a title="NUMA affinity" href="http://blogs.msdn.com/b/slavao/archive/2005/08/02/446648.aspx" target="_blank">NUMA affinity </a>and <a title="SQLOS" href="http://blogs.msdn.com/b/slavao/archive/2005/07/20/441058.aspx" target="_blank">SQLOS</a>(the caching framework.)  He went over the evaluation of <a title="sql server clock hands" href="http://blogs.msdn.com/b/slavao/archive/2005/11/20/495093.aspx" target="_blank">clock hands</a> and procedural cache stores.  He described how to <a title="Adhoc Optimizations " href="http://www.google.com/url?sa=t&amp;source=web&amp;cd=2&amp;ved=0CB0QFjAB&amp;url=http%3A%2F%2Fecn.channel9.msdn.com%2Fo9%2Fte%2FNorthAmerica%2F2010%2Fpptx%2FDAT403.pptx&amp;rct=j&amp;q=new%20orleans%20teched%20execution%20plan%20adhoc&amp;ei=4P6XTcm-HuOx0QHJm6DqCw&amp;usg=AFQjCNHuizjVpHAm6-bcmvt0pc8Ar_E3BQ&amp;sig2=buzRmQEmraAWQKIZwA4Lrg" target="_blank">optimize executions for ad hoc operations</a>.  I was just amazed just at all of the material Maciej presented and how clear he made it to me even though it was really complex material.  He is truly a one of a kind presenter.</p>
<p>Finally the last session of the day was Follow the Rabbit with Paul Randal, Kimberly Tripp, <a title="Jonathan Kehayias" href="http://sqlblog.com/blogs/jonathan_kehayias/" target="_blank">Jonathan Kehayias</a>, and Maciej Pilecki.  This session was mainly a question and answer session.  They went over implicit column conversion problems, plan cache, page compression, column store indexes, and extended events.  They also mentioned Jonathan&#8217;s <a title="extended events manager" href="http://extendedeventmanager.codeplex.com/releases/view/30480" target="_blank">extended events manager</a>.</p>
<p>What a great conference!  It was just incredible.  I learned so much in so little time and I even got a lot of swag to go along with everything I learned too.</p>
<div id="wpcr_respond_1"></div><img src="http://feeds.feedburner.com/~r/SqltechConsulting/~4/3JmadOinhuc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sqltechconsulting.com/2011/04/03/sql-server-devconnections-day-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sqltechconsulting.com/2011/04/03/sql-server-devconnections-day-3/</feedburner:origLink></item>
		<item>
		<title>SQL Server DevConnections Day 2</title>
		<link>http://feedproxy.google.com/~r/SqltechConsulting/~3/tkGgcVx0jvw/</link>
		<comments>http://sqltechconsulting.com/2011/04/02/sql-server-devconnections-day-2/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 03:38:12 +0000</pubDate>
		<dc:creator />
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://sqltechconsulting.com/?p=2788</guid>
		<description><![CDATA[After such a great Day 1, and after meeting two of the worlds certified database masters, I was very eager to jump right in and learn more.  The first session I went to was Locking and Blocking made simple with Joe Webb.  Joe started the session explaining the processing of deadlocks, which is when two [...]]]></description>
			<content:encoded><![CDATA[<p>After such a great Day 1, and after meeting two of the worlds certified database masters, I was very eager to jump right in and learn more.  The first session I went to was Locking and Blocking made simple with <a title="Joe Webb" href="http://weblogs.sqlteam.com/joew/default.aspx">Joe Webb</a>.  Joe started the session explaining the processing of deadlocks, which is when two processes each have shared locks on an object and are then both stuck waiting indefinitely trying to escalate their locks.  He then went over <a title="blocking and locking DMV's" href="http://sqlserverpedia.com/wiki/DM_Objects_-_Sys.dm_tran_locks">some DMV&#8217;s to investigate locks </a>and proceeded by describing the <a title="lock escalation tipping point" href="http://msdn.microsoft.com/en-us/library/ms184286.aspx" target="_blank">tipping point for escalation</a>.  Joe discussed many of the basics of locking, why blocking occurs and some mechanisms he uses to diagnose them when issues arise. </p>
<p>Next I went to the Optimizing Procedural code with <a title="Kimberly L. Tripp" href="http://www.sqlskills.com/blogs/kimberly/" target="_blank">Kimberly L. Tripp</a>.  Kimberly went through a deep dive of how SQL Server handles procedural operations in SQL Server.  She described the need to run sp_recompile at the table level whenever we add new indexes.  This ensures that the optimizer has all of the latest statistics and removes old execution plans that are no longer valid.  She also went over an issue that happens in stored procedures that work with parameters that change a lot.  When SQL Server generates the execution plan it stores the values from the very first execution.  It makes a drastic difference in performance as the values can vary greatly from one execution to the next, and by using a plan that was generated on a smaller number of values can be painful later on after numerous growth in the underlying tables occur and you now have a lot more rows in the table then when we had during the first execution.  In Development/Testing environments she recommended to try using the execute with recompile statement when you are working with small procs and whenever they have varying parameters that change frequently.  Next she went over some other possibilities by using dynamic string execution or by using the OPTION optimize for (@param = &#8216;value&#8217;) solutions.  She also described using statement level recompile and modulizing the stored procedure by using a wrapper.  A lot of really great ideas here and she mentioned a really cool trick by using <a title="login-less users" href="http://www.sqlskills.com/BLOGS/KIMBERLY/post/Little-Bobby-Tables-SQL-Injection-and-EXECUTE-AS.aspx" target="_blank">login-less users </a>in her little bobby tables example.</p>
<p>Next I went to <a title="Brent Ozar" href="http://www.brentozar.com/" target="_blank">Brent Ozar&#8217;s </a>Consolidation, Clustering and Virtualization session.  This was a high level session on the pros and cons of active/active clustering, instance stacking(numerous instances on clusters), consolidation, and virtualization scenarios.  He broke out the details into dashboard type comparisons and explained where you would benefit from one to the other and keeping in mind that we are always looking into cutting costs etc.  He discussed the granularity of each in terms of:</p>
<ul>
<li>Version Upgrade Plans</li>
<li>Maintenance Windows</li>
<li>Security</li>
<li>Compliance Auditing</li>
<li>Performance</li>
<li>Licensing</li>
<li>High Availability</li>
<li>Disaster Recovery</li>
<li>Backup and Restore</li>
</ul>
<p>All in all, this was a fantastic session and it really helped me as I am currently going through a capacity planning and scalability project.  The information gained in this session was extremely enlightening.  I am now aware of all these aspects and I can make the decision a lot easier now having pondered all the options.</p>
<p>Another really great day.  I am shocked just how useful and informative all these sessions have been thus far.  This conference has been one of the best I have ever attended.  I can&#8217;t wait for Day 3.</p>
<div id="wpcr_respond_1"></div><img src="http://feeds.feedburner.com/~r/SqltechConsulting/~4/tkGgcVx0jvw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sqltechconsulting.com/2011/04/02/sql-server-devconnections-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sqltechconsulting.com/2011/04/02/sql-server-devconnections-day-2/</feedburner:origLink></item>
		<item>
		<title>SQL Server DevConnections Day 1</title>
		<link>http://feedproxy.google.com/~r/SqltechConsulting/~3/n9UVU9i95Gk/</link>
		<comments>http://sqltechconsulting.com/2011/04/02/devconnections-day-1/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 02:12:21 +0000</pubDate>
		<dc:creator />
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://sqltechconsulting.com/?p=2786</guid>
		<description><![CDATA[Today was Microsoft Day.  All the sessions I attended were based on the new features and changes that will come in the next edition of SQL Server (Code name Denali).  The conference was kicked off by Christian Kleinerman. Christian has been working for Microsoft for a number of years and most recently has been involved with the [...]]]></description>
			<content:encoded><![CDATA[<p>Today was Microsoft Day.  All the sessions I attended were based on the new features and changes that will come in the next edition of SQL Server (Code name Denali).  The conference was kicked off by Christian Kleinerman. Christian has been working for Microsoft for a number of years and most recently has been involved with the Data Warehousing side of things for SQL Server.  Microsoft is really focused on shifting user and business expectations.  They understand that the future databases are going to be a great deal larger and to make those larger databases more effective they needed to help make a lot of things better. </p>
<p>One of the biggest and most exciting features is the Column Store index.  This index is a new type of columnar nonclustered index.  You can only have one column store index on a table but you can name as many columns as you want.  It uses the Vertipaq technology from PowerPivot which is a client side in memory structure that handles the pivoting of data into what are called segments.  These segments are groupings of 1 million values and the data are stored as blobs.  This type of technology is expected to yield at least 10 times the performance for returning data.  This efficiency does come with a few drawbacks though.  For now, the columnar indexes are suited for tables that have mostly static data.  You can also only use common SQL server data types.  You also can&#8217;t change the data afterwards&#8230;although there are a few workarounds for this.  You can of course drop and recreate the indexes, but another means to avoid this drawback is to partition your table and then bring new data in and out by swapping out the partitions.  Also you can just do a union all with other tables or subsets etc.  None the less I am very excited to start playing with the new columnar index.  I will follow up with more posts on the feature later.</p>
<p>Another new feature is AlwaysOn.  AlwaysOn is an enhancement on the database mirroring technology and merged it with clustering and then used for high availability.  Previous to mirroring, which came out in SQL Server 2005, you only had clustering, log shipping or replication to support your needs of scaling out our processing power and high availability needs.  Previous versions of the mirroring were basically just standby versions that you couldn&#8217;t query or use until you switched over to it&#8230;that is unless you were using snapshots on top of the mirror.  The snapshots worked, but the whole process of maintaining them over the mirrors were cumbersome, and you could only use them for two SQL servers.  Now with AlwaysON, it is like mirroring but you can use it on many different servers and databases via Availability Groups that you can query against and move over to individually and use for scaling out your performance intensive queries.  You can add in a node for availability, scaling out to many other nodes by having secondary or more that are kept up to date with synchronous updates across great distances.  This is really cool, but in a way it was really needed after they took away the read only log shipping capabilities in 2008.  All in all a great edition and I welcome Microsoft&#8217;s initiative to recognize the needs of having synchronous copies of our databases for use.  Brent Ozar has a more thorough review of the technology <a title="AlwaysOn" href="http://www.brentozar.com/archive/2010/11/sql-server-denali-database-mirroring-rocks/" target="_blank">here</a></p>
<p>Microsoft is also starting to deploy what are called Parallel Data warehousing products as an &#8220;appliance&#8221;.  When I say as an appliance, I mean they are taking all of the installation, hardware setup, configuration, and best practices and then bundling it all together in one package that they sell you that also includes all the servers, data storage, backup devices etc.  They have a few of the largest vendors in their program, but <a title="HP Parallel Data Warehouse" href="http://h18004.www1.hp.com/products/quickspecs/13830_na/13830_na.html" target="_blank">HP</a> is the currently the front runner.  Essentially, you just order everything in one big package as a whole and you should be ready to handle all your data warehousing from the one package as an appliance.  Supposedly, you just add data.  This was the first I heard of such a thing, but it has been in the works since the end of last year and unveiled it in SQL Server 2008 R2.  They also now have a Fast Track package available which is basically a road map or &#8220;Cook Book&#8221; if you will that uses various vendor offerings and they tell you how to set everything up yourself using all the best practices and vendor specific details.  This is just the &#8220;Recipe&#8221; for success and you build and support it yourself on your own hardware and environment.  You can read more about it <a title="Fast Track Data Warehouse" href="http://redmondmag.com/articles/2011/02/15/sql-server-fast-track-data-warehouse-3.aspx" target="_blank">here</a>.</p>
<p>Also announced were numerous T-SQL enhancements.  Denali will add what are called &#8220;contained databases&#8221; These databases include all the user and login metadata information all together with the database.  Gone are the days of worrying about orphaned users and matching up the logins and users.  Pretty cool.  They added in <a title="Throw statements" href="http://sqlblog.com/blogs/aaron_bertrand/archive/2010/11/22/sql-server-v-next-denali-using-throw-instead-of-raiserror.aspx" target="_blank">Throw statements </a>which are used with errors, a new paging syntax with <a title="fetch offset" href="http://sqlserver-training.com/how-to-use-offset-fetch-option-in-sql-server-order-by-clause/-" target="_blank">fetch offset</a>, <a title="sequence" href="http://www.mssqltips.com/tip.asp?id=2345" target="_blank">sequence generators</a>, and metadata discovery.  There were also a number of other enhancements and offerings described that are listed <a title="denali features" href="http://sqlserver-training.com/sql-server-denali-new-features/-" target="_blank">here</a>.</p>
<p>The final session of the day was Maciej Pileski&#8217;s SQL Server User Defined Functions, The Good, The bad, and the Ugly.  I have to say first, that Maciej is one of the most charismatic and entertaining presenters I have ever met.  He described the material effortlessly and with such high caliber quality.  I couldn&#8217;t believe that someone could make a session so informative and exciting at the same time.  Maciej described all the kinds of functions we have in SQL Server and listed out some performance issue we need to be aware of in their use.  He described why using scalar functions can be very performance intensive and showed just how misleading an execution plan can be.  In example, the execution plan can show 0% cost but if you take a look at the statistics IO or profiler you will see boat loads of activity and it executes RBAR(Row by Agonizing Row) for its operations.  Next he described tabled value functions and their use when inline, multi-statement, or by using CLR.  When we use inline they act as a view with a parameter.  When we use multistatements they act like a stored procedure but they only assume one row is returned so they are basically a &#8220;BLACK BOX.&#8221;  When we use CLR TVF&#8217;s we can take advantage of <a title="regular expressions CLR tabled value funtions" href="http://msdn.microsoft.com/en-us/magazine/cc163473.aspx">regular expressions</a>.  By far this was my favorite session of the day. </p>
<p>All together this was an extremely great start to the conference.  I learned a lot about the new features and I am itching to get cracking on them as soon as I can.  To top the day off <a title="dinner with the SQL Masters" href="http://sqltechconsulting.com/2011/03/29/dinner-with-the-database-masters/" target="_blank">I had dinner</a> with <a title="Brent Ozar" href="http://www.brentozar.com/" target="_blank">Brent Ozar </a>and <a title="Maciej Pilecki" href="http://sqlblogcasts.com/blogs/maciej/default.aspx" target="_blank">Maciej Pilecki</a>.</p>
<div id="wpcr_respond_1"></div><img src="http://feeds.feedburner.com/~r/SqltechConsulting/~4/n9UVU9i95Gk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sqltechconsulting.com/2011/04/02/devconnections-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sqltechconsulting.com/2011/04/02/devconnections-day-1/</feedburner:origLink></item>
		<item>
		<title>DevConnections and Dinner with the Database Masters</title>
		<link>http://feedproxy.google.com/~r/SqltechConsulting/~3/9RXpDdMBKNM/</link>
		<comments>http://sqltechconsulting.com/2011/03/29/dinner-with-the-database-masters/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 13:19:18 +0000</pubDate>
		<dc:creator />
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://sqltechconsulting.com/?p=2779</guid>
		<description><![CDATA[WOW!!!!  Where do I begin???  It&#8217;s 1 AM and I just got back from eating an amazing dinner at the Vineyard Grill at the Ritz Carlton.  Beautiful restraunt, nice atmosphere, and really really great food.  I have to admit having just a steak dinner here alone, is enough to make anyone&#8217;s night, but to get the chance to sit [...]]]></description>
			<content:encoded><![CDATA[<p>WOW!!!!  Where do I begin???  It&#8217;s 1 AM and I just got back from eating an amazing dinner at the Vineyard Grill at the Ritz Carlton.  Beautiful restraunt, nice atmosphere, and really really great food.  I have to admit having just a steak dinner here alone, is enough to make anyone&#8217;s night, but to get the chance to sit down and chat with two of the world&#8217;s database masters, Maciej Pilecki and Brent Ozar for the evening was simply priceless.   A lot of people will hear this, pause and just think, REALLY?  Well, I am delighted to say that we had a blast together.  They are two of the most down to earth and truely likeable guys you could ever meet. </p>
<p>What blew me away most was discovering just how incedibly passionate and devoted these folks truely are about databases.  I knew they were passionate and knowlegeable already, but they really eat, sleep, and breath databases all day long and it&#8217;s in everything that they do.   To accomplish what these guys do everyday, and the way they do it, is simply amazing.  It&#8217;s hard enough to find good database people in this world nowadays, but these two are really electrifying in their presentations as well.  Their deep level of understanding is second nature to them, and they make the most bland and mondane subjects, enjoyable for everyone no matter the knowledge and experience. They break down the most complex structures, so it&#8217;s so easy to absorb and remember, forever.  What was the most interesting thing for me though was listening to them talk about their families and their lives in general.</p>
<p>I am a family guy, married and I have two little girls.  I could never imagine making the level of commitment that these guys do everyday. From preparing interesting material for presentations, blogging, twitter, reaching out in the community, writing books, and not to mention all the traveling that they do, all while balancing and maintaining their family life too.  Amazing!  Maciej Pilecki has more airline miles, accumulated in three months alone, that I have ever had in my entire life!  And this is a guy is married to a lovely wife, whom I also met tonight, and they have three small children.  They are from Poland, which my wife is also from, so it was nice to chat about the old country for a while, and hear all about how the two of them met.  Brent has no children at the moment, but has been together with his girlfriend for 11 years.  He hasn&#8217;t tied the knot just yet, but I have a feeling it just may be coming soon.  We will see.</p>
<p>On to the sessions today&#8230;all in all, they were all really good.  They had really good presenters, and then they had just off the wall really great presenters like Brent and Maciej.   Today was a Microsoft Day, so it was focussed on enhancements and new features of SQL Server Denali, the next version of SQL Server.  Microsoft&#8217;s focus for this edition is going to be all about changing expectations.  And to do that, they added a number of features and offerings.   I was excited to learn more about SQL Server AlwaysON, the addition of a number of TSQL enhancements, like contained databases, parallel datawarehouse (Microsoft&#8217;s DW as an appliance) etc., but the most intriguing new feature for me was the new index type called columnstore.   The columnstore index is really going to be a game changer. </p>
<p>I will write more about them all and the individual sessions too, later in greater detail, as I need to get to bed now and prepare for day 2.  I can&#8217;t believe it&#8217;s only been one day so far, and I still haven&#8217;t heard sessions with Paul Randal and Kimberly Tripp.   This conference has been really special thus far, and it really is amazing to know it has only begun!</p>
<p>&nbsp;</p>
<div id="wpcr_respond_1"></div><img src="http://feeds.feedburner.com/~r/SqltechConsulting/~4/9RXpDdMBKNM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sqltechconsulting.com/2011/03/29/dinner-with-the-database-masters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sqltechconsulting.com/2011/03/29/dinner-with-the-database-masters/</feedburner:origLink></item>
		<item>
		<title>DEVConnections Conference 2011</title>
		<link>http://feedproxy.google.com/~r/SqltechConsulting/~3/BKifzMNK75A/</link>
		<comments>http://sqltechconsulting.com/2011/03/25/devconnections-conference-2011/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 03:17:59 +0000</pubDate>
		<dc:creator />
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://sqltechconsulting.com/?p=2776</guid>
		<description><![CDATA[I’ve been so busy working on a number of projects, and I appologize for not making the time to post more frequently, but you all know how it is.  I will be heading to Orlando this weekend for the DEVConnections Conference, and I figured I will start back up with a few new posts on the conference since [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve been so busy working on a number of projects, and I appologize for not making the time to post more frequently, but you all know how it is.  I will be heading to Orlando this weekend for the DEVConnections Conference, and I figured I will start back up with a few new posts on the conference since it is going to be choc full of lot’s of goodies.  I am really looking forward to meeting some of the Database Gurus in person. Perhaps I can even make up with some of the ones that I frustrated a little bit last year too. It looks like it’s going to be a really great conference with so many great presentations, so I should have lot’s to report back on each day. Some of the features I am really interested in learning more about, will be the SQL Server “Always ON” features and some of the SAN and Virtualization best practices. The <a title="devconnections schedule" href="http://www.devconnections.com/shows/images/schedulepdfs/S11_Sched_SQL.pdf" target="_blank">schedule for the DevConnections conference </a>and a <a title="devconnections sessions" href="http://devconnections.com/conf/sessions.aspx?s=161" target="_blank">description of the sessions can be located here.   </a>Let me know if you have any specific questions on any of the sessions and I will try to get your questions answered for you here on my blog.  Ta-Ta for now.</p>
<div id="wpcr_respond_1"></div><img src="http://feeds.feedburner.com/~r/SqltechConsulting/~4/BKifzMNK75A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sqltechconsulting.com/2011/03/25/devconnections-conference-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<enclosure url="http://www.devconnections.com/shows/images/schedulepdfs/S11_Sched_SQL.pdf" length="115408" type="application/pdf" /><media:content url="http://www.devconnections.com/shows/images/schedulepdfs/S11_Sched_SQL.pdf" fileSize="115408" type="application/pdf" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>I’ve been so busy working on a number of projects, and I appologize for not making the time to post more frequently, but you all know how it is.  I will be heading to Orlando this weekend for the DEVConnections Conference, and I figured I will start back </itunes:subtitle><itunes:summary>I’ve been so busy working on a number of projects, and I appologize for not making the time to post more frequently, but you all know how it is.  I will be heading to Orlando this weekend for the DEVConnections Conference, and I figured I will start back up with a few new posts on the conference since [...]</itunes:summary><itunes:keywords>News</itunes:keywords><feedburner:origLink>http://sqltechconsulting.com/2011/03/25/devconnections-conference-2011/</feedburner:origLink></item>
		<item>
		<title>Tip:Edit more table rows in SSMS</title>
		<link>http://feedproxy.google.com/~r/SqltechConsulting/~3/M4S7gKXB9Fs/</link>
		<comments>http://sqltechconsulting.com/2010/09/08/tipedit-table-rows-ssms/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 23:17:36 +0000</pubDate>
		<dc:creator />
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://sqltechconsulting.com/?p=2503</guid>
		<description><![CDATA[I had someone ask me today how do you edit records in SSMS like you could in Enterprise Manager?  It&#8217;s pretty easy by right clicking the table and editing the rows.  The question the user had though, was what do you do when the table contains more then 200 rows?  It may not be so obvious to us [...]]]></description>
			<content:encoded><![CDATA[<p>I had someone ask me today how do you edit records in SSMS like you could in Enterprise Manager?  It&#8217;s pretty easy by right clicking the table and editing the rows.  The question the user had though, was what do you do when the table contains more then 200 rows?  It may not be so obvious to us all, so I thought it would be a good little tidbit that could come in handy someday. </p>
<p>In SQL Server Management Studio, you can do it three different ways:</p>
<p>1) We can write an update query.  This really doesn&#8217;t give the user what they are looking for even though it&#8217;s the most natural way for me.</p>
<p>UPDATE Table1<br />
SET column1 = &#8216;blahblahblah&#8217;<br />
FROM dbo.Table1<br />
WHERE ID=201</p>
<p>2)  We can right click table&#8211;&gt; select edit TOP 200 rows&#8211;&gt; and then click the SQL button to edit the query to return more records then 200. </p>
<p><a href="http://sqltechconsulting.com/wp-content/uploads/2010/09/edit.png"><img class="alignnone size-full wp-image-2505" title="edit" src="http://sqltechconsulting.com/wp-content/uploads/2010/09/edit.png" alt="" width="606" height="366" /></a></p>
<p>3) We can also just change the default TOP N records for Edit under Tools&#8211;&gt;Options&#8211;&gt;SQL Server Object Explorer .  Setting it to 0 returns all records.</p>
<p><a href="http://sqltechconsulting.com/wp-content/uploads/2010/09/options.png"><img title="options" src="http://sqltechconsulting.com/wp-content/uploads/2010/09/options.png" alt="" width="608" height="306" /></a></p>
<div id="wpcr_respond_1"></div><img src="http://feeds.feedburner.com/~r/SqltechConsulting/~4/M4S7gKXB9Fs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sqltechconsulting.com/2010/09/08/tipedit-table-rows-ssms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sqltechconsulting.com/2010/09/08/tipedit-table-rows-ssms/</feedburner:origLink></item>
		<item>
		<title>BIZSPARK….Get MSDN subscription, support, and visibility!</title>
		<link>http://feedproxy.google.com/~r/SqltechConsulting/~3/yKuCXyziMO0/</link>
		<comments>http://sqltechconsulting.com/2010/08/06/bizspark-msdn-support-visibility/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 00:51:42 +0000</pubDate>
		<dc:creator />
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://sqltechconsulting.com/?p=2463</guid>
		<description><![CDATA[I&#8217;m not sure a lot of people are aware of this or not, but I figured I&#8217;d just let everyone know just in case.  Microsoft has a program available to small business startups, called Bizspark.  Bizspark a global program that provides Microsoft software, support and visibility for small companies that is basically free of charge for 3 years.  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bizspark.com/v2/Pages/home.aspx"><img class="alignleft size-full wp-image-2464" title="BizSpark_StartUp" src="http://sqltechconsulting.com/wp-content/uploads/2010/08/BizSpark_StartUp.jpg" alt="" width="219" height="77" /></a></p>
<p>I&#8217;m not sure a lot of people are aware of this or not, but I figured I&#8217;d just let everyone know just in case.  Microsoft has a program available to small business startups, called <a title="Bizspark" href="http://www.bizspark.com/v2/Pages/home.aspx" target="_blank">Bizspark</a>.  Bizspark a global program that provides Microsoft software, support and visibility for small companies that is basically free of charge for 3 years.  You pay $100 once you exit the program, but before that it&#8217;s absolutely free!  As with everything there are a few caveats, but for must of us they are pretty hard to hit when you are just starting out. </p>
<p>The restrictions are as follows:</p>
<ul>
<li>Your company has to be privately held</li>
<li>Your company has to be less than three years old</li>
<li>You have to make less than $1 million annually</li>
<li>And you have to develop software or provide support services  (consulting etc.)</li>
</ul>
<p>You also get publicity that can lead to potential investors, clients, and partnerships etc.  With the MSDN subscription you can download fully functional software, ie SQL Server 2008 R2, Visual Studio 2010, Office 2010&#8230;the list goes on and on.  This is one of the best deals I think I have ever run across, so if you are not currently aware of it, and you are a new startup, check it out today. </p>
<p><a href="http://sqltechconsulting.com/wp-content/uploads/2010/08/BizSpark_StartUp.jpg"></a></p>
<div id="wpcr_respond_1"></div><img src="http://feeds.feedburner.com/~r/SqltechConsulting/~4/yKuCXyziMO0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sqltechconsulting.com/2010/08/06/bizspark-msdn-support-visibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sqltechconsulting.com/2010/08/06/bizspark-msdn-support-visibility/</feedburner:origLink></item>
		<item>
		<title>Error 7221: Could not relay results of procedure from remote server</title>
		<link>http://feedproxy.google.com/~r/SqltechConsulting/~3/6zWwIWcStfI/</link>
		<comments>http://sqltechconsulting.com/2010/06/10/error-7221-relay-results-procedure-remote-server/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 00:23:48 +0000</pubDate>
		<dc:creator />
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://sqltechconsulting.com/?p=2424</guid>
		<description><![CDATA[I know it&#8217;s been a while since I posted anything in my blog so I thought I would put something up today that gave me a little more trouble today then I thought it would.   There wasn&#8217;t much help on the internet for it either so perhaps this post will help others that have the same [...]]]></description>
			<content:encoded><![CDATA[<p>I know it&#8217;s been a while since I posted anything in my blog so I thought I would put something up today that gave me a little more trouble today then I thought it would.   There wasn&#8217;t much help on the internet for it either so perhaps this post will help others that have the same issue as I did today.  I was investigating a SQL Agent job that simply executed a stored procedure on a remote server via a linked server call.  The job was extremely sporadic.  It was running fine for weeks and then other times it would fail every day.  The query in the job when run manually in SSMS executes just fine in about 5 minutes.  The only consistent thing I was seeing was that it would only fail if it was running over 5 minutes and 37 seconds.  The error I was getting in the job failure was as follows:</p>
<p>Could not relay results of procedure &#8216;SSP_SAMPLE&#8217; from remote server &#8216;LNKTEST&#8217;. [SQLSTATE 42000] (Error 7221)   [SQLSTATE 01000] (Error 7312).  The step failed.</p>
<p>At first glance I thought it must have been the remote query timeout setting for the server.   So in order to check this I took a look by running  sp_configure</p>
<p><a href="http://sqltechconsulting.com/wp-content/uploads/2010/06/spconfigure.jpg"><img class="alignnone size-full wp-image-2426" title="sp_configure" src="http://sqltechconsulting.com/wp-content/uploads/2010/06/spconfigure.jpg" alt="sp_configure" width="566" height="1422" /></a></p>
<p>The setting for remote query timeout (s) was set at 600.  This tells me I have the default setting which is a 10 minute timeout period for remote queries.  The query when ran manually runs for 5 minutes so that&#8217;s almost half the time of  the 10 minute timeout period so that wasn&#8217;t it.  What on earth could it have been then? Maybe it was missing a setting in the linked server or permissions, so I took a look at the security for the linked server.  Unfortunately it wasn&#8217;t going to be that easy for me either.  The login for the linked server was given the appropriate rights to execute the proc in the database and again, it was running manually just fine so it couldn&#8217;t have been permissions.  HMMMMM.  Maybe it was the RPC, or RPC Out permissions.  By default SQL sets those to false.  As you can see below though, they are set to true and again when run manually, it was working just fine.</p>
<p><a href="http://sqltechconsulting.com/wp-content/uploads/2010/06/linked.jpg"><img class="alignnone size-full wp-image-2425" title="linked" src="http://sqltechconsulting.com/wp-content/uploads/2010/06/linked.jpg" alt="linked" width="573" height="632" /></a></p>
<p>I started investigating further and then I thought maybe it could be something else but that wasn&#8217;t it either.  I banged my head on my desk three times and then it hit me&#8230;..it was right there in front of my face.  Do you see it?  Look again?  It was the Query Timeout!  Someone set this to 337 in the linked server itself.  Normally by default this is set to 0.  I always keep it at 0 myself so I never thought to check it there.  Sometimes its just the silliest things that give us troubles, huh?  Funny thing was that there was no where on the internet where it was stated that this may be the cause.  It was just the fix for me, so if you are scowering the internet looking for a fix for the error above, and your using linked servers and can&#8217;t seem to find the issue&#8230;. just check the query timeout in the linked server itself.  It may be just the thing you were looking for.  <img src='http://sqltechconsulting.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="wpcr_respond_1"></div><img src="http://feeds.feedburner.com/~r/SqltechConsulting/~4/6zWwIWcStfI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sqltechconsulting.com/2010/06/10/error-7221-relay-results-procedure-remote-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sqltechconsulting.com/2010/06/10/error-7221-relay-results-procedure-remote-server/</feedburner:origLink></item>
		<item>
		<title>xp_sendmail: failed with mail error 0×80040111</title>
		<link>http://feedproxy.google.com/~r/SqltechConsulting/~3/QdBOaPFy8eo/</link>
		<comments>http://sqltechconsulting.com/2010/03/30/xp_sendmail-failed-with-mail-error-0x80040111/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 02:53:13 +0000</pubDate>
		<dc:creator />
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://sqltechconsulting.com/2010/03/30/xp_sendmail-failed-with-mail-error-0x80040111/</guid>
		<description><![CDATA[I ran into this error today while diagnosing a sql alert that was sending mail utilizing xp_sendmail on a clustered SQL Server 2000 machine.  The funny thing was that I was told that when SQL gets failed over to the other node it worked fine.  That seemed really strange to me&#8230;so I decided to investigate to [...]]]></description>
			<content:encoded><![CDATA[<p>I ran into this error today while diagnosing a sql alert that was sending mail utilizing xp_sendmail on a clustered SQL Server 2000 machine.  The funny thing was that I was told that when SQL gets failed over to the other node it worked fine.  That seemed really strange to me&#8230;so I decided to investigate to see if I could get it fixed once and for all.  Sure enough when I tried to send a test xp_sendmail message I got the following error:</p>
<p>Msg 18025, Level 16, State 1, Line 0<br />
xp_sendmail: failed with mail error 0&#215;80040111</p>
<p>Since this was 2000, the mail must be configured to use a MAPI profile in order to send mail.  Because of this I decided I should take a look at the mail profile itself.  So I opened Outlook and took a look at the mail profile.  Everything seemed to be working fine for me.  That&#8217;s funny, it works for me, but when SQL fires it on one node it works, but on the other one it doesn&#8217;t.  What could be causing this to stop working?  I failed the cluster over and I took a look at the email profile over on the side where it worked.  Everything was the same on the email profile.  This got me thinking, that perhaps it is permissions.  So I looked at the SQL Server service account and compared that to the other node.  It turns out that they were using two different accounts for the SQL Server service.   When I logged in as the service account where the errors were occuring and I opened up Outlook, I got the error stating that the exchange server was unavailable.  This confirmed that is must have due to the login credentials of the SQL Server service account.  I changed the service account to use the same service account that worked on the other node and all the email alerts were back to normal again.  So, if you ever run into an  0&#215;80040111 error with xp_sendmail, we should make sure that the sql server service account that is running has access to the mail account used in the MAPI.  Once that is set and the account can freely send and recieve mail, then everything should work beautifully.</p>
<p>UPDATE:</p>
<p>I got a great tip in an email from Tim Edwards<a href="http://sqlservertimes2.com/" target="_blank"> BLOG</a>|<a href="http://www.twitter.com/timbo_b_edwards" target="_blank">Twitter</a> so I am copying it in here now:</p>
<p>&#8220;Unfortunately, because the MAPI protocol isn&#8217;t cluster aware, SQL Mail is not fully supported by Microsoft on Windows clusters (see <a href="http://support.microsoft.com/kb/298723/EN-US/">http://support.microsoft.com/kb/298723/EN-US/</a>).  If you have an SMTP server available, the preferable method in that situation would be to go send your alerts out via SMTP (good article from SQLServerCentral.com on how to accomplish that here: <a href="http://www.sqlservercentral.com/scripts/Miscellaneous/30510/">http://www.sqlservercentral.com/scripts/Miscellaneous/30510/</a>).  The only downside is that this means you have to create an extra job step for notification since SMTP is not native in SQL Server 2000 and thus is not integrated with the SQL Agent notifications and alerts.&#8221;</p>
<div id="wpcr_respond_1"></div><img src="http://feeds.feedburner.com/~r/SqltechConsulting/~4/QdBOaPFy8eo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sqltechconsulting.com/2010/03/30/xp_sendmail-failed-with-mail-error-0x80040111/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sqltechconsulting.com/2010/03/30/xp_sendmail-failed-with-mail-error-0x80040111/</feedburner:origLink></item>
	<media:rating>nonadult</media:rating></channel>
</rss><!-- This Quick Cache file was built for (  sqltechconsulting.com/feed/ ) in 0.31201 seconds, on Feb 23rd, 2012 at 12:36 am UTC. --><!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 23rd, 2012 at 1:36 am UTC -->

