<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>The SQLTeam.com Weblogs</title><link>http://weblogs.sqlteam.com/mainfeed2.aspx</link><description>SQL Server thoughts, code and musings.</description><generator>Subtext Version 1.9.4.0</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/SqlteamcomWeblogs" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>PASS Summit 2009 Musings</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/zJLJN6awbNo/PASS-Summit-2009-Musings.aspx</link><pubDate>Tue, 10 Nov 2009 15:30:43 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/geoffh/archive/2009/11/10/PASS-Summit-2009-Musings.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/geoffh/comments/61049.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/geoffh/comments/commentRss/61049.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/geoffh/archive/2009/11/10/PASS-Summit-2009-Musings.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://weblogs.sqlteam.com/geoffh/services/trackbacks/61049.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/geoffh/rss.aspx">PASS Summit 2009 Musings</source><description>&lt;p&gt;The 2009 PASS community summit was a fantastic week.  There is something about Seattle (rain) that makes this conference special(hills).  Only the top folks get to present and they bring their best game.  Learning here really is a lot like taking a drink from a fire hose, except you always want more.&lt;/p&gt;
&lt;p&gt;The best part of the Summit is being in a group of fellow database professionals.  Folks who understand a SELECT joke. Let's face it, most of us DBAs work alone or nearly so.  Only a few large organizations have more than one or two of us on the payroll. Being surrounded by a couple of thousand geeks with the same technical specialization is very unusual for us.  And we like it.&lt;/p&gt;
&lt;p&gt;So if you did go, be sure and get the DVD set.  If not, then start making plans for next year.  If your company won't pay, consider it an investment in yourself.  And don't forget the pre- and post-conference sessions.  Those are some of the best deep-dive training classes around.&lt;/p&gt;
&lt;p&gt;Once you go, you get hooked.  Content, networking, and just the experience of the PASS Summit are some of the best parts of this profession.  Come on and join us, won't you?&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/geoffh/aggbug/61049.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=zJLJN6awbNo:Zi1qhGzSfqI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=zJLJN6awbNo:Zi1qhGzSfqI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=zJLJN6awbNo:Zi1qhGzSfqI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=zJLJN6awbNo:Zi1qhGzSfqI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=zJLJN6awbNo:Zi1qhGzSfqI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=zJLJN6awbNo:Zi1qhGzSfqI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=zJLJN6awbNo:Zi1qhGzSfqI:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=zJLJN6awbNo:Zi1qhGzSfqI:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=zJLJN6awbNo:Zi1qhGzSfqI:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/zJLJN6awbNo" height="1" width="1"/&gt;</description><dc:creator>Geoff N. Hiten</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/geoffh/archive/2009/11/10/PASS-Summit-2009-Musings.aspx</feedburner:origLink></item><item><title>Replace a Character Anywhere in a DB</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/4sRiq6CQUxM/61048.aspx</link><pubDate>Mon, 09 Nov 2009 20:03:39 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/brettk/archive/2009/11/09/61048.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/brettk/comments/61048.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/brettk/comments/commentRss/61048.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/brettk/archive/2009/11/09/61048.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://weblogs.sqlteam.com/brettk/services/trackbacks/61048.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/brettk/rss.aspx">Replace a Character Anywhere in a DB</source><description>Ran across this thread&lt;br /&gt;
&lt;br /&gt;
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=135575&lt;br /&gt;
&lt;br /&gt;
And figured I'd post this.  The code below will generate update statement for all tables that have a char data type.  It will then replace a quote (") with an empty sting&lt;br /&gt;
&lt;br /&gt;
Guess you could automate this, but this is simple enough.  Just cut and paste the results and execute that.  I guess you could go on and schedule it to run nightly to do a clean up.&lt;br /&gt;
&lt;br /&gt;
Hope you have a backup BEFORE you run the result set&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New;"&gt;CREATE TABLE #myTemp99 (n int IDENTITY(1,1), TABLE_NAME varchar(256), COLUMN_NAME varchar(256))&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;GO&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;INSERT INTO #myTemp99(TABLE_NAME, COLUMN_NAME)&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;     SELECT TABLE_NAME, COLUMN_NAME  &lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;       FROM INFORMATION_SCHEMA.Columns&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;      WHERE DATA_TYPE IN ('char','varchar', 'nchar','nvarchar')&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;   ORDER BY TABLE_NAME, COLUMN_NAME&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;GO&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;SELECT * FROM #myTemp99&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;GO&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;SELECT SQL FROM (&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;SELECT 'UPDATE ' + TABLE_NAME + CHAR(13) + CHAR(10)&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        + '   SET ' + COLUMN_NAME + ' = REPLACE('&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        +COLUMN_NAME+','+''''+'"'+''''+','+''''+''''+')' AS SQL&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;, TABLE_NAME, 1 AS SQLGroup, n&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;  FROM #myTemp99 o&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt; WHERE EXISTS (SELECT TABLE_NAME&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;                  FROM #myTemp99 i&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;                WHERE i.TABLE_NAME = o.TABLE_NAME&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;             GROUP BY i.TABLE_NAME&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;               HAVING MIN(i.n) = o.n)&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;UNION ALL&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;SELECT '     , ' + COLUMN_NAME + ' = REPLACE('&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        +COLUMN_NAME+','+''''+'"'+''''+','+''''+''''+')' AS SQL&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;, TABLE_NAME,  2 AS SQLGroup, n&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;  FROM #myTemp99 o&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt; WHERE EXISTS (SELECT TABLE_NAME&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;                  FROM #myTemp99 i&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;                WHERE i.TABLE_NAME = o.TABLE_NAME&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;             GROUP BY i.TABLE_NAME&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;               HAVING MIN(i.n) &amp;lt;&amp;gt; o.n)&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;UNION ALL&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;SELECT 'GO' AS SQL&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;, TABLE_NAME, 3 AS SQLGroup, 9999999 AS n&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;  FROM #myTemp99 o&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt; WHERE EXISTS (SELECT TABLE_NAME&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;                  FROM #myTemp99 i&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;                WHERE i.TABLE_NAME = o.TABLE_NAME&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;             GROUP BY i.TABLE_NAME&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;               HAVING MIN(i.n) = o.n)&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;) AS XXX&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;ORDER BY TABLE_NAME, SQLGroup, n&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;br style="font-family: Courier New;" /&gt;
&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;DROP TABLE #myTemp99&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;GO&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;&lt;img src="http://weblogs.sqlteam.com/brettk/aggbug/61048.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=4sRiq6CQUxM:e_3OMK8DYeU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=4sRiq6CQUxM:e_3OMK8DYeU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=4sRiq6CQUxM:e_3OMK8DYeU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=4sRiq6CQUxM:e_3OMK8DYeU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=4sRiq6CQUxM:e_3OMK8DYeU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=4sRiq6CQUxM:e_3OMK8DYeU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=4sRiq6CQUxM:e_3OMK8DYeU:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=4sRiq6CQUxM:e_3OMK8DYeU:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=4sRiq6CQUxM:e_3OMK8DYeU:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/4sRiq6CQUxM" height="1" width="1"/&gt;</description><dc:creator>Brett Kaiser (x002548)</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/brettk/archive/2009/11/09/61048.aspx</feedburner:origLink></item><item><title>Multiple &amp;ldquo;clustered&amp;rdquo; indexes on a SQL Server table</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/sEBgqDIzlQI/Multiple-ldquoclusteredrdquo-indexes-on-a-SQL-Server-table.aspx</link><pubDate>Mon, 09 Nov 2009 19:23:05 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/tarad/archive/2009/11/09/Multiple-ldquoclusteredrdquo-indexes-on-a-SQL-Server-table.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/tarad/comments/61047.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/tarad/comments/commentRss/61047.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/tarad/archive/2009/11/09/Multiple-ldquoclusteredrdquo-indexes-on-a-SQL-Server-table.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://weblogs.sqlteam.com/tarad/services/trackbacks/61047.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/tarad/rss.aspx">Multiple &amp;ldquo;clustered&amp;rdquo; indexes on a SQL Server table</source><description>&lt;p&gt;You can only have one clustered index on each SQL Server table, however there are two ways to create pseudo clustered indexes on a table:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create clustered indexed on a view (indexed view) that covers the table &lt;/li&gt;    &lt;li&gt;Create covering index on the entire table&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Let's look at the following table:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;TABLE&lt;/span&gt; t1 
(
    c1 &lt;span class="kwrd"&gt;int&lt;/span&gt;, 
    c2 &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(5), 
    c3 bigint, 
    c4 datetime, 
    &lt;span class="kwrd"&gt;CONSTRAINT&lt;/span&gt; PK_t1 &lt;span class="kwrd"&gt;PRIMARY&lt;/span&gt; &lt;span class="kwrd"&gt;KEY&lt;/span&gt; &lt;span class="kwrd"&gt;CLUSTERED&lt;/span&gt; (c1, c2, c3, c4)
)
GO&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;For option 1 above, here's the indexed view and clustered index:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;SET&lt;/span&gt; NUMERIC_ROUNDABORT &lt;span class="kwrd"&gt;OFF&lt;/span&gt;;
&lt;span class="kwrd"&gt;SET&lt;/span&gt; ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT,
    QUOTED_IDENTIFIER, ANSI_NULLS &lt;span class="kwrd"&gt;ON&lt;/span&gt;;
&lt;span class="kwrd"&gt;GO&lt;/span&gt;
&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;VIEW&lt;/span&gt; v1 &lt;span class="kwrd"&gt;WITH&lt;/span&gt; SCHEMABINDING
&lt;span class="kwrd"&gt;AS&lt;/span&gt; 
&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; c1, c2, c3, c4 &lt;span class="kwrd"&gt;FROM&lt;/span&gt; dbo.t1
&lt;span class="kwrd"&gt;GO&lt;/span&gt;
&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;UNIQUE&lt;/span&gt; &lt;span class="kwrd"&gt;CLUSTERED&lt;/span&gt; &lt;span class="kwrd"&gt;INDEX&lt;/span&gt; cidx_v1 &lt;span class="kwrd"&gt;ON&lt;/span&gt; dbo.v1(c2, c3, c4, c1)
GO&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;For option 2 above, here’s the covering index:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;INDEX&lt;/span&gt; idx_PseudoClust &lt;span class="kwrd"&gt;ON&lt;/span&gt; t1(c3, c4) &lt;span class="kwrd"&gt;INCLUDE&lt;/span&gt; (c2, c1)
GO&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;So why would you want to do this?  I'm sure that there are some very good reasons, but I've never had the need to do it.  I recently had the discussion with a Microsoft engineer and thought it was interesting enough to share.&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/tarad/aggbug/61047.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=sEBgqDIzlQI:eeSuvW0pfIk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=sEBgqDIzlQI:eeSuvW0pfIk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=sEBgqDIzlQI:eeSuvW0pfIk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=sEBgqDIzlQI:eeSuvW0pfIk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=sEBgqDIzlQI:eeSuvW0pfIk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=sEBgqDIzlQI:eeSuvW0pfIk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=sEBgqDIzlQI:eeSuvW0pfIk:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=sEBgqDIzlQI:eeSuvW0pfIk:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=sEBgqDIzlQI:eeSuvW0pfIk:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/sEBgqDIzlQI" height="1" width="1"/&gt;</description><dc:creator>Tara Kizer</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/tarad/archive/2009/11/09/Multiple-ldquoclusteredrdquo-indexes-on-a-SQL-Server-table.aspx</feedburner:origLink></item><item><title>What can men do?</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/6-RuoXLZZ7E/61046.aspx</link><pubDate>Sat, 07 Nov 2009 22:24:07 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/denisem/archive/2009/11/07/61046.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/denisem/comments/61046.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/denisem/comments/commentRss/61046.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/denisem/archive/2009/11/07/61046.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://weblogs.sqlteam.com/denisem/services/trackbacks/61046.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/denisem/rss.aspx">What can men do?</source><description>&lt;p&gt;&lt;font face="Verdana"&gt;The PASS &lt;/font&gt;&lt;font face="Verdana"&gt;&lt;a href="http://summit2009.sqlpass.org/Agenda/SpecialEvents.aspx#WIT_Luncheon"&gt;Women in Technology&lt;/a&gt;&lt;/font&gt;&lt;font face="Verdana"&gt; luncheon topic of "Energizing the Next Generation" must have resonated with a number of men attending the conference, since more of them came to the luncheon than ever before. Several men spoke during the discussion, and one asked the question "how does a man inspire girls to get interested in technology?" Steve Jones also mentioned this in his &lt;/font&gt;&lt;a href="http://www.sqlservercentral.com/blogs/steve_jones/archive/2009/11/04/women-in-technology-luncheon.aspx"&gt;&lt;font face="Verdana"&gt;blog post&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana"&gt; on the luncheon. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;The first thing I think men can do is to &lt;strong&gt;be open to the conversation&lt;/strong&gt;. Obviously by attending the WIT event the men in the room were showing their interest. But they make up a small fraction of the men at PASS. I've been helping to organize and promote WIT events at PASS since 2004. Over the years I have approached many of my male colleagues and encouraged them to attend. While quite a few have taken me up on it, many more have not. I've seen all kinds of reactions to the idea that men would attend a WIT event: discomfort, nervousness, lame jokes, embarrassment. In some instances if a man does express some interest he then gets teased by other guys. Women trying to improve our lives as tech workers can only help our colleagues, male and female. Guys, be willing to hear what we're saying, and encourage your friends and co-workers to do the same. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;The second thing men can do is to &lt;strong&gt;educate others&lt;/strong&gt;.  Have you ever observed a man talking over a woman in a meeting at work? Mention it to him. Ever hear men speaking disrepectfully about a woman in the office? Don't just go along with it--let them know why that is damaging. Do you know that a manager is actively blocking a woman from being hired or promoted because of her gender? Do something about it. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;Third, &lt;strong&gt;actively support&lt;/strong&gt; the women technologists you know. Ask your female co-workers about their experiences--you may be surprised how much their lives at the same company differ from yours. And you'll probably find common ground. If there is a woman in a junior role, think about ways you can help her improve and advance in her career.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;Fourth, &lt;strong&gt;positively influence your daughters&lt;/strong&gt;, nieces, sisters and children of friends  to engage in technology. The more school-age girls are exposed to math, science and technology and the more girls are told they can succeed, the more female technologists we'll have in the future. Volunteer at schools, through &lt;/font&gt;&lt;a href="http://www.ignite-us.org/"&gt;&lt;font face="Verdana"&gt;IGNITE&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana"&gt;, &lt;/font&gt;&lt;a href="http://www.microsoft.com/about/diversity/programs/digigirlz/default.aspx"&gt;&lt;font face="Verdana"&gt;Digigirlz&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana"&gt;, the &lt;/font&gt;&lt;a href="http://www.girlsgotech.org/index.html"&gt;&lt;font face="Verdana"&gt;Girl Scouts&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana"&gt;, or any other organization that works to engage girls with technology.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;Finally, remember that girls need to see people they can identify with in technical jobs in order to believe that they also can be technical women. The more female role models girls see, the more possibilities there are for girls to be inspired. That's why &lt;strong&gt;men supporting technical women&lt;/strong&gt; is so important.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/denisem/aggbug/61046.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=6-RuoXLZZ7E:6WXTbWDXQGw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=6-RuoXLZZ7E:6WXTbWDXQGw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=6-RuoXLZZ7E:6WXTbWDXQGw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=6-RuoXLZZ7E:6WXTbWDXQGw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=6-RuoXLZZ7E:6WXTbWDXQGw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=6-RuoXLZZ7E:6WXTbWDXQGw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=6-RuoXLZZ7E:6WXTbWDXQGw:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=6-RuoXLZZ7E:6WXTbWDXQGw:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=6-RuoXLZZ7E:6WXTbWDXQGw:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/6-RuoXLZZ7E" height="1" width="1"/&gt;</description><dc:creator>denisemc</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/denisem/archive/2009/11/07/61046.aspx</feedburner:origLink></item><item><title>Subscription finally transferred</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/gh0XQm52Ch0/Subscription-finally-transferred.aspx</link><pubDate>Fri, 06 Nov 2009 15:28:21 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/peterl/archive/2009/11/06/Subscription-finally-transferred.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/peterl/comments/61045.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/peterl/comments/commentRss/61045.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/peterl/archive/2009/11/06/Subscription-finally-transferred.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://weblogs.sqlteam.com/peterl/services/trackbacks/61045.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/peterl/rss.aspx">Subscription finally transferred</source><description>Today, it seems the transfer for the MSDN subscription I won for the Adam Machanic &lt;a href="http://sqlblog.com/blogs/adam_machanic/archive/2009/05/31/grouped-string-concatenation-the-winner-is.aspx"&gt;Grouped String Concatenation&lt;/a&gt; finally is done. It took almost 4 months with a lot of phone calls with Microsoft (I have spent more than 7 hours in this case).&lt;br /&gt;
&lt;br /&gt;
I won the MSDN subscription before I was awarded the MVP SQL Server. With the MVP award you get a MSDN subscription, so there I was sitting with two almost identical subscriptions. I begun to feel uncomfortable with it, so I decided to give the MSDN subscription I won to the runner-up, Leonid Koyfman from Razorfish.&lt;br /&gt;
We had almost identival solutions so it seems fair he get sole access to the subscription instead of me.&lt;br /&gt;
&lt;br /&gt;
Have fun Leonid!&lt;br /&gt;
&lt;br /&gt;
//Peter&lt;img src="http://weblogs.sqlteam.com/peterl/aggbug/61045.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=gh0XQm52Ch0:cFdTLxgvMK0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=gh0XQm52Ch0:cFdTLxgvMK0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=gh0XQm52Ch0:cFdTLxgvMK0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=gh0XQm52Ch0:cFdTLxgvMK0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=gh0XQm52Ch0:cFdTLxgvMK0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=gh0XQm52Ch0:cFdTLxgvMK0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=gh0XQm52Ch0:cFdTLxgvMK0:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=gh0XQm52Ch0:cFdTLxgvMK0:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=gh0XQm52Ch0:cFdTLxgvMK0:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/gh0XQm52Ch0" height="1" width="1"/&gt;</description><dc:creator>Peter Larsson</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/peterl/archive/2009/11/06/Subscription-finally-transferred.aspx</feedburner:origLink></item><item><title>PASS 2009 Tuesday Breakouts</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/R4T0NEdPLIo/61044.aspx</link><pubDate>Thu, 05 Nov 2009 06:40:21 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/markc/archive/2009/11/04/61044.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/markc/comments/61044.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/markc/comments/commentRss/61044.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/markc/archive/2009/11/04/61044.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://weblogs.sqlteam.com/markc/services/trackbacks/61044.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/markc/rss.aspx">PASS 2009 Tuesday Breakouts</source><description>&lt;p&gt;There are 160 breakout sessions this year at the &lt;a href="http://www.sqlpass.org/" target="_blank"&gt;PASS&lt;/a&gt; &lt;a href="http://www.sqlpass.org/Events/PASSCommunitySummit.aspx" target="_blank"&gt;Community Summit&lt;/a&gt; in Seattle, with 14 different sessions going on in any given time slot.  This means that there is a really good chance that you will find something of interest to attend during every session time slot.  This also means that there is a good chance that there will be &lt;strong&gt;more than one &lt;/strong&gt;thing that you want to attend at a time.  And since I still haven’t found that cloning lab that &lt;a href="http://weblogs.sqlteam.com/billg" target="_blank"&gt;Graz&lt;/a&gt; was talking about, I’m glad that most of these sessions are being recorded and will be available on the conference DVD and on the PASS website for attendees to review after the Summit is over.&lt;/p&gt;  &lt;p&gt;Sometimes it was hard to choose which particular session to attend.  Currently I am playing quite the multi-faceted role of manager, app developer, database developer, and DBA, so I could probably pick up something valuable from every session this year.  But, since I am in the early phase of developing an intense Reporting Services project which is closely related to our first significant use of a hierarchical model which will have some sparsely populated columns, tied to a security management system, all being rolled out on brand new 64-bit Windows Server 2008 / SQL Server 2008 boxes, I used that to guide me this week.  So you might imagine that I was particularly interested in anything relating to the hierarchical model, including the new HierarchyID datatype, anything having to do with advanced Reporting Services configuration and security, and sessions on new features in SQL Server 2008 like SPARSE columns.  Oh and did I mention a project slated for next year that looks (to my untrained eye) a lot like the Bill of Materials problem, which coincidentally, there was a session with that in its name.&lt;/p&gt;  &lt;p&gt;I started Tuesday (day 1 of the main conference) with &lt;a href="http://windowsitpro.com/authors/authorid/759/wayne-snyder.html" target="_blank"&gt;Wayne Snyder&lt;/a&gt;’s presentation on &lt;em&gt;Reporting Services in the Enterprise&lt;/em&gt; and picked up a few critical tips, especially as it relates to Report Builder 2.0 and some potential pitfalls we would have run right into because we have already anticipated the need for ad-hoc reporting on top of the whiz-bang system we are building.  For example, it is pretty easy for your users to accidentally produce a CROSS JOIN or Cartesian Product result set.  Also some good tips about Subscriptions and security including the reminder that when the Subscription is executed, it runs under the security context of the Reporting Services service account which probably does not have the same permissions as the user who created the subscription or who is targeted to be receiving the subscription.  This can lead to unexpected results if you use Windows Integrated Security for your data source connections and if the code is expecting to use the user’s identity to provide row-level security.&lt;/p&gt;  &lt;p&gt;After lunch I went to a session entitled &lt;em&gt;Solving the Bill of Materials Problem&lt;/em&gt; which is a problem I will be tackling next year, but which also promised some discussion of HierarchyID, and I’m currently debating whether to use HierarchyID in my current project as well as next year’s task.  The speaker in this session (John Cook) is of the definite opinion that HierarchID may be well suited to simple tree hierarchies; it is not the best solution for the BOM problem.  Good to know and also picked up references to some additional resources to research and decide what is best for our particular needs.&lt;/p&gt;  &lt;p&gt;In the next time slot, I slipped on my DBA hat and went to listen to &lt;a href="http://scarydba.wordpress.com/" target="_blank"&gt;Grant Fritchey&lt;/a&gt; talk about how to use the Database Management Views that are new in SQL 2005 and 2008 as a shortcut to query tuning.  I learned a lot from that session, not the least of which is that I have a lot more to learn.  But I must say that it is pretty darn cool that you can issue a SELECT statement to find out about the other queries that are happening &lt;strong&gt;right now&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;For the last session of the day, I goofed up my schedule and room assignments; and by the time I got it all straightened out, I decided I was better off taking a break and catching up on some work email and other stuff.  Also had a chance to sit and chat with &lt;a href="http://webbtechsolutions.com/blog" target="_blank"&gt;Joe Webb&lt;/a&gt; for a while, which was a treat.&lt;/p&gt;  &lt;p&gt;Overall, it was a greatly rewarding and valuable day.  All the things that I learned in this one day would make the whole event worthwhile.&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/markc/aggbug/61044.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=R4T0NEdPLIo:sVBrHmY1NkE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=R4T0NEdPLIo:sVBrHmY1NkE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=R4T0NEdPLIo:sVBrHmY1NkE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=R4T0NEdPLIo:sVBrHmY1NkE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=R4T0NEdPLIo:sVBrHmY1NkE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=R4T0NEdPLIo:sVBrHmY1NkE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=R4T0NEdPLIo:sVBrHmY1NkE:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=R4T0NEdPLIo:sVBrHmY1NkE:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=R4T0NEdPLIo:sVBrHmY1NkE:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/R4T0NEdPLIo" height="1" width="1"/&gt;</description><dc:creator>AjarnMark</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/markc/archive/2009/11/04/61044.aspx</feedburner:origLink></item><item><title>Twitter Revisited</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/ZR4YEUkNCXs/61043.aspx</link><pubDate>Wed, 04 Nov 2009 16:47:36 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/markc/archive/2009/11/04/61043.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/markc/comments/61043.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/markc/comments/commentRss/61043.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/markc/archive/2009/11/04/61043.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://weblogs.sqlteam.com/markc/services/trackbacks/61043.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/markc/rss.aspx">Twitter Revisited</source><description>&lt;p&gt;Last night at the Exhibitor Reception at the Summit, Lance Harra said to me, “I thought you gave up on Twitter.”  That was in response to seeing my Twitter ID on my name badge.  Some of you may recall that last year, just before the &lt;a href="http://www.sqlpass.org/" target="_blank"&gt;PASS&lt;/a&gt; conference, &lt;a href="http://weblogs.sqlteam.com/markc/archive/2008/11/17/60763.aspx" target="_blank"&gt;I jumped on the Twitter bandwagon&lt;/a&gt; to play with it during the event.  Shortly thereafter, I &lt;a href="http://weblogs.sqlteam.com/markc/archive/2009/02/21/60847.aspx" target="_blank"&gt;jumped back off&lt;/a&gt;.  Well, this year, again shortly before the Summit, I started getting interested again.  So, here are a few things I thought I’d share to clear the air…&lt;/p&gt;  &lt;p&gt;I learned a few tricks to make my use of Twitter a &lt;strong&gt;tiny&lt;/strong&gt; bit more efficient, like using &lt;a href="http://www.tweetdeck.com" target="_blank"&gt;TweetDeck&lt;/a&gt; to follow not just a bunch of individuals, but a particular topic like the &lt;a href="http://twitter.com/#search?q=%23sqlpass" target="_blank"&gt;#sqlpass&lt;/a&gt; conversation.  And it has been interesting to meet here at the conference some of the folks that I only knew as Twitter IDs.  But I still believe that it is a huge distraction, and if I walked around my office and saw a twitter tool up on my developers screens more than a couple of times in the day, I would have serious concerns about whether they were getting anything productive done.  I even had to stop myself yesterday in one of the breakout sessions.  I had arrived early and popped open TweetDeck to see what was current, and then the session started and I thought I’d take some notes the old-fashioned way, plus make a few tweets about it.  A few minutes into that little experiment, I found that I kept getting drawn into what other people were tweeting about the sessions they were sitting in, and not paying attention to the guy who I had, essentially, paid money to come hear.  So I shut the notebook lid and stayed with pen and paper.&lt;/p&gt;  &lt;p&gt;I talked with &lt;a href="http://webbtechsolutions.com/blog/" target="_blank"&gt;Joe Webb&lt;/a&gt; last night about this and about how he uses Twitter.  Not to put words in his mouth, but he did make an analogy to email in that it is easy to get sucked-in to responding to an email just because it is there and it is “now” and not necessarily because it is important.  But Joe is also doing an interesting experiment this year where he is using Twitter as a note-taking tool, and also consolidating some of those tweets into a blog post.  I’ll be curious to hear what his opinion of that approach is at the end of the week.&lt;/p&gt;  &lt;p&gt;On the other hand, Twitter turned into a great little tool during one of the sessions I attended yesterday.  A question came up about metrics to decide which indexes to rebuild/reorganize, and the speaker stated an opinion that appeared to contradict a previous “Microsoft recommendation”.  One of the members of the audience sent a quick tweet to Paul Randal who happened to be on at the time, and a clarifying answer came back immediately and was able to be shared with everyone in the room in just minutes.  So that was a great use.&lt;/p&gt;  &lt;p&gt;So where does that leave us?  Well, as Paul Randal is fond of saying, “It depends.”  There are certainly some ways to take advantage of this technology for good.  And there is the dark side where it is really easy to blow off hours and hours of time.  It’s up to you to decide how to use it for yourself, but as for me, don’t expect to see me much during normal business hours outside of special events like the &lt;a href="http://www.sqlpass.org/Events/PASSCommunitySummit.aspx" target="_blank"&gt;Summit&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/markc/aggbug/61043.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ZR4YEUkNCXs:8vIRnRs3Q-M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ZR4YEUkNCXs:8vIRnRs3Q-M:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ZR4YEUkNCXs:8vIRnRs3Q-M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=ZR4YEUkNCXs:8vIRnRs3Q-M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ZR4YEUkNCXs:8vIRnRs3Q-M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=ZR4YEUkNCXs:8vIRnRs3Q-M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ZR4YEUkNCXs:8vIRnRs3Q-M:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ZR4YEUkNCXs:8vIRnRs3Q-M:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ZR4YEUkNCXs:8vIRnRs3Q-M:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/ZR4YEUkNCXs" height="1" width="1"/&gt;</description><dc:creator>AjarnMark</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/markc/archive/2009/11/04/61043.aspx</feedburner:origLink></item><item><title>PASS 2009 Tuesday &amp;ndash; Opening Remarks and Keynote</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/8twoRIbsx8A/61042.aspx</link><pubDate>Wed, 04 Nov 2009 08:06:12 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/markc/archive/2009/11/04/61042.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/markc/comments/61042.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/markc/comments/commentRss/61042.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/markc/archive/2009/11/04/61042.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://weblogs.sqlteam.com/markc/services/trackbacks/61042.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/markc/rss.aspx">PASS 2009 Tuesday &amp;ndash; Opening Remarks and Keynote</source><description>&lt;p&gt;&lt;font size="5"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;KUDOS&lt;/font&gt; &lt;font color="#0000ff"&gt;to Wayne Snyder!&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;If you have read &lt;a href="http://weblogs.sqlteam.com/markc/category/61.aspx" target="_blank"&gt;my reviews&lt;/a&gt; of past &lt;a href="http://www.sqlpass.org/" target="_blank"&gt;PASS&lt;/a&gt; &lt;a href="http://www.sqlpass.org/Events/PASSCommunitySummit.aspx" target="_blank"&gt;Community Summit&lt;/a&gt; events, you probably know that it is a bit of a pet peeve of mine when speakers run over their scheduled time.  Taking a more positive approach this year, I’d like to commend PASS President Wayne Snyder for realizing he was running out of time during his opening remarks before the Microsoft Keynote, and cutting his talk short, skipping over a couple of his last slides.  I’m sure that the valuable information he had on those slides will be presented to the membership at a later time; perhaps in Rushabh’s remarks tomorrow, and it allowed Microsoft to get started with their keynote on time.&lt;/p&gt;  &lt;p&gt;Unfortunately, Microsoft did not follow Wayne’s example and ran long again.  This has happened countless times in the past at the PASS Summit.  I know, I know…they’re a founding partner, they give a LOT to the community and this organization in particular, I should cut them some slack, etc., etc.  That’s true, and I do…hey, I stayed through the entire talk this morning instead of getting up and walking out with so many others.  And sure, they have “the right” to do whatever they want and will be given a ton of leeway by the organization and the Board.  On the other hand, it’s still rude.  And I’m sure that both Bob Muglia and Ted Kummert have given enough talks to know how to manage their presentation time better.&lt;/p&gt;  &lt;p&gt;“But wait!” I hear you say, “they also brought several people up on stage to do demos and talk, so it’s not all Muglia’s and Kummert’s fault.”  I say, it is still their fault because they should have planned their overall keynote to have enough wiggle room for those extras to run long and still wrap up on time.  That’s really how you manage your time as a presenter.  It’s hard to guess exactly how long it’s going take you to get through your talk even when it’s just you doing the talking.  So you organize your talk so that the key points fit well within the allotted time, even if you get sidetracked by a technical glitch or a long Q&amp;amp;A.  And then you come prepared with bonus material that you can get into if there is extra time at the end.  Not surprisingly, this is how Wayne was able to get through his session on SSRS that came right after, and was cut short by, the long-running keynote.  It even stated directly in the abstract in the book, that he would cover topics X and Y, and “if there is time available” he would also cover topic Z.&lt;/p&gt;  &lt;p&gt;Well done, Wayne.&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/markc/aggbug/61042.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=8twoRIbsx8A:QH04w46ctTU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=8twoRIbsx8A:QH04w46ctTU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=8twoRIbsx8A:QH04w46ctTU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=8twoRIbsx8A:QH04w46ctTU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=8twoRIbsx8A:QH04w46ctTU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=8twoRIbsx8A:QH04w46ctTU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=8twoRIbsx8A:QH04w46ctTU:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=8twoRIbsx8A:QH04w46ctTU:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=8twoRIbsx8A:QH04w46ctTU:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/8twoRIbsx8A" height="1" width="1"/&gt;</description><dc:creator>AjarnMark</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/markc/archive/2009/11/04/61042.aspx</feedburner:origLink></item><item><title>PASS 2009 Monday -- Pre-Conferences and Welcome Reception</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/ai6j7AchUP8/61041.aspx</link><pubDate>Wed, 04 Nov 2009 07:30:43 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/markc/archive/2009/11/03/61041.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/markc/comments/61041.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/markc/comments/commentRss/61041.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/markc/archive/2009/11/03/61041.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://weblogs.sqlteam.com/markc/services/trackbacks/61041.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/markc/rss.aspx">PASS 2009 Monday -- Pre-Conferences and Welcome Reception</source><description>&lt;p&gt;This year the schedule for the &lt;a target="_blank" href="http://www.sqlpass.org/"&gt;PASS&lt;/a&gt; &lt;a target="_blank" href="http://www.sqlpass.org/Events/PASSCommunitySummit.aspx"&gt;Community Summit&lt;/a&gt; was shifted by one day to change from having two days of pre-conference seminars and then the main conference on Wednesday through Friday; to having one day of pre-conference seminars, one day of post-conference seminars, and the main conference on Tuesday through Thursday.  It will be interesting to see what sort of feedback this new schedule generates.  As for me, it works fine either way.&lt;/p&gt;
&lt;p&gt;The pre- and post-conference seminars are typically all-day seminars that cover a topic in significant depth.  These seminars cost extra beyond the money for the main conference registration.  I have been interested in several of these, but have not personally spent the extra money to attend any of them before this year.  However, this year there was a special, short (2-hour) seminar entitled Networking to Build Business Contacts by &lt;a target="_blank" href="http://www.dongabor.com/"&gt;Don Gabor&lt;/a&gt;, and I decided to go for it.  And it actually turned out that as a PASS volunteer this year, I was eligible to attend a shorter 1-hour version of Don’s presentation at no additional charge.  So, I took advantage of both, and both of them were well worth the time and money.  A perk of the paid 2-hour session was a free copy of Don’s book &lt;a href="http://www.amazon.com/gp/product/0684868016?ie=UTF8&amp;amp;tag=ajascor-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0684868016"&gt;How To Start A Conversation And Make Friends&lt;/a&gt;&lt;img style="BORDER-BOTTOM-STYLE: none !important; BORDER-RIGHT-STYLE: none !important; MARGIN: 0px; BORDER-TOP-STYLE: none !important; BORDER-LEFT-STYLE: none !important" border="0" alt="" width="1" height="1" src="http://www.assoc-amazon.com/e/ir?t=ajascor-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0684868016" /&gt;.  I look forward to reading it.  As a fan of the classic &lt;a href="http://www.amazon.com/gp/product/0671027034?ie=UTF8&amp;amp;tag=ajascor-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0671027034"&gt;How to Win Friends &amp;amp; Influence People&lt;/a&gt;&lt;img style="BORDER-BOTTOM-STYLE: none !important; BORDER-RIGHT-STYLE: none !important; MARGIN: 0px; BORDER-TOP-STYLE: none !important; BORDER-LEFT-STYLE: none !important" border="0" alt="" width="1" height="1" src="http://www.assoc-amazon.com/e/ir?t=ajascor-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0671027034" /&gt; by Dale Carnegie, I am curious to see what overlap in tips and techniques there are, as well as pick up any new pointers.&lt;/p&gt;
&lt;p&gt;Of course, in the 2-hour session, Don was able to go into the topic in more depth and provide additional tips as well as more time to practice on each other than during the 1-hour volunteer session.  I learned good tips and put them to practice from both sessions.  Unfortunately, even in the 2-hour time slot, Don was pressed for time and did not get through everything he had in the handouts.  I would recommend to the PASS Program Committee for next year that they consider inviting Don back again, and perhaps allot a half-day for this.  And while I’m on the topic, I’ll also suggest that the Program Committee and whoever else makes this type of decision, consider doing some half-day pre- and post-conference seminars that may be more affordable or just more attractive based on the duration than a full day is to some people.&lt;/p&gt;
&lt;p&gt;After the pre-conference seminars wrapped up, the real kickoff to the main event happened Monday night.  I &lt;strong&gt;strongly&lt;/strong&gt; recommend that anyone coming to a future Community Summit event be sure to arrive for the Welcome Reception.  It is a fantastic opportunity to reconnect with friends and contacts from previous events, meet in person some of the folks that you only know from online conversations or blog posts, and of course meet entirely new contacts and friends.  This fun and food event is a great way to relax from a long day or training or travel, and get into the community mood and relax before everything gets hectic.  The Quiz Bowl is getting better each year, and for part of the evening, they were showing a live feed of the &lt;a target="_blank" href="http://twitter.com/"&gt;Twitter&lt;/a&gt; conversation, following the &lt;a target="_blank" href="http://twitter.com/#search?q=%23sqlpass"&gt;#sqlpass&lt;/a&gt; hash-tag.  For those who were not able to come this year, you might enjoy reading the feed of the conversation on the &lt;a target="_blank" href="http://summit2009.sqlpass.org/"&gt;Summit home page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Overall, I would say a &lt;strong&gt;great&lt;/strong&gt; start to another great Summit!&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/markc/aggbug/61041.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ai6j7AchUP8:3jJhYJYr0Q8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ai6j7AchUP8:3jJhYJYr0Q8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ai6j7AchUP8:3jJhYJYr0Q8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=ai6j7AchUP8:3jJhYJYr0Q8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ai6j7AchUP8:3jJhYJYr0Q8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=ai6j7AchUP8:3jJhYJYr0Q8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ai6j7AchUP8:3jJhYJYr0Q8:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ai6j7AchUP8:3jJhYJYr0Q8:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=ai6j7AchUP8:3jJhYJYr0Q8:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/ai6j7AchUP8" height="1" width="1"/&gt;</description><dc:creator>AjarnMark</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/markc/archive/2009/11/03/61041.aspx</feedburner:origLink></item><item><title>Defragmenting/Rebuilding Indexes in SQL Server 2005 and 2008</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/F3Zs9l9gqEA/DefragmentingRebuilding-Indexes-in-SQL-Server-2005-and-2008Again.aspx</link><pubDate>Tue, 03 Nov 2009 19:04:36 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/tarad/archive/2009/11/03/DefragmentingRebuilding-Indexes-in-SQL-Server-2005-and-2008Again.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/tarad/comments/61040.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/tarad/comments/commentRss/61040.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/tarad/archive/2009/11/03/DefragmentingRebuilding-Indexes-in-SQL-Server-2005-and-2008Again.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://weblogs.sqlteam.com/tarad/services/trackbacks/61040.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/tarad/rss.aspx">Defragmenting/Rebuilding Indexes in SQL Server 2005 and 2008</source><description>&lt;p&gt;I have modified isp_ALTER_INDEX, which is the stored procedure that I wrote and use to defragment/rebuild indexes in SQL Server 2005 and SQL Server 2008.  The code change has just one bug fix.  The bug would only have been encountered on SQL Server 2008 systems that have XML indexes that need to be rebuilt based upon the input parameters.  &lt;/p&gt;
&lt;p&gt;In SQL Server 2005, the sys.dm_db_index_physical_stats data management function outputted “XML INDEX” for the index_type_desc column when the index contained a column with the XML data type.  In SQL Server 2008, the DMF was modified so that you could have either “XML INDEX” or “PRIMARY XML INDEX” for XML indexes in the index_type_desc column. &lt;/p&gt;
&lt;p&gt;I don’t have any systems that use the XML data type, so it wasn’t until we had the SQL Server 2008 AdventureWorks database on a development system that we found the bug.&lt;/p&gt;
&lt;p&gt;Here’s the code change in case you are interested:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;SET&lt;/span&gt; @online = 
        &lt;span class="kwrd"&gt;CASE&lt;/span&gt;
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; @indexType &lt;span class="kwrd"&gt;IN&lt;/span&gt; (&lt;span class="str"&gt;'XML INDEX'&lt;/span&gt;, &lt;span class="str"&gt;'PRIMARY XML INDEX'&lt;/span&gt;) &lt;span class="kwrd"&gt;THEN&lt;/span&gt; 0
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; @indexType = &lt;span class="str"&gt;'NONCLUSTERED INDEX'&lt;/span&gt; &lt;span class="kwrd"&gt;AND&lt;/span&gt; @allocUnitType = &lt;span class="str"&gt;'LOB_DATA'&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; 0
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; @lobData = 1 &lt;span class="kwrd"&gt;THEN&lt;/span&gt; 0
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; @disabled = 1 &lt;span class="kwrd"&gt;THEN&lt;/span&gt; 0
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; @partitionCount &amp;gt; 1 &lt;span class="kwrd"&gt;THEN&lt;/span&gt; 0
            &lt;span class="kwrd"&gt;ELSE&lt;/span&gt; 1
        &lt;span class="kwrd"&gt;END&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
&lt;![CDATA[




.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;You can download the new version of the stored procedure &lt;a href="http://www.tarakizer.com/files/scripts/isp_ALTER_INDEX_11032009.zip"&gt;here&lt;/a&gt;.&lt;img src="http://weblogs.sqlteam.com/tarad/aggbug/61040.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=F3Zs9l9gqEA:xZ26d8SMebU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=F3Zs9l9gqEA:xZ26d8SMebU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=F3Zs9l9gqEA:xZ26d8SMebU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=F3Zs9l9gqEA:xZ26d8SMebU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=F3Zs9l9gqEA:xZ26d8SMebU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=F3Zs9l9gqEA:xZ26d8SMebU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=F3Zs9l9gqEA:xZ26d8SMebU:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=F3Zs9l9gqEA:xZ26d8SMebU:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=F3Zs9l9gqEA:xZ26d8SMebU:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/F3Zs9l9gqEA" height="1" width="1"/&gt;</description><dc:creator>Tara Kizer</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/tarad/archive/2009/11/03/DefragmentingRebuilding-Indexes-in-SQL-Server-2005-and-2008Again.aspx</feedburner:origLink></item><item><title>Get the Nth weekday of any arbitrary period</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/GkXicShogHA/Get-the-Nth-weekday-of-any-arbitrary-period.aspx</link><pubDate>Tue, 03 Nov 2009 15:11:13 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/peterl/archive/2009/11/03/Get-the-Nth-weekday-of-any-arbitrary-period.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/peterl/comments/61039.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/peterl/comments/commentRss/61039.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/peterl/archive/2009/11/03/Get-the-Nth-weekday-of-any-arbitrary-period.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://weblogs.sqlteam.com/peterl/services/trackbacks/61039.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/peterl/rss.aspx">Get the Nth weekday of any arbitrary period</source><description>&lt;p&gt;I have previously posted some algorithm how to find the Nth weekday for a fixed period such as month, quarter or year.&lt;br /&gt;
See &lt;font face="Arial"&gt;&lt;a href="http://weblogs.sqlteam.com/peterl/archive/2009/07/12/How-to-calculate-the-number-of-weekdays-in-a-month.aspx"&gt;http://weblogs.sqlteam.com/peterl/archive/2009/07/12/How-to-calculate-the-number-of-weekdays-in-a-month.aspx&lt;/a&gt;&lt;br /&gt;
&lt;/font&gt;&lt;font face="Arial"&gt;&lt;a href="http://weblogs.sqlteam.com/peterl/archive/2009/06/18/How-to-get-the-Weekday-and-Nth-from-a-date.aspx"&gt;http://weblogs.sqlteam.com/peterl/archive/2009/06/18/How-to-get-the-Weekday-and-Nth-from-a-date.aspx&lt;/a&gt;&lt;br /&gt;
&lt;font face="Arial"&gt;&lt;a href="http://weblogs.sqlteam.com/peterl/archive/2009/07/12/How-to-calculate-the-number-of-weekdays-for-any-given.aspx"&gt;http://weblogs.sqlteam.com/peterl/archive/2009/07/12/How-to-calculate-the-number-of-weekdays-for-any-given.aspx&lt;/a&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font face="Arial"&gt;&lt;a href="http://weblogs.sqlteam.com/peterl/archive/2009/07/12/How-to-calculate-number-of-weekdays-in-a-year.aspx"&gt;http://weblogs.sqlteam.com/peterl/archive/2009/07/12/How-to-calculate-number-of-weekdays-in-a-year.aspx&lt;/a&gt;&lt;br /&gt;
&lt;/font&gt;&lt;br /&gt;
This algorithm in the function allows you to get a weekday for any arbitrary period, both forward and backwards. If you pass a positive number for @Nth you will return the Nth weekday within the specified period, starting forwards from @FromDate. If you pass a negative number for @Nth, you will return the Nth weekday starting backwards from @ToDate.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;CREATE&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt; &lt;span style="COLOR: blue"&gt;FUNCTION&lt;/span&gt;    dbo&lt;span style="COLOR: gray"&gt;.&lt;/span&gt;fnWeekdayOfPeriod&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 8pt"&gt;(&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    @FromDate &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; &lt;span style="COLOR: blue"&gt;DATETIME&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    @ToDate &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; &lt;span style="COLOR: blue"&gt;DATETIME&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    @WeekDay &lt;span style="COLOR: blue"&gt;TINYINT&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    @Nth &lt;span style="COLOR: blue"&gt;INT&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 8pt"&gt;)&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;RETURNS&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt; &lt;span style="COLOR: blue"&gt;DATETIME&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;AS&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;BEGIN&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    &lt;span style="COLOR: blue"&gt;RETURN  &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            &lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt;  &lt;span style="COLOR: fuchsia"&gt;DATEADD&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;DAY&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt;&lt;br /&gt;
                    &lt;span style="COLOR: blue"&gt;CASE&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                        &lt;span style="COLOR: blue"&gt;WHEN&lt;/span&gt; @Weekday &lt;span style="COLOR: gray"&gt;&amp;lt;&lt;/span&gt; theFrom &lt;span style="COLOR: gray"&gt;%&lt;/span&gt; 7 &lt;span style="COLOR: blue"&gt;THEN&lt;/span&gt; theFrom &lt;span style="COLOR: gray"&gt;-&lt;/span&gt; theFrom &lt;span style="COLOR: gray"&gt;%&lt;/span&gt; 7 &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; @Weekday &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; 7&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                        &lt;span style="COLOR: blue"&gt;ELSE&lt;/span&gt; theFrom &lt;span style="COLOR: gray"&gt;-&lt;/span&gt; theFrom &lt;span style="COLOR: gray"&gt;%&lt;/span&gt; 7 &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; @Weekday&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                    &lt;span style="COLOR: blue"&gt;END&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                    &lt;span style="COLOR: red"&gt;'17530101'&lt;/span&gt;&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; theDate&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            &lt;span style="COLOR: blue"&gt;FROM    &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                    &lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt;  &lt;span style="COLOR: blue"&gt;CASE&lt;/span&gt; &lt;span style="COLOR: fuchsia"&gt;SIGN&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;@Nth&lt;span style="COLOR: gray"&gt;)&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                                &lt;span style="COLOR: blue"&gt;WHEN&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;THEN&lt;/span&gt; &lt;span style="COLOR: fuchsia"&gt;DATEDIFF&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;DAY&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; &lt;span style="COLOR: red"&gt;'17530101'&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; @FromDate&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; 7 &lt;span style="COLOR: gray"&gt;*&lt;/span&gt; @Nth &lt;span style="COLOR: gray"&gt;-&lt;/span&gt; 7&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                                &lt;span style="COLOR: blue"&gt;ELSE&lt;/span&gt; &lt;span style="COLOR: fuchsia"&gt;DATEDIFF&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;DAY&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; &lt;span style="COLOR: red"&gt;'17530101'&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; @ToDate&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; 7 &lt;span style="COLOR: gray"&gt;*&lt;/span&gt; @Nth &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; 1&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                            &lt;span style="COLOR: blue"&gt;END&lt;/span&gt; &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; theFrom&lt;span style="COLOR: gray"&gt;,&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                            &lt;span style="COLOR: blue"&gt;CASE&lt;/span&gt; &lt;span style="COLOR: fuchsia"&gt;SIGN&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;@Nth&lt;span style="COLOR: gray"&gt;)&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                                &lt;span style="COLOR: blue"&gt;WHEN&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;THEN&lt;/span&gt; &lt;span style="COLOR: fuchsia"&gt;DATEDIFF&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;DAY&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; &lt;span style="COLOR: red"&gt;'17530101'&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; @FromDate&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; 7 &lt;span style="COLOR: gray"&gt;*&lt;/span&gt; @Nth &lt;span style="COLOR: gray"&gt;-&lt;/span&gt; 1&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                                &lt;span style="COLOR: blue"&gt;ELSE&lt;/span&gt; &lt;span style="COLOR: fuchsia"&gt;DATEDIFF&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;DAY&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; &lt;span style="COLOR: red"&gt;'17530101'&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; @ToDate&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; 7 &lt;span style="COLOR: gray"&gt;*&lt;/span&gt; @Nth &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; 7&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                            &lt;span style="COLOR: blue"&gt;END&lt;/span&gt; &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; theTo&lt;span style="COLOR: gray"&gt;,&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                            &lt;span style="COLOR: fuchsia"&gt;DATEDIFF&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;DAY&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; &lt;span style="COLOR: red"&gt;'17530101'&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; @FromDate&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; theMin&lt;span style="COLOR: gray"&gt;,&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                            &lt;span style="COLOR: fuchsia"&gt;DATEDIFF&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;DAY&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; &lt;span style="COLOR: red"&gt;'17530101'&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; @ToDate&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; theMax&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                    &lt;span style="COLOR: blue"&gt;WHERE&lt;/span&gt;   @Nth &lt;span style="COLOR: gray"&gt;BETWEEN&lt;/span&gt; &lt;span style="COLOR: gray"&gt;-&lt;/span&gt;430307 &lt;span style="COLOR: gray"&gt;AND&lt;/span&gt; 430307&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                            &lt;span style="COLOR: gray"&gt;AND&lt;/span&gt; @Nth &lt;span style="COLOR: gray"&gt;&amp;lt;&amp;gt;&lt;/span&gt; 0&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                            &lt;span style="COLOR: gray"&gt;AND&lt;/span&gt; @Weekday &lt;span style="COLOR: gray"&gt;BETWEEN&lt;/span&gt; 0 &lt;span style="COLOR: gray"&gt;AND&lt;/span&gt; 7&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                    &lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; d&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            &lt;span style="COLOR: blue"&gt;WHERE&lt;/span&gt;   &lt;span style="COLOR: blue"&gt;CASE&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                        &lt;span style="COLOR: blue"&gt;WHEN&lt;/span&gt; @Weekday &lt;span style="COLOR: gray"&gt;&amp;lt;&lt;/span&gt; theFrom &lt;span style="COLOR: gray"&gt;%&lt;/span&gt; 7 &lt;span style="COLOR: blue"&gt;THEN&lt;/span&gt; theFrom &lt;span style="COLOR: gray"&gt;-&lt;/span&gt; theFrom &lt;span style="COLOR: gray"&gt;%&lt;/span&gt; 7 &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; @Weekday &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; 7&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                        &lt;span style="COLOR: blue"&gt;ELSE&lt;/span&gt; theFrom &lt;span style="COLOR: gray"&gt;-&lt;/span&gt; theFrom &lt;span style="COLOR: gray"&gt;%&lt;/span&gt; 7 &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; @Weekday&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                    &lt;span style="COLOR: blue"&gt;END&lt;/span&gt;&lt;/span&gt; &lt;span style="COLOR: gray"&gt;BETWEEN&lt;/span&gt; theMin &lt;span style="COLOR: gray"&gt;AND&lt;/span&gt; theMax&lt;br /&gt;
&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            &lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 8pt"&gt;)&lt;br /&gt;
&lt;/span&gt;&lt;span style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;END&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/peterl/aggbug/61039.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=GkXicShogHA:6YF-GYXj810:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=GkXicShogHA:6YF-GYXj810:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=GkXicShogHA:6YF-GYXj810:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=GkXicShogHA:6YF-GYXj810:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=GkXicShogHA:6YF-GYXj810:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=GkXicShogHA:6YF-GYXj810:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=GkXicShogHA:6YF-GYXj810:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=GkXicShogHA:6YF-GYXj810:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=GkXicShogHA:6YF-GYXj810:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/GkXicShogHA" height="1" width="1"/&gt;</description><dc:creator>Peter Larsson</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/peterl/archive/2009/11/03/Get-the-Nth-weekday-of-any-arbitrary-period.aspx</feedburner:origLink></item><item><title>Superfast sequence generators!</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/eGzvZVB94NE/Superfast-sequence-generators.aspx</link><pubDate>Tue, 03 Nov 2009 10:38:56 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/peterl/archive/2009/11/03/Superfast-sequence-generators.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/peterl/comments/61038.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/peterl/comments/commentRss/61038.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/peterl/archive/2009/11/03/Superfast-sequence-generators.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://weblogs.sqlteam.com/peterl/services/trackbacks/61038.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/peterl/rss.aspx">Superfast sequence generators!</source><description>Based on Itzik's suggestion for sequence generators, I rewrote them and adapted them for my needs.&lt;br /&gt;
Itzik showed how to work around a big issue for some cases where the query optimizer actually tried to produce all possible combinations before returning the wanted records.&lt;br /&gt;
&lt;br /&gt;
My rewrite is two-part&lt;br /&gt;
&lt;br /&gt;
1) The functions accepts a Starting point and an Ending point.&lt;br /&gt;
2) The functions accepts a Stepping point. You may want only odd or even numbers? Or only every 7th day?&lt;br /&gt;
&lt;br /&gt;
Here are the functions. Have fun with them!&lt;br /&gt;
I haven't checked performance compared to MVJ's F_NUMBER_TABLE function, but they should be at least equally fast.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;CREATE&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt; &lt;span style="COLOR: blue"&gt;FUNCTION&lt;/span&gt; dbo&lt;span style="COLOR: gray"&gt;.&lt;/span&gt;fnGetNumbers&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 8pt"&gt;(&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    @FromNum &lt;span style="COLOR: blue"&gt;INT&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    @ToNum &lt;span style="COLOR: blue"&gt;INT&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    @Step &lt;span style="COLOR: blue"&gt;INT&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 8pt"&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;RETURNS&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt; &lt;span style="COLOR: blue"&gt;TABLE&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;AS&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;RETURN&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    &lt;span style="COLOR: blue"&gt;WITH&lt;/span&gt;    n0 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;UNION&lt;/span&gt; &lt;span style="COLOR: gray"&gt;ALL&lt;/span&gt; &lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1&lt;span style="COLOR: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            n1 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt; n0 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; a &lt;span style="COLOR: gray"&gt;CROSS&lt;/span&gt; &lt;span style="COLOR: gray"&gt;JOIN&lt;/span&gt; n0 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; b&lt;span style="COLOR: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            n2 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt; n1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; a &lt;span style="COLOR: gray"&gt;CROSS&lt;/span&gt; &lt;span style="COLOR: gray"&gt;JOIN&lt;/span&gt; n1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; b&lt;span style="COLOR: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            n3 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt; n2 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; a &lt;span style="COLOR: gray"&gt;CROSS&lt;/span&gt; &lt;span style="COLOR: gray"&gt;JOIN&lt;/span&gt; n2 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; b&lt;span style="COLOR: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            n4 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt; n3 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; a &lt;span style="COLOR: gray"&gt;CROSS&lt;/span&gt; &lt;span style="COLOR: gray"&gt;JOIN&lt;/span&gt; n3 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; b&lt;span style="COLOR: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            n5 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt; n4 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; a &lt;span style="COLOR: gray"&gt;CROSS&lt;/span&gt; &lt;span style="COLOR: gray"&gt;JOIN&lt;/span&gt; n4 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; b&lt;span style="COLOR: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    &lt;span style="COLOR: blue"&gt;SELECT &lt;/span&gt; @FromNum &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; @Step &lt;span style="COLOR: gray"&gt;*&lt;/span&gt; n &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; Number&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    &lt;span style="COLOR: blue"&gt;FROM    &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                &lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt;  &lt;span style="COLOR: blue"&gt;TOP &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;1 &lt;span style="COLOR: gray"&gt;+&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;@ToNum &lt;span style="COLOR: gray"&gt;-&lt;/span&gt; @FromNum&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: gray"&gt;/&lt;/span&gt; @Step&lt;span style="COLOR: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                        &lt;span style="COLOR: fuchsia"&gt;ROW_NUMBER&lt;/span&gt;&lt;span style="COLOR: gray"&gt;()&lt;/span&gt; &lt;span style="COLOR: blue"&gt;OVER &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;ORDER&lt;/span&gt; &lt;span style="COLOR: blue"&gt;BY&lt;/span&gt; p&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: gray"&gt;-&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; n&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt;    n5&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            &lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; d&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;GO&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;CREATE&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt; &lt;span style="COLOR: blue"&gt;FUNCTION&lt;/span&gt; dbo&lt;span style="COLOR: gray"&gt;.&lt;/span&gt;fnGetDates&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 8pt"&gt;(&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    @FromDate &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; &lt;span style="COLOR: blue"&gt;DATETIME&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    @ToDate &lt;span style="COLOR: blue"&gt;DATETIME&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    @Step &lt;span style="COLOR: blue"&gt;INT&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 8pt"&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;RETURNS&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt; &lt;span style="COLOR: blue"&gt;TABLE&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;AS&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;RETURN&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    &lt;span style="COLOR: blue"&gt;WITH&lt;/span&gt;    d0 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;UNION&lt;/span&gt; &lt;span style="COLOR: gray"&gt;ALL&lt;/span&gt; &lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1&lt;span style="COLOR: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            d1 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt; d0 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; a &lt;span style="COLOR: gray"&gt;CROSS&lt;/span&gt; &lt;span style="COLOR: gray"&gt;JOIN&lt;/span&gt; d0 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; b&lt;span style="COLOR: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            d2 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt; d1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; a &lt;span style="COLOR: gray"&gt;CROSS&lt;/span&gt; &lt;span style="COLOR: gray"&gt;JOIN&lt;/span&gt; d1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; b&lt;span style="COLOR: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            d3 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt; d2 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; a &lt;span style="COLOR: gray"&gt;CROSS&lt;/span&gt; &lt;span style="COLOR: gray"&gt;JOIN&lt;/span&gt; d2 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; b&lt;span style="COLOR: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            d4 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt; d3 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; a &lt;span style="COLOR: gray"&gt;CROSS&lt;/span&gt; &lt;span style="COLOR: gray"&gt;JOIN&lt;/span&gt; d3 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; b&lt;span style="COLOR: gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            d5 &lt;span style="COLOR: blue"&gt;AS &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt; d4 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; a &lt;span style="COLOR: gray"&gt;CROSS&lt;/span&gt; &lt;span style="COLOR: gray"&gt;JOIN&lt;/span&gt; d4 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; b&lt;span style="COLOR: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    &lt;span style="COLOR: blue"&gt;SELECT&lt;/span&gt;  &lt;span style="COLOR: fuchsia"&gt;DATEADD&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;DAY&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; n &lt;span style="COLOR: gray"&gt;*&lt;/span&gt; @Step&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; @FromDate&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; [Date]&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;    &lt;span style="COLOR: blue"&gt;FROM    &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                &lt;span style="COLOR: blue"&gt;SELECT &lt;/span&gt; &lt;span style="COLOR: blue"&gt;TOP &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;1 &lt;span style="COLOR: gray"&gt;+&lt;/span&gt; &lt;span style="COLOR: fuchsia"&gt;DATEDIFF&lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: fuchsia"&gt;DAY&lt;/span&gt;&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; @FromDate&lt;span style="COLOR: gray"&gt;,&lt;/span&gt; @ToDate&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: gray"&gt;/&lt;/span&gt; @Step&lt;span style="COLOR: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                        &lt;span style="COLOR: fuchsia"&gt;ROW_NUMBER&lt;/span&gt;&lt;span style="COLOR: gray"&gt;()&lt;/span&gt; &lt;span style="COLOR: blue"&gt;OVER &lt;/span&gt;&lt;span style="COLOR: gray"&gt;(&lt;/span&gt;&lt;span style="COLOR: blue"&gt;ORDER&lt;/span&gt; &lt;span style="COLOR: blue"&gt;BY&lt;/span&gt; p&lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: gray"&gt;-&lt;/span&gt; 1 &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; n&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;                &lt;span style="COLOR: blue"&gt;FROM&lt;/span&gt;    d5 &lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 8pt"&gt;            &lt;span style="COLOR: gray"&gt;)&lt;/span&gt; &lt;span style="COLOR: blue"&gt;AS&lt;/span&gt; d&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 8pt"&gt;GO&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;img src="http://weblogs.sqlteam.com/peterl/aggbug/61038.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=eGzvZVB94NE:zXfHbn9IinE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=eGzvZVB94NE:zXfHbn9IinE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=eGzvZVB94NE:zXfHbn9IinE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=eGzvZVB94NE:zXfHbn9IinE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=eGzvZVB94NE:zXfHbn9IinE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=eGzvZVB94NE:zXfHbn9IinE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=eGzvZVB94NE:zXfHbn9IinE:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=eGzvZVB94NE:zXfHbn9IinE:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=eGzvZVB94NE:zXfHbn9IinE:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/eGzvZVB94NE" height="1" width="1"/&gt;</description><dc:creator>Peter Larsson</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/peterl/archive/2009/11/03/Superfast-sequence-generators.aspx</feedburner:origLink></item><item><title>18 Percent</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/kmQ04HVhrWI/61037.aspx</link><pubDate>Mon, 02 Nov 2009 21:28:08 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/denisem/archive/2009/11/02/61037.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/denisem/comments/61037.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/denisem/comments/commentRss/61037.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/denisem/archive/2009/11/02/61037.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://weblogs.sqlteam.com/denisem/services/trackbacks/61037.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/denisem/rss.aspx">18 Percent</source><description>&lt;p&gt;18 percent. That's the percentage of undergraduate degrees in Computer Science awarded to women in the U.S. in 2008. Twenty years ago &lt;strong&gt;37% &lt;/strong&gt;of CS degrees were awarded to women. Why such a precipitous decline? Why aren't more young women interested in pursuing a technical education? What can be done to encourage and support school-age girls who are interested in math, science and technology?&lt;/p&gt;
&lt;p&gt;This will be the topic on Wednesday Nov. 4 at the PASS Women in Technology Luncheon. Everyone at the PASS Summit is welcome to join us at 11:30 in room 6C to hear an engaging &lt;a href="http://summit2009.sqlpass.org/Agenda/SpecialEvents.aspx#WIT_Luncheon"&gt;panel of speakers&lt;/a&gt; address these important questions.&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/denisem/aggbug/61037.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=kmQ04HVhrWI:cmInxs5j0z8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=kmQ04HVhrWI:cmInxs5j0z8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=kmQ04HVhrWI:cmInxs5j0z8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=kmQ04HVhrWI:cmInxs5j0z8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=kmQ04HVhrWI:cmInxs5j0z8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=kmQ04HVhrWI:cmInxs5j0z8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=kmQ04HVhrWI:cmInxs5j0z8:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=kmQ04HVhrWI:cmInxs5j0z8:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=kmQ04HVhrWI:cmInxs5j0z8:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/kmQ04HVhrWI" height="1" width="1"/&gt;</description><dc:creator>denisemc</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/denisem/archive/2009/11/02/61037.aspx</feedburner:origLink></item><item><title>Programming is like dreaming?</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/jc0HtIULhGw/61035.aspx</link><pubDate>Mon, 02 Nov 2009 19:52:38 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/jeffs/archive/2009/11/02/61035.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/jeffs/comments/61035.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/jeffs/comments/commentRss/61035.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/jeffs/archive/2009/11/02/61035.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://weblogs.sqlteam.com/jeffs/services/trackbacks/61035.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/jeffs/rss.aspx">Programming is like dreaming?</source><description>This is from March, so it's a little old, but I just stumbled upon it and found it a bit interesting. I never thought of programming this way before, but it does make sense:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.independentdeveloper.com/archive/2009/03/17/programming-is-like-a-dream"&gt;Programming is like a dream&lt;/a&gt;&lt;br /&gt;&lt;img src="http://weblogs.sqlteam.com/jeffs/aggbug/61035.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=jc0HtIULhGw:W_rWodiCvrw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=jc0HtIULhGw:W_rWodiCvrw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=jc0HtIULhGw:W_rWodiCvrw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=jc0HtIULhGw:W_rWodiCvrw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=jc0HtIULhGw:W_rWodiCvrw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=jc0HtIULhGw:W_rWodiCvrw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=jc0HtIULhGw:W_rWodiCvrw:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=jc0HtIULhGw:W_rWodiCvrw:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=jc0HtIULhGw:W_rWodiCvrw:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/jc0HtIULhGw" height="1" width="1"/&gt;</description><dc:creator>Jeff Smith</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/jeffs/archive/2009/11/02/61035.aspx</feedburner:origLink></item><item><title>SSMS Tools Pack 1.7.5.1 is out! Bug fixes for my international users.</title><link>http://feedproxy.google.com/~r/SqlteamcomWeblogs/~3/LRXdAUMRWRw/SSMS-Tools-Pack-1.7.5.1-is-out-Bug-fixes-for-my.aspx</link><pubDate>Mon, 02 Nov 2009 17:24:26 GMT</pubDate><guid isPermaLink="false">http://weblogs.sqlteam.com/mladenp/archive/2009/11/02/SSMS-Tools-Pack-1.7.5.1-is-out-Bug-fixes-for-my.aspx</guid><wfw:comment>http://weblogs.sqlteam.com/mladenp/comments/61034.aspx</wfw:comment><wfw:commentRss>http://weblogs.sqlteam.com/mladenp/comments/commentRss/61034.aspx</wfw:commentRss><comments>http://weblogs.sqlteam.com/mladenp/archive/2009/11/02/SSMS-Tools-Pack-1.7.5.1-is-out-Bug-fixes-for-my.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://weblogs.sqlteam.com/mladenp/services/trackbacks/61034.aspx</trackback:ping><source url="http://weblogs.sqlteam.com/mladenp/rss.aspx">SSMS Tools Pack 1.7.5.1 is out! Bug fixes for my international users.</source><description>&lt;p&gt;Due to a bug i haven’t anticipated, a whole load of users with non English SSMS couldn’t install the latest SSMS Tools Pack 1.7.&lt;/p&gt;
&lt;p&gt;The SSMS Tools Pack 1.7.5.1 fixes this as well as 1 other major bug that was reported and 3 smaller ones.&lt;/p&gt;
&lt;p&gt;The &lt;a target="_blank" href="http://www.ssmstoolspack.com/Features"&gt;&lt;strong&gt;&lt;font color="#004080"&gt;feature list&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; hasn’t changed.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You can simply reinstall 1.7.5.1 over the 1.7.0.0.&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;If you’re still on 1.5 or less then you’ll have to manually uninstall it and install 1.7.5.1.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You can download the new version &lt;/strong&gt;&lt;a target="_blank" href="http://www.ssmstoolspack.com/Download"&gt;&lt;font color="#004080"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Hopefully this will bring back joy to everyone :)&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/mladenp/aggbug/61034.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=LRXdAUMRWRw:g5bPLToq5HE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=LRXdAUMRWRw:g5bPLToq5HE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=LRXdAUMRWRw:g5bPLToq5HE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=LRXdAUMRWRw:g5bPLToq5HE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=LRXdAUMRWRw:g5bPLToq5HE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?i=LRXdAUMRWRw:g5bPLToq5HE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=LRXdAUMRWRw:g5bPLToq5HE:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=LRXdAUMRWRw:g5bPLToq5HE:gRsNgB-aSSA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=gRsNgB-aSSA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?a=LRXdAUMRWRw:g5bPLToq5HE:as7VaYKENsE"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SqlteamcomWeblogs?d=as7VaYKENsE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SqlteamcomWeblogs/~4/LRXdAUMRWRw" height="1" width="1"/&gt;</description><dc:creator>Mladen Prajdić</dc:creator><feedburner:origLink>http://weblogs.sqlteam.com/mladenp/archive/2009/11/02/SSMS-Tools-Pack-1.7.5.1-is-out-Bug-fixes-for-my.aspx</feedburner:origLink></item></channel></rss>
