<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Luke Hayler - SQL Server Developer &#187; sql</title>
	<atom:link href="http://lukehayler.com/tag/sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://lukehayler.com</link>
	<description>A blog about Business Intelligence and other personal interests</description>
	<lastBuildDate>Tue, 13 Dec 2011 11:42:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Reporting Services (2005) &#8220;http://localhost/reports&#8221; authentication error</title>
		<link>http://lukehayler.com/2010/06/reporting-services-2005-httplocalhostreports-authentication-error/</link>
		<comments>http://lukehayler.com/2010/06/reporting-services-2005-httplocalhostreports-authentication-error/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 11:00:00 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Luke Hayler]]></category>
		<category><![CDATA[Reporting Services]]></category>
		<category><![CDATA[authenticationerrors]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[SSRS]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/06/reporting-services-2005-httplocalhostreports-authentication-error/</guid>
		<description><![CDATA[I have encountered this issue on two separate occasions now. The first was during a report deployment to a new Report Server Virtual Directory and the second was trying to access the report manager via the URL: http://localhost/Reports. Each time &#8230; <a href="http://lukehayler.com/2010/06/reporting-services-2005-httplocalhostreports-authentication-error/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have encountered this issue on two separate occasions now. The first was during a report deployment to a new Report Server Virtual Directory and the second was trying to access the report manager via the URL: http://localhost/Reports. Each time I was presented with the same &quot;Authentication Required&quot; &quot;Enter username and password for &quot;&quot; at http://localhost&quot; screen:</p>
<p>On both occasions I searched high and low for a solution to the problem using a few trusty searches , but could not come up with an answer that worked for me. To cut a long story short the simple solution was to ensure that the URL was a) correct and b) fully qualified.</p>
<p>In the first instance (report deployment) the name of the Report Server Virtual Directory was a Named instance and so trying to deploy to http://localhost/reports was never going to work. Ensuring the right virtual directory was in the URL made all the difference. Go figure.</p>
<p>In the second instance (accessing the Report Manager) I had installed a default configuration of Reporting Services and therefore the setup had created the Virtual Directories required (Reports &amp; ReportServer). However, having typed in the URL http://localhost/Reports I got the Authentication Required screen (as above). I found numerous solutions (supposedly) to this problem, all of which are listed at the end of the post, but I eventually just tried the full path of the home page: http://localhost/Reports/Pages/Folder.aspx and it worked like a dream. Again. Go figure.</p>
<p>Why the full path had to provided I don&#8217;t know. On previous occasions I have not have to do so and have been able to connect to the Report Manager using the abbreviated URL (http://localhost/Reports). If anyone does have a clue as to why this is I would gladly welcome the comments.</p>
<p>Things to note:</p>
<p>I am running Windows XP Pro SP2 with SQL Server 2005 Developer Edition.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Other possible solutions, or at least other areas to check when experiencing this issue:</p>
<p>1. If you are using Firefox and still have problems with Authentication (whilst there are no issues with IE) try <a href="http://blog.satyr.nl/post/fixing_the_localhost_authentication_problem_in_firefox">this</a><a href="http://blog.satyr.nl/post/fixing_the_localhost_authentication_problem_in_firefox"> very quick and easy fix</a>.</p>
<p>2. Checking the security settings in Control Panel&gt;Administrator Tools&gt; IIS&gt; Default website and right clicking Reports, choose Properties&gt;Directory Security&gt;Anonymous Access &amp; Authentication control. A number of people suggest using the Anonymous setting only, although I have found that although you can then navigate to http://localhost/reports, no folder structure is available to you. It is therefore suggested that you use the Integrated Windows Authentication only.</p>
<p>3. Ensure that all the settings in Reporting Services Configuration are green. If not, attend to each of the areas in red.</p>
<p>4. Any other ideas? Post a comment that I can include here.</p>
<p>Hopefully, you haven&#8217;t had as painful a journey as I have in getting this exceedingly annoying issue (but scarily easy fix) sorted out.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukehayler.com/2010/06/reporting-services-2005-httplocalhostreports-authentication-error/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SQLServerPedia Syndication!</title>
		<link>http://lukehayler.com/2010/05/sqlserverpedia-syndication/</link>
		<comments>http://lukehayler.com/2010/05/sqlserverpedia-syndication/#comments</comments>
		<pubDate>Thu, 06 May 2010 19:42:55 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Luke Hayler]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sqlserver]]></category>
		<category><![CDATA[sqlserversyndication]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2010/05/sqlserverpedia-syndication/</guid>
		<description><![CDATA[Today I made a commitment, a commitment to the community. And it starts with SQLServerPedia Syndication. That commitment means that I’ll be writing more, interacting more, sharing more, and if at all possible, entertaining more. (OK, so I’m not sure &#8230; <a href="http://lukehayler.com/2010/05/sqlserverpedia-syndication/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I made a commitment, a commitment to the community. And it starts with <a href="http://www.sqlserverpedia.com" target="_blank">SQLServerPedia</a> Syndication. That commitment means that I’ll be writing more, interacting more, sharing more, and if at all possible, entertaining more. <em>(OK, so I’m not sure about the last one, but I sure am gonna try). </em></p>
<p>I have to say, it’s a little daunting being listed amongst MVP’s, professionals with decades of experience and other big personalities in the SQL Server Community. Thankfully, I thrive in situations like these. Being amongst people who are better than you enables you to up your game &#8211; or at least that’s been the story for me. Upping my game means that you, dear reader, get more quality content on the topics I care about. For now, that includes SQL Server’s Reporting Services and Integration Services. But you knew that already.</p>
<p>I would ask one favour (yes, that’s the way we spell it over here…) of you, and that is feedback. Of any sort. Whilst I get it right most of the time (I hope), there may be occasions that I’m talking absolute dribble. SPEAK UP! I’m sharing from my own experience and opinion, if it’s wrong, or at least if you believe it’s ‘wrong’, I want to know about it and what you believe the right answer to be. </p>
<p>A big thank you to Brent (<a href="http://www.brentozar.com" target="_blank">Blog</a> | <a href="http://twitter.com/BrentO" target="_blank">@BrentO</a>) and everyone else at <a href="http://www.sqlserverpedia.com" target="_blank">SQLServerPedia</a> for the opportunity to give something back. I’m thoroughly looking forward to the journey ahead and seeing where it takes me. </p>
]]></content:encoded>
			<wfw:commentRss>http://lukehayler.com/2010/05/sqlserverpedia-syndication/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SQLBits V &#8211; Conference &amp; Session Recap (Part 1)</title>
		<link>http://lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/</link>
		<comments>http://lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 17:22:54 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Luke Hayler]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[sqlbits]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/</guid>
		<description><![CDATA[Better late than never I’ve been a little under the weather since getting back from SQLBits V so this post has been days in the making instead of just s a few hours. But here it is. This post focuses &#8230; <a href="http://lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h6>Better late than never</h6>
<p>I’ve been a little under the weather since getting back from SQLBits V so this post has been days in the making instead of just s a few hours. But here it is. This post focuses on the conference sessions, I am going to follow up with another post on people, conference feedback and things I might do differently next time.</p>
<h6>Even the birds aren’t up this early…</h6>
<p>Friday started swimmingly. Up at the crack o’ dawn,  taxi to a mainline station (my local didn’t have an early enough train to get me into London), only to find that the train has been delayed by 18 minutes. Pants. There goes all my hard work ‘being early’. The good news is that I made it on to the Newport Train (from Paddington). With just 2 minutes to spare. And I got a seat with a power outlet. Bonus! All my good intentions at getting a head start on an article have gone out the window as I am a little tired, so I try to catch up on some much needed shut eye.</p>
<h5>Keynote by Donald Farmer</h5>
<p>I arrived at the Celtic Manor, having shared a taxi, just in time for registration and a quick bacon bap before the welcome started. The keynote was given by Donald Farmer (<a href="http://www.beyeblogs.com/donaldfarmer/">Blog</a> | <a href="http://twitter.com/donalddotfarmer">Twitter</a>). He gave us a great preview of the simply awesome PowerPivot and a few features in SQL Server 2008 R2. See <a href="http://www.brentozar.com/archive/2009/11/donald-farmer-sqlbits-keynote-on-powerpivot/comment-page-1/#comment-14683">this recap by Brent Ozar</a>.</p>
<p>Below is a recap of the sessions that I found I got the most out of.</p>
<h5>Friday Session 1 &#8211; New Development Features in SQL Server 2008 [Simon Sabin]</h5>
<p>The first session of the day, that I attended, was Simon Sabin’s (<a href="http://sqlblogcasts.com/blogs/simons/default.aspx">Blog</a> | <a href="http://twitter.com/simon_sabin">Twitter</a>) overview of the new development features that can be found in SQL Server 2008. Simon favours the demo approach for sessions and so had relatively few slides. Not a bad thing. Among other features available in SQL Server 2008, the following were discussed/demoed:</p>
<ul>
<li><strong>Variable declaration and initialisation</strong> &#8211; this can now be done in the same line (Declare @i Int = 1)</li>
<li><strong>Named regions </strong>- You can create these using BEGIN &amp; END blocks &amp; naming it with a comment. Named regions will enable you to collapse the blocks for readability.</li>
<li><strong>Intellisense</strong> &#8211; as has been available to .NET programmers for years. My only query here is, why not use the syntax that can be found in C# when writing LINQ queries [where you specify the FROM TABLENAME line first and then the SELECT statement). As such, you find yourself writing the FROM line first and then going back up to the SELECT statement….</li>
<li><strong>Highlighted Syntax errors </strong>- think MS Word red squiggly lines to highlight that something is the matter.</li>
<li><strong>Code validation at design time</strong> -</li>
<li><strong>Date &amp; Time datatypes</strong> - new Date datatype allows dates before 01/01/1753, and only takes up 4 bytes of storage. great for when you don’t actually need time precision. Time datatype handles precision down to the nano second, for when you do. The Time datatype also only refers to the time of day and not a time interval.</li>
<li><strong>No longer allowed implicit calculations on dates - </strong>you now <span style="text-decoration: underline;">must</span> use Date functions to perform calculations on Date datatypes (i.e. DateAdd(), Not “MyDatetime + 1”).</li>
<li><strong>DateTime Offset</strong> - Allows you to store the date and time that has time zone awareness (based on the 24-hour clock)</li>
<li><strong>Debugging</strong> - You can now debug your code! breakpoints, watch lists, view locals, etc</li>
<li><strong>MERGE Statement</strong> - enables you to perform updates/deletes/inserts all within one statement.</li>
</ul>
<p>Whilst this list is not conclusive, it certainly highlighted a number of new features that are now available in SQL Server 2008 and incentivises you to at least find out what else is available that could simplify you SQL development.</p>
<p>This was a great session, and if you find out that Simon is doing a presentation near you (UK User Groups), I suggest going.</p>
<h5>Friday Session 2 - SQL Server 2008 R2: What’s new in Reporting Services? [Donald Farmer]</h5>
<p>Donald Farmer (Twitter | Blog) blew my mind. Not once, but twice. First, in his keynote, he talked about the awesomeness of PowerPivot. Then in this session, he did it again. I loved this session and quickly realised that there’s going to be quite a learning curve and an altering of mindset of how reporting ‘gets done’ in the future. Why? Because the lines between the business &amp; IT are blurring.</p>
<p>With the new Self Service Analysis and Reporting tools, there’s a new approach to finding out and tracking how the business is performing. So, if you are a Reporting Services Developer or Data/MI(S) Analyst. Things are going to change:</p>
<ul>
<li>PowerPivot &amp; Excel 2010 bring a lot more functionality ( &amp; power) to business users. Enabling them to analyse data at length straight from the data source.</li>
<li>The arrival of report components in report builder, means that reports can be built quicker using existing parts of reports or report items. Think sub-reports, but on a more granular scale. Each report item can be a reusable component, which can be tweaked by the user for use in their own report.This includes the reuse of datasets, as components. These components are centrally managed by IT (or a reporting team).</li>
</ul>
<p>So what did we learn? Here’s a bulleted summary:</p>
<ul>
<li>Business users analyse data through tools like PowerPivot &amp; Excel 2010, digging for answers to business questions. This analysis is an iterative process and gives rise to metrics that can be monitored. Enter reporting services. Reports are built to monitor the ‘answers’ discovered by the business analysts.</li>
<li>Reports can be created using components. Components are pre-built report objects that reside in a library that anyone can reuse. Think of sub-reports, but in a centrally managed way.</li>
<li>Created reports that are saved to the Server are saved as a report in its entirety, as well as individual report components. These components are then available to other users to include/tweak in their own reports.</li>
<li>When Publishing reports, you can choose which components of the reports you want to publish.</li>
<li>Report Data can be subscribed to via feeds (rss anyone?). This can be used to in PowerPivot to run Excel-based analyses using Pivot tables</li>
<li>New features of Reporting Services:
<ul>
<li>Spark lines &#8211; think inline charts. No x/y axes. Just used to illustrate a trend.</li>
<li>Data bars &#8211; no more having to use expressions to calculate cell padding and the applying a background colour. Pick your element &amp; configure.</li>
<li>KPI’s &#8211; like those in SSAS, you can now add a KPI and configure it’s value, goal, status &amp; trend. KPI’s can be ‘componentised’ and reused in other reports.</li>
<li>Lookup functions</li>
<li>Aggregates of Aggregates</li>
<li>New data sources (Project Madison, SQL Azure)</li>
<li>Ability to reset page numbers based on groups</li>
<li>Expression-based page breaks</li>
<li>Expression-based chart headers</li>
<li>Naming Excel Worksheet tabs (on render to excel)</li>
<li>Bottom-top text rotation</li>
<li>Session variables</li>
</ul>
</li>
<li>R2 to be released in first half of 2010 (CTP is already out).</li>
</ul>
<h5>Saturday Session 2 &#8211; Jamie Thomson’s Whistle Stop Tour of SSIS Add-ins</h5>
<p>In this session Jamie took us through the fact that there are a number of SSIS custom tasks available on the intertubez. Many of them are free and can be found on <a href="http://www.codeplex.com">CodePlex</a>. There were only one or two slides (Jamie’s contact info), as the whole session was taken up demoing each of the tasks he had chosen.</p>
<li>XMLify Task</li>
<li>Kimball SCD (Slowly Changing Dimensions) Task</li>
<li>TwitterTask</li>
<li>Term Extraction Task</li>
<li>Normaliser Task</li>
<li>Rank Transform Task</li>
<li>Compression &amp; Decompression Task</li>
<li>FileWatcher Task</li>
<li>Trace File Task</li>
<li>Dynamic Data Flow Task</li>
<p><strong>XMLify</strong> (<a href="http://xmlify.codeplex.com">http://xmlify.codeplex.com</a>) &#8211; takes columns that you specify (from a query/view) and loads them into an xml block. Jamie demoed this for capturing error outputs.</p>
<p><strong>Kimball SCD </strong>(<a href="http://kimballscd.codeplex.com">http://kimballscd.codeplex.com</a>) &#8211; For slowly changing dimensions. Takes all data in the destination and for each column you can define it’s usage ( type 1 change, type 2 change, business key, surrogate key, etc). Type 1 changes will update the destination data based on the source data. This task is a monster. Loads of options for configurability.</p>
<p><strong>Twitter task </strong>(<a href="http://ssistwittersuite.codeplex.com/">http://ssistwittersuite.codeplex.com/</a>)<strong> &#8211; </strong> I think this is awesome. You can automate sending your tweets. Careful though, password is in full view in design mode. You can also get all replies/mentions and then data mine them using the Term Extraction task. I can see this being used as a substitute for text (SMS) messaging notifications, for whatever you need to be notified about (if you’re always on Twitter).</p>
<p><strong>Term Extraction</strong> &#8211; A data mining task to pick out nouns, verbs, phrases. Although not an add-in (comes with SSIS) this is still a neat task that I had not used previously. Jamie is using it to sift through the Twitter feed to his @ssisdemo Twitter account. Very cool use to see what people are saying (words &amp; phrases), and how often each occurs. Could be useful, I guess.</p>
<p><strong>Normaliser</strong> (<a href="http://normaliser.codeplex.com">http://normaliser.codeplex.com</a>) &#8211; Normalises the data from an incoming data stream. Pure. Simple. Awesome. Data must be sorted as a prerequisite. This task only handles one to many relationships.</p>
<p><strong>Rank Transform</strong> (<a href="http://ranktransform.codeplex.com">http://ranktransform.codeplex.com</a>) &#8211; Ranks a dataset by Partition. Enables you to view a dataset ordered and ranked (by specified column), as well as being able to specify a partition for the ranking (i,e, month). The dataset must be sorted before use. Rank &amp; Dense Rank have their differences, specifically where you have two ranked values that are equal (a ranking ‘tie’). So, if you have two values that are equal and ranked ‘2’, then for the column RANK the next value will be ranked as ‘4’ whereas the column DENSE RANK the next value will be ranked as ‘3’. Still confused? Go <a href="http://www.sqlservercurry.com/2009/04/rank-vs-denserank-with-example-using.html">here</a>.</p>
<p><strong>Zip task</strong> (<a href="http://cozyroc.com/ssis/zip-task">http://cozyroc.com/ssis/zip-task</a>)- this task takes a source file and compresses it into a gzip file (.gz). That’s it. Decompression decompresses the file. This will only work with a single file and not for a folder or multiple files. I think I would prefer to use 7zip and an Execute</p>
<p><strong>FileWatcher</strong> (<a href="http://www.sqlis.com/post/File-Watcher-Task.aspx">http://www.sqlis.com/post/File-Watcher-Task.aspx</a>) &#8211; This task ‘watches’ a directory, when a file is detected it will progress the flow to the next task. Placed in an endless loop this will continually execute, and will pick up files as they arrive. Neat.</p>
<p><strong>Trace File</strong> (<a href="http://www.sqlis.com/post/Trace-File-Source-Adapter.aspx">http://www.sqlis.com/post/Trace-File-Source-Adapter.aspx</a>) &#8211; understands a sql trace file and enables you to handle the trace file contents.</p>
<p><strong>Data Flow</strong> <strong>Plus</strong> (<a href="http://www.cozyroc.com/ssis/data-flow-task">http://www.cozyroc.com/ssis/data-flow-task</a>) &#8211; Enables you to populate two different tables with the same data flow. Neat.</p>
<p><strong>Trash Destination</strong> (<a href="http://www.sqlis.com/post/Trash-Destination-Adapter.aspx">http://www.sqlis.com/post/Trash-Destination-Adapter.aspx</a>) &#8211; Enables you to send any data flow to a trash destination. No configuration required, so ideal for a number development scenarios.</p>
<p>This session, along with those by Donald Farmer, was the most enjoyable and one that I probably took the most away from. It opened my eyes to the world of custom SSIS tasks and that fact that so many of them are freely available (with source code so that you can tweak at leisure). Jamie definitely seems to be the go-to guy for SSIS related  info. If you haven’t checked out his site yet, I suggest doing so: <a href="http://sqlblog.com/blogs/jamie_thomson/default.aspx">http://sqlblog.com/blogs/jamie_thomson/default.aspx</a></p>
<p><strong>Other SSIS Add-in Links:</strong></p>
<ul>
<li><a href="http://www.cozyroc.com">http://www.cozyroc.com</a></li>
<li><a href="http://ssisctc.codeplex.com/">http://ssisctc.codeplex.com/</a></li>
<li><a href="http://www.sqlis.com/category/Component-Downloads.aspx">http://www.sqlis.com/category/Component-Downloads.aspx</a></li>
</ul>
<p>Go to <a href="http://www.lukehayler.com/2009/12/sqlbits-v-conference-session-recap-part-ii/">Part II of the SQLBits recap</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukehayler.com/2009/11/sqlbits-v-conference-session-recap-part-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The DatePart() Function in SSRS</title>
		<link>http://lukehayler.com/2009/11/the-datepart-function-in-ssrs/</link>
		<comments>http://lukehayler.com/2009/11/the-datepart-function-in-ssrs/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 08:00:00 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Luke Hayler]]></category>
		<category><![CDATA[Reporting Services]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[collections]]></category>
		<category><![CDATA[dateinterval]]></category>
		<category><![CDATA[datepart]]></category>
		<category><![CDATA[dates]]></category>
		<category><![CDATA[expressions]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[SSRS]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2009/11/the-datepart-function-in-ssrs/</guid>
		<description><![CDATA[Using the DatePart() Function in SSRS can be tricky, even at the best of times. I have pulled my hair out too often trying to remember what syntax should be used, so have resorted to writing down all my findings. &#8230; <a href="http://lukehayler.com/2009/11/the-datepart-function-in-ssrs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Using the DatePart() Function in SSRS can be tricky, even at the best of times. I have pulled my hair out too often trying to remember what syntax should be used, so have resorted to writing down all my findings. This is so that you don’t have to go through the same agony &amp; frustration as I did, as well as for my own benefit (my memory is shot…)</p>
<p>What it does: Returns an Integer containing the specified part of a given date</p>
<blockquote><p><strong>Syntax</strong>: DatePart(interval, date[,firstdayofweek[,firstweekofyear]])</p>
</blockquote>
<p>There are two ways to use this function:</p>
<ul>
<li>Using the DateInterval collection </li>
<li>Using a string expression </li>
</ul>
<h5>&#160;</h5>
<h5>Using the DateInterval Collection</h5>
<p>Let’s start with an example:</p>
<blockquote><p>To return the current month: =DatePart(DateInterval.Month, Today())</p>
</blockquote>
<p>Now, in the expression builder (in BIDS), it will look like there’s something the matter with what we have just written:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:12d6157d-8b28-4296-909e-c5d87f979888" class="wlWriterEditableSmartContent"><a href="http://lukehayler.com/wp-content/uploads/2009/11/SSRS_DatePartFunction_18x6.png" title="Only 'Clippy' is missing...there is nothing wrong with this expression" rel="thumbnail"><img border="0" src="http://lukehayler.com/wp-content/uploads/2009/11/SSRS_DatePartFunction_1.png" width="425" height="112" /></a></div>
<p>You can ignore this, the expression <u>will</u> work. An important point to note when using the DateInterval collection, is that you <u>must</u> use a date that is of type Datetime. If you use a string representation of a date (“2009/11/13”), then you’ll need to convert this to Datetime using <em>CDate(“2009/11/13”) </em>before the expression will work. Thus: </p>
<blockquote><p>This will work:&#160; =DatePart(DateInterval.Month, CDate(“2009/11/13”))</p>
<p>This won’t:&#160; = DatePart(DateInterval.Month, “2009/11/13”)</p>
</blockquote>
</p>
<p>When you use the DatePart function to identify the day of the week you can specify what the <em>First Day Of The Week</em> is (defaults to Sunday if this is not specified). You can do this by accessing the <strong>FirstDayOfWeek</strong> collection. Example &#8211; To Return the day of the week, specifying Monday as the first day of the week:</p>
<blockquote><p>DatePart(DateInterval.Weekday, CDate(“2009/11/13”), FirstDayOfWeek.Monday) <strong>returns 5 (Friday)</strong></p>
</blockquote>
<h5>All the possibilities for using the DatePart() function with the DateInterval Collection:</h5>
<p>The following table shows all the possibilities for the DatePart Function using the DateInterval collection. All expressions use a Parameter called MyDate (type = Datetime), which has a value of “2009/11/13 12:34:23”</p>
<table border="1" cellspacing="0" cellpadding="2" width="585">
<tbody>
<tr>
<td valign="top" width="535"><strong>Expression</strong></td>
<td valign="top" width="48"><strong>Result</strong></td>
</tr>
<tr>
<td valign="top" width="535">DatePart(DateInterval.Second, Parameters!MyDate.Value)</td>
<td valign="top" width="48">23</td>
</tr>
<tr>
<td valign="top" width="535">DatePart(DateInterval.Minute, Parameters!MyDate.Value)</td>
<td valign="top" width="48">34</td>
</tr>
<tr>
<td valign="top" width="535">DatePart(DateInterval.Hour, Parameters!MyDate.Value)</td>
<td valign="top" width="48">12</td>
</tr>
<tr>
<td valign="top" width="535">DatePart(DateInterval.Weekday, Parameters!MyDate.Value, FirstDayOfWeek.Monday)</td>
<td valign="top" width="48">5</td>
</tr>
<tr>
<td valign="top" width="535">DatePart(DateInterval.Day, Parameters!MyDate.Value)</td>
<td valign="top" width="48">13</td>
</tr>
<tr>
<td valign="top" width="535">DatePart(DateInterval.DayOfYear, Parameters!MyDate.Value)</td>
<td valign="top" width="48">317</td>
</tr>
<tr>
<td valign="top" width="535">DatePart(DateInterval.WeekOfYear, Parameters!MyDate.Value)</td>
<td valign="top" width="48">46</td>
</tr>
<tr>
<td valign="top" width="535">DatePart(DateInterval.Month, Parameters!MyDate.Value)</td>
<td valign="top" width="48">11</td>
</tr>
<tr>
<td valign="top" width="535">DatePart(DateInterval.Quarter, Parameters!MyDate.Value)</td>
<td valign="top" width="48">4</td>
</tr>
<tr>
<td valign="top" width="535">DatePart(DateInterval.Year, Parameters!MyDate.Value)</td>
<td valign="top" width="48">2009</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h5>Using a String Expression</h5>
<p>Again, let’s start with an example:</p>
<blockquote><p>To return the current month:&#160; =DatePart(“m”, Today())</p>
</blockquote>
<p>Using a String expression for your <em>interval </em>enables you to use a date that is of datatype String:</p>
<blockquote><p>=DatePart(“m”, “2009/11/13”)</p>
</blockquote>
<h5>All the possibilities for using the DatePart() function with a String Expression:</h5>
<p>As noted previously, using a string expression for the interval allows you to use a date value that is of the String datatype. You can of course use a Datetime value if you wish to.</p>
<p>This table shows all the possibilities for the DatePart function using a String Expression for the <em>interval.</em> All expressions use a Parameter called MyDate (type = String), which has a value of “2009/11/13 12:34:23”</p>
<table border="1" cellspacing="0" cellpadding="2" width="586">
<tbody>
<tr>
<td valign="top" width="101"><strong>Date Part</strong></td>
<td valign="top" width="430"><strong>Expression</strong></td>
<td valign="top" width="53"><strong>Result</strong></td>
</tr>
<tr>
<td valign="top" width="101">Second</td>
<td valign="top" width="430">DatePart(“s”, Parameters!MyDate.Value)</td>
<td valign="top" width="53">23</td>
</tr>
<tr>
<td valign="top" width="101">Minute</td>
<td valign="top" width="430">DatePart(“n”, Parameters!MyDate.Value)</td>
<td valign="top" width="53">34</td>
</tr>
<tr>
<td valign="top" width="101">Hours</td>
<td valign="top" width="430">DatePart(“h”, Parameters!MyDate.Value)</td>
<td valign="top" width="53">12</td>
</tr>
<tr>
<td valign="top" width="101">Day of Week</td>
<td valign="top" width="430">DatePart(“w”, Parameters!MyDate.Value, FirstDayOfWeek.Monday)</td>
<td valign="top" width="53">5</td>
</tr>
<tr>
<td valign="top" width="101">Day of Month</td>
<td valign="top" width="430">DatePart(“d”, Parameters!MyDate.Value)</td>
<td valign="top" width="53">13</td>
</tr>
<tr>
<td valign="top" width="101">Day of Year</td>
<td valign="top" width="430">DatePart(“y”, Parameters!MyDate.Value)</td>
<td valign="top" width="53">317</td>
</tr>
<tr>
<td valign="top" width="101">Week of Year</td>
<td valign="top" width="430">DatePart(“ww”, Parameters!MyDate.Value)</td>
<td valign="top" width="53">46</td>
</tr>
<tr>
<td valign="top" width="101">Month</td>
<td valign="top" width="430">DatePart(“m”, Parameters!MyDate.Value)</td>
<td valign="top" width="53">11</td>
</tr>
<tr>
<td valign="top" width="101">Quarter</td>
<td valign="top" width="430">DatePart(“q”, Parameters!MyDate.Value)</td>
<td valign="top" width="53">4</td>
</tr>
<tr>
<td valign="top" width="101">Year</td>
<td valign="top" width="430">DatePart(“yyyy”, Parameters!MyDate.Value)</td>
<td valign="top" width="53">2009</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h5>Is there a preferred method?</h5>
<p>Ul<br />
timately, no. At the end of the day, all the results are the same. What is my preference? I use the DateInterval collection, mainly becuase I like that fact that you can’t get confused about which date part you are using (w/ww, y/yyyy, n….). It’s very clear to anyone who is reading the code that (for example) DateInterval.WeekOfYear refers to the week of the year and nothing else. It also forces you to use a Datetime Value, which safeguards against invalid dates (sort of).</p>
<p>I hope this clears things up a little!</p>
]]></content:encoded>
			<wfw:commentRss>http://lukehayler.com/2009/11/the-datepart-function-in-ssrs/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>SQLBits Agenda is now available</title>
		<link>http://lukehayler.com/2009/11/sqlbits-agenda-is-now-available/</link>
		<comments>http://lukehayler.com/2009/11/sqlbits-agenda-is-now-available/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 21:26:31 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Luke Hayler]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sqlbits]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/2009/11/sqlbits-agenda-is-now-available/</guid>
		<description><![CDATA[The SQLBits agenda is up! And not a moment too soon. I understand that the organisers had a few issues when initially trying to get the schedule on the site, but all is resolved. These guys do great work to &#8230; <a href="http://lukehayler.com/2009/11/sqlbits-agenda-is-now-available/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The SQLBits agenda is up! And not a moment too soon. I understand that the organisers had a few issues when initially trying to get the schedule on the site, but all is resolved. These guys do great work to provide an amazing service to the community, and all at their own expense. So every credit to them as well as a big thanks from the rest of us! </p>
<p>You can find the SQLBits agenda here: <a href="http://sqlbits.com/information/newagenda.aspx">http://sqlbits.com/information/newagenda.aspx</a></p>
<h5>&#160;</h5>
<h5>Lending a hand</h5>
<p>After reading <a href="http://facility9.com">Jeremiah Peschka</a>’s (<a href="http://twitter.com/peschkaj">@peschkaj</a>) article, <a href="http://facility9.com/2009/11/12/volunteering-with-pass">Volunteering with PASS</a>, I’ve realised the need to help out if I can. So, one of my goals at the conference is to find a few of the current organisers and figure how I can get involved. Is there any better way to rub shoulders with the best &amp; the brightest out there? So, if <a href="http://sqlblogcasts.com/blogs/simons/">Simon</a> or <a href="http://consultingblogs.emc.com/jamesrowlandjones/">James</a> or <a href="http://spaces.msn.com/cwebbbi">Chris</a> or <a href="http://sqlblogcasts.com/blogs/martinbell/">Martin</a> or Darren or Allan happen to read this, then consider this my offer to help. By the way, you’re all on my list of people to meet… ;)</p>
<p>&#160;</p>
<h5>My Schedule</h5>
<p>When I originally planned to go to SQLBits I wondered whether or not to go up on the Thursday evening or rush in on the Friday morning. I was never going to make the Thursday pre-con, so it was a toss up between shelling out more ££’s for another night in the hotel or risk missing the start of the Friday program. So I gambled and decided I would travel on the Friday morning. This was done before the agenda was published (train tickets are sooooo much cheaper if you book in advance, <a href="http://www.lukehayler.com/2009/09/sqlbits-here-i-come/">see my previous entry</a>), hence the gamble. It seems to have paid off however, as registration is from 08:45 &#8211; 09:40 and I should arrive (hopefully) at around 09:30. Just in time.</p>
<p>Here’s my planned schedule (if you’re remotely interested):</p>
<p>Friday, 20th November:</p>
<table border="1" cellspacing="0" cellpadding="2" width="515">
<tbody>
<tr>
<td valign="top" width="108">[07:15 - 09:05]</td>
<td valign="top" width="405">Train from London Paddington to Newport, South Wales</td>
</tr>
<tr>
<td valign="top" width="108">[09:30 - 09:40]</td>
<td valign="top" width="405">Registration</td>
</tr>
<tr>
<td valign="top" width="108">[09:40 - 11:00]</td>
<td valign="top" width="405">‘Welcome’ session</td>
</tr>
<tr>
<td valign="top" width="108">[11:00 - 12:00]</td>
<td valign="top" width="405">SQL 2008 Development Features [Simon Sabin]</td>
</tr>
<tr>
<td valign="top" width="108">[12:20 - 13:20]</td>
<td valign="top" width="405">What’s New in Reporting Services 2008 R2 [Donald Farmer]</td>
</tr>
<tr>
<td valign="top" width="108">[13:20 - 13:40]</td>
<td valign="top" width="405">Lunch &amp; networking</td>
</tr>
<tr>
<td valign="top" width="108">[14:40 - 15:40]</td>
<td valign="top" width="405">Powershell &#8211; Old Tricks for a new dog? [Martin Bell]</td>
</tr>
<tr>
<td valign="top" width="108">[16:00 - 17:00]</td>
<td valign="top" width="405">Virtualising SQL Server [Justin Langford]</td>
</tr>
<tr>
<td valign="top" width="108">[17:00 - 18:00]</td>
<td valign="top" width="405">SQLBits Shenanigans…</td>
</tr>
<tr>
<td valign="top" width="108">[18:00 - ??:??]</td>
<td valign="top" width="405">Social</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Saturday, 21st November:</p>
<table border="1" cellspacing="0" cellpadding="2" width="516">
<tbody>
<tr>
<td valign="top" width="108">[07:30 - 08:30]</td>
<td valign="top" width="406">Breakfast &amp; networking</td>
</tr>
<tr>
<td valign="top" width="108">[08:45 - 09:40]</td>
<td valign="top" width="406">Registration</td>
</tr>
<tr>
<td valign="top" width="108">[09:50 - 10:50]</td>
<td valign="top" width="406"><em>…undecided…</em></td>
</tr>
<tr>
<td valign="top" width="108">[11:00 - 12:00]</td>
<td valign="top" width="406">Let’s make SQL Fly! [Ramesh Myyappan]</td>
</tr>
<tr>
<td valign="top" width="108">[12:20 - 13:20]</td>
<td valign="top" width="406">Using Perfmon &amp; Profiler [Brent Ozar]</td>
</tr>
<tr>
<td valign="top" width="108">[13:20 - 13:40]</td>
<td valign="top" width="406">Lunch &amp; networking</td>
</tr>
<tr>
<td valign="top" width="108">[14:40 - 15:40]</td>
<td valign="top" width="406">SSIS in SQL Server 2008 [Allan Mitchell]</td>
</tr>
<tr>
<td valign="top" width="108">[16:00 - 17:00]</td>
<td valign="top" width="406">Report Builder 3 [Andrew Fryer]</td>
</tr>
<tr>
<td valign="top" width="108">[17:00 - 18:00]</td>
<td valign="top" width="406">SQLBits Shenanigans…</td>
</tr>
<tr>
<td valign="top" width="108">[18:00 - ??:??]</td>
<td valign="top" width="406">Social</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Sunday, 22nd November:</p>
<table border="1" cellspacing="0" cellpadding="2" width="516">
<tbody>
<tr>
<td valign="top" width="108">[07:30 - 10:00]</td>
<td valign="top" width="406">Long Breakfast &amp; Networking</td>
</tr>
<tr>
<td valign="top" width="108">[10:32 - 13:48]</td>
<td valign="top" width="406">Train back to London, Paddington</td>
</tr>
<tr>
<td valign="top" width="108">[15:00]</td>
<td valign="top" width="406">Reunited with my amazing family.</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>I’m hoping to meet a bunch of folks at the conference, so if you are going, let me know. It’s always easier to start a conversation if you’ve already introduced yourself, even if that is only in a ‘online’ sense. So, either leave a comment here or look me up on twitter <a href="http://twitter.com/lukehayler">(@lukehayler</a>). Oh, and if you’re already on twitter and not using the <a href="http://search.twitter.com/search?q=%23sqlbits">#sqlbits</a> tag for related posts, you should be.</p>
<p>I’m hunting for social events next….stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukehayler.com/2009/11/sqlbits-agenda-is-now-available/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Documentation Debacle</title>
		<link>http://lukehayler.com/2009/08/the-documentation-debacle/</link>
		<comments>http://lukehayler.com/2009/08/the-documentation-debacle/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 22:28:26 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Luke Hayler]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/?p=120</guid>
		<description><![CDATA[I have read quite a few blog posts over the last few weeks on documentation. Some of the posts are specific to SQL Server, some are more general in their approach choosing to explain why documentation is good practice and &#8230; <a href="http://lukehayler.com/2009/08/the-documentation-debacle/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have read quite a few blog posts over the last few weeks on documentation. Some of the posts are specific to SQL Server, some are more general in their approach choosing to explain why documentation is good practice and indeed necessary, why it is not just important to have documentation, but to have <span style="text-decoration: underline;">good</span> documentation. There are also those that try to explain why people choose <span style="text-decoration: underline;">not</span> to do documentation. They are all good posts in their own right, but only a few of the posts I have read take a moment to actually detail <strong>HOW</strong> they go about creating (&amp; maintaining) their documentation.</p>
<p>People will find excuses (I have been one of them) not to do their documentation – on whatever subject/system/process/application. These may be:</p>
<ol>
<li>I don’t have the time.</li>
<li>It’s not my responsibility.</li>
<li>I am not a technical writer.</li>
<li>Where do I begin?</li>
</ol>
<p>Whilst I am sure that there are organisations that have numerous procedures in place for rigorous documentation of systems &amp; processes, coding standards &amp; conventions, there are (I am sure) many many more (smaller) organisations that have little or no documentation. At the very least, it’s a collection of random text files, word docs, Visio diagrams placed in any number of directories. Most of the knowledge of the way things work is stored in a few key employees heads. Whilst this may seem like a position of power to the employee (they’re ‘irreplaceable’), the organisation is taking a huge risk. As an asides, someone once told me “If you can’t be replaced, you can’t be promoted”. It is worth remembering.</p>
<p>Excuse #1            <strong>I don’t have the time</strong>.</p>
<p>More than likely, this is a cover-up for Excuse #4. There is always pressure to get projects finished as soon as possible, and that means the solution needs to go into production yesterday. Documentation is sometimes relegated to a date beyond that of the ‘go live’ deadline. And then as soon as you begin putting ‘pen to paper’ on the handover documents a new project comes along and documentation, once again, becomes a dim-and-distant memory.</p>
<p>Excuse #2            <strong>It’s not my responsibility</strong></p>
<p>Oh yes it is. Trust me, if you ever want a holiday where you are not on call, it’s your responsibility to ensure that whoever is to hold down the fort, has the information they need to do so. Hands up all those who have accrued two years’ worth of leave because they were the only ones capable of maintaining their systems? I have known several colleagues who were in this position.</p>
<p>If you are building or administrating a system, you are responsible for imparting that knowledge to others. How you do this is another matter entirely.</p>
<p>Excuse #3            <strong>I am not a technical writer</strong></p>
<p>This doesn’t matter. Whilst it is important to have <span style="text-decoration: underline;">good</span> documentation, it is better to have something rather than nothing. If your organisation is yet to standardize documentation practices, this is your chance to take the initiative and show what you are worth.</p>
<p>Excuse # 4           <strong>Where do I begin?</strong></p>
<p>I am willing to wager that this is the category that a lot of people will fall into. What needs to be included in the documentation? What level of detail is required? Who is the target audience? There are so many questions. As a developer/DBA/sysadmin it can be difficult to imagine what it is other people need to know in order to accomplish certain tasks. Assumptions are made, and then it all goes terribly wrong.</p>
<p><strong>What am I getting at? </strong></p>
<p>I believe that all of the excuses outlined above can be dropped if it was <strong>easier</strong> to create documentation. This focuses on the <strong>How</strong>. I have searched high and low for templates that can be used for a number of things, ranging from Database dictionaries &amp; descriptions, system processes and procedures, development standards &amp; conventions, reporting services templates/design standards, integration services standards &amp; consolidation, the list goes on. I have had to settle with creating my own, and they always being improved, but by no means are they perfect.</p>
<p>How many of you would complete documentation if it were a matter of checking boxes and filling in blanks? If you had a template for, say, technical details of an integration services package,  I am sure that you would be more inclined to fill it in and therefore share the knowledge of that particular solution.</p>
<p>I am asking the community to collaborate, in whatever your speciality is, to share your documentation methods, templates, best practices. I would like to start a wiki of sorts that provides this information to everyone. Something that can grow from the community, for the community.</p>
<p>If you are interested in helping to get this started, <a href="mailto:%20luke@lukehayler.com">email me</a>, <a href="http://twitter.com/home?status=http://cli.gs/uS8uvs">Tweet about it</a>, <a href="http://twitter.com/lukehayler">DM me</a>, or simply leave a comment. I am certain this could be a huge resource and one that would ultimately assist many people/organisations to centralise their knowledge base.</p>
<p>Some links to other posts on documentation:</p>
<ul>
<li><a href="http://www.straightpathsql.com/blog/2009/6/18/documentation.html">Mike Walsh</a></li>
<li><a href="http://sqlchicken.com/2009/08/system-documentation-whats-your-method/">Jorge Segarra</a></li>
<li><a href="http://sqlblog.com/blogs/jonathan_kehayias/archive/2009/07/31/the-importance-of-good-documentation.aspx">Jonathan Kehayias</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lukehayler.com/2009/08/the-documentation-debacle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>24 Hours of Free Learning</title>
		<link>http://lukehayler.com/2009/08/24-hours-of-free-learning/</link>
		<comments>http://lukehayler.com/2009/08/24-hours-of-free-learning/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 12:00:25 +0000</pubDate>
		<dc:creator>Luke Hayler</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Luke Hayler]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[courses]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.lukehayler.com/?p=102</guid>
		<description><![CDATA[Since I am always up for anything that is free, and particularly when ‘Free’ includes learning, I signed up for a bunch of sessions from the 24 Hours of PASS, due to be held on September 2nd 2009. This event &#8230; <a href="http://lukehayler.com/2009/08/24-hours-of-free-learning/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-104 alignright" title="24 Hours of PASS" src="http://www.lukehayler.com/wp-content/uploads/2009/08/24HoursOfPASS1-300x118.jpg" alt="24 Hours of PASS" width="300" height="118" /></p>
<p>Since I am always up for anything that is free, and particularly when ‘Free’ includes learning, I signed up for a bunch of sessions from the <a href="http://24hours.sqlpass.org/">24 Hours of PASS</a>, due to be held on September 2nd 2009. This event is a series of 24 hour-long SQL Server based sessions by a number of Industry professionals. I even took the day off work so that I could attend!</p>
<p><a href="https://www323.livemeeting.com/lrs/8000181573/Registration.aspx?pageName=451kcx04nslqzvfk">Registration</a> opened yesterday and I have signed myself up for the following sessions:</p>
<ul>
<li>Session 01 (Dev): 10 big ideas in Database      Design (Paul Nielsen &#8211; <a href="http://www.sqlserverbible.com/">site</a> <a href="http://twitter.com/PaulNielsen">twitter</a>)</li>
<li>Session 08 (Dev): Tips &amp; tricks for      writing SET based queries (Jacob Sebastian &#8211; <a href="http://beyondrelational.com/blogs/jacob/default.aspx">blog</a>)</li>
<li>Session 10 (Dev): Working with Spatial Data in      SQL Server 2008 (Greg Low &#8211; <a href="http://sqlblog.com/blogs/greg_low/">blog</a> <a href="http://twitter.com/greglow">twitter</a>)</li>
<li>Session 11 (DBA): Effective Indexing (Gail      Shaw &#8211; <a href="http://sqlinthewild.co.za/">blog</a>)</li>
<li>Session 12 (BI):  SSIS Tips &amp; Tricks      (Simon Sabin &#8211; <a href="http://sqlblogcasts.com/blogs/simons/default.aspx">blog</a> <a href="http://twitter.com/simon_sabin">twitter</a>)</li>
<li>Session 14 (BI): Reporting from Analysis      Services Cubes Using Excel 2007 (Peter Myers)</li>
<li>Session 15 (BI): Data Warehousing Laying the      Foundation to Success (Erik Veerman &#8211; <a href="http://blogs.solidq.com/EN/Erik/default.aspx">blog</a>)</li>
<li>Session 17 (PD): Building a Better Blog (Steve      Jones &#8211; <a href="http://www.sqlservercentral.com/blogs/steve_jones/default.aspx">blog</a> <a href="http://twitter.com/way0utwest">twitter</a>)</li>
<li>Session 18 (Dev): Building Flexible Data      Services for the Web using ADO.NET Data Services Framework (Artemakis      Artemiou &#8211; <a href="http://aartemiou.blogspot.com/">blog</a> <a href="http://twitter.com/artemakis">twitter</a>)</li>
<li>Session 20 (BI): Loading a Data Warehouse in      SSIS (Brian Knight &#8211; <a href="http://blogs.pragmaticworks.com/Brian_Knight/">blog</a> <a href="http://twitter.com/brianknight">twitter</a>)</li>
<li>Session 24 (BI): Embed reporting Services into      your Applications (Jessica Moss &#8211; <a href="http://jessicammoss.blogspot.com/">blog</a> <a href="http://twitter.com/jessicammoss">twitter</a>)</li>
</ul>
<p>I have chosen these as they are the ones I am most interested in (BI/Dev focus), as well as the fact that they are during a decent time slot (not 0100 – 0600). Am thoroughly looking forward to it!!</p>
<p>To see the speakers/sessions and register for 24 Hours of PASS go <a href="https://www323.livemeeting.com/lrs/8000181573/Registration.aspx?pageName=451kcx04nslqzvfk">here</a></p>
<p>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lukehayler.com/2009/08/24-hours-of-free-learning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

