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

<channel>
	<title>Tech4Him - Technology with Integrity &#187; sql server</title>
	<atom:link href="http://blog.tech4him.com/tags/sql-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tech4him.com</link>
	<description>A Christian technology chaos wrangler and his thoughts</description>
	<lastBuildDate>Fri, 27 Jan 2012 02:08:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SSWUG Vconf – Day 3 Links and Tidbits</title>
		<link>http://blog.tech4him.com/2009/10/sswug-vconf-%e2%80%93-day-3-links-and-tidbits/</link>
		<comments>http://blog.tech4him.com/2009/10/sswug-vconf-%e2%80%93-day-3-links-and-tidbits/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 18:14:40 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[SSAS]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[ssrs]]></category>
		<category><![CDATA[sswug]]></category>
		<category><![CDATA[virtual conference]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=827</guid>
		<description><![CDATA[Keynote Stephen Wynkoop Demo: Capture perfmon counters to binary logs and at the same time capture SQL Profiler. Then you can load both into profiler and see both at the...]]></description>
			<content:encoded><![CDATA[<h3>Keynote</h3>
<p>Stephen Wynkoop</p>
<p>Demo: Capture perfmon counters to binary logs and at the same time capture SQL Profiler. Then you can load both into profiler and see both at the same time. Great for troubleshooting what might be causing a problem or what is happening at a particular point in time.</p>
<p><span id="more-827"></span></p>
<p>Historical only (not real-time)</p>
<p>When things go Wrong</p>
<ul>
<li>What changed?</li>
<li>What were you doing?</li>
<li>What were you seeing?</li>
<li>Answer: NOTHING. <img src='http://blog.tech4him.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>Add all the counters you need. Don&#8217;t be skimpy. Start broad and then narrow down. If you don&#8217;t record it, you can&#8217;t see it.</p>
<h3>Intro to SSAS 2008</h3>
<p>Marc Beacom</p>
<ul>
<li><a href="http://www.MarcBeacom.com">www.MarcBeacom.com</a></li>
<li><a href="http://twitter.com/MarcBeacom">twitter.com/MarcBeacom</a></li>
</ul>
<p>You can import an existing cube into BIDS which will essentially create a copy of the project that was used to create the cube. (Probably only to a certain extent)</p>
<h3>PerformancePoint Services 101</h3>
<p>Craig Utley</p>
<ul>
<li>Craig Utley, Mentor with Solid Quality Mentors
<ul>
<li>Consultant specializing in development with Microsoft technologies and data warehousing</li>
<li>Published author of books, whitepapers, articles, and courseware</li>
<li>Operator of LearnMicrosoftBI.com</li>
</ul>
</li>
</ul>
<p>Performance Point Services</p>
<p>Monitoring, Analytics and Planning</p>
<p>Planning being removed in the next version</p>
<ul>
<li>Monitoring: Scorecards and dashboards.</li>
<li>Analytics: Drill up, drill down, slicing, dicing, etc&#8230;</li>
</ul>
<p>Performance Point ships only with MOSS. With MOSS 2010, 64-bit only, no 32-bit.</p>
<p>KPI Sources are usually cubes but can be other sources including SQL Server, Excel and other sources.</p>
<p>No Pie Charts until next version.</p>
<h3>Financial analytics with SQL Server Analysis Services</h3>
<p>Donald Farmer</p>
<p><a href="http://twitter.com/donalddotfarmer">@donalddotfarmer</a></p>
<p>Need to listen to the Scottish Starbucks analogy again. It was a great analogy but want to be sure I didn&#8217;t miss something.</p>
<p>Financial Calculations</p>
<ul>
<li>Currency Conversions</li>
<li>Time Intelligence</li>
<li>Account Intelligence</li>
</ul>
<p>Resources</p>
<p><a href="http://www.microsoft.com/sqlserver/2008/en/us/analysis-services.aspx">http://www.microsoft.com/sqlserver/2008/en/us/analysis-services.aspx</a><br />
<a href="http://sqlblog.com/blogs/mosha/default.aspx">http://sqlblog.com/blogs/mosha/default.aspx</a><br />
<a href="http://www.sqlserveranalysisservices.com/default.htm">http://www.sqlserveranalysisservices.com/default.htm</a><br />
<a href="http://sqlcat.com/Default.aspx">http://sqlcat.com/Default.aspx</a></p>
<h3>Full SpectrumBusiness Intelligence</h3>
<p>Donald Farmer</p>
<p><a href="http://twitter.com/donalddotfarmer">@donalddotfarmer</a></p>
<p>These slides are masterful is telling the verbal story Donald is presenting. I am putting up a few of the key slides that will server as good reference to me.</p>
<p>Thanks Donald!</p>
<p><a href="http://blog.tech4him.com/wp-content/uploads/fullspectrurmbi_1.png"><img class="aligncenter size-medium wp-image-829" title="fullspectrurmbi_1" src="http://blog.tech4him.com/wp-content/uploads/fullspectrurmbi_1-300x224.png" alt="fullspectrurmbi_1" width="300" height="224" /></a></p>
<p><a href="http://blog.tech4him.com/wp-content/uploads/fullspectrurmbi_2.png"><img class="aligncenter size-medium wp-image-830" title="fullspectrurmbi_2" src="http://blog.tech4him.com/wp-content/uploads/fullspectrurmbi_2-300x225.png" alt="fullspectrurmbi_2" width="300" height="225" /></a></p>
<p><a href="http://blog.tech4him.com/wp-content/uploads/fullspectrurmbi_3.png"><img class="aligncenter size-medium wp-image-831" title="fullspectrurmbi_3" src="http://blog.tech4him.com/wp-content/uploads/fullspectrurmbi_3-300x225.png" alt="fullspectrurmbi_3" width="300" height="225" /></a></p>
<p>Data quality is &#8220;fitness for purpose&#8221;. IT cannot tell you is a record is good.</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=827&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/10/sswug-vconf-%e2%80%93-day-3-links-and-tidbits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSWUG vConf &#8211; Day 2 Links, Tips and Tidbits</title>
		<link>http://blog.tech4him.com/2009/10/sswug-vconf-day-2-links-tips-and-tidbits/</link>
		<comments>http://blog.tech4him.com/2009/10/sswug-vconf-day-2-links-tips-and-tidbits/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 20:05:14 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[SSAS]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[sswug]]></category>
		<category><![CDATA[virtual conference]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=795</guid>
		<description><![CDATA[On Call Duties TJ Belt http://tjaybelt.blogspot.com http://www.twitter.com/tjaybelt You are on-call, maybe middle of the night and you get a call and there&#8217;s a problem. What do you do? What tasks...]]></description>
			<content:encoded><![CDATA[<h3>On Call Duties</h3>
<p>TJ Belt</p>
<p><a href="http://tjaybelt.blogspot.com">http://tjaybelt.blogspot.com</a><br />
<a href="http://www.twitter.com/tjaybelt">http://www.twitter.com/tjaybelt</a></p>
<blockquote><p>You are on-call, maybe middle of the night and you get a call and there&#8217;s a problem. What do you do?</p>
<p><span id="more-795"></span></p></blockquote>
<ul>
<li>What tasks were last performed by what persons?</li>
<li>Start documenting incidents if you don&#8217;t already. Great for helping resolve things later down the road.</li>
<li>Document, document, document</li>
</ul>
<p>Items to be sure of and continuously check</p>
<ul>
<li>Scan OS error events</li>
<li>Check on backups</li>
<li>System specific output files (xml, reports, files)</li>
<li>Log and data file sizes</li>
<li>Space available / Free space on drives</li>
<li>Replication health</li>
<li>SQL Server logs</li>
<li>Other notes of interest</li>
</ul>
<p>Work to get your logs clean over time so that problems become more apparent and you will spend less time chasing red herrings.</p>
<blockquote><p><em>&#8220;You only need one. Either a good backup or a good resume.&#8221;</em></p></blockquote>
<p>Only notify on error, not on success. (Of course there may be exceptions)</p>
<ul style="font-family: Arial; font-size: 12px;">
<li><a id="related1" style="color: #454741;" href="http://www.sswug.org/articles/viewarticle.aspx?id=14649" target="_blank">What are Microsoft SQL Server operators and how to define them  (Part 1)</a></li>
<li><a id="related2" style="color: #454741;" href="http://www.sswug.org/articles/viewarticle.aspx?id=30656" target="_blank">Undocumented SQL Server 2005 Database Maintenance Plan Stored  Procedures</a></li>
<li><a id="related3" style="color: #454741;" href="http://www.sswug.org/articles/viewarticle.aspx?id=20413" target="_blank">DB2  and the Procedural DBA, Part 1</a></li>
</ul>
<h3>Dimension Table ETL with SSIS</h3>
<p>Erik Veerman<br />
Mentor, Solid Quality Mentors<br />
SQL Server MVP</p>
<p>Dimension tables contain the &#8220;text descriptors&#8221; or attributes. Also organized as hierarchies of categories, levels and members.</p>
<p>Slowly Changing Dimension (Ralph Kimball)</p>
<ul>
<li>Type 0:No change (Fixed Attribute)</li>
<li>Type 1:The value is overwritten (Changing Attribute)</li>
<li>Type 2:Slow changes. A new row is added (Historical Attribute)</li>
</ul>
<p>Type 2 &#8211; New surrogate key and Start Time/End Time updates so to add the new record.</p>
<p>Inferred Members</p>
<ul>
<li>Missing dimension member during Fact load later becomes available in the Dimension source</li>
<li>Also known as late arriving dimensions</li>
<li>Fact load, placeholder record added to dimension table with new surrogate key generated</li>
<li>Dimension process, for inferred members, all dimension attribute columns are updated with new values (type 2 attributes are handled as type 1)</li>
</ul>
<p>Additional SSWUG Articles</p>
<ul style="font-family: Arial; font-size: 12px;">
<li><a id="related1" style="color: #454741;" href="http://www.sswug.org/articles/viewarticle.aspx?id=32620" target="_blank">Troubleshooting SQL Server 2005 Integration Services</a></li>
<li><a id="related2" style="color: #454741;" href="http://www.sswug.org/articles/viewarticle.aspx?id=21218" target="_blank">MSDN Webcast Summary: Introducing SQL Server Integration Services  for SQL Server 2005</a></li>
<li><a id="related3" style="color: #454741;" href="http://www.sswug.org/articles/viewarticle.aspx?id=34271" target="_blank">Tips for using SQL Server 2005 Integration Services (Part 3)</a></li>
</ul>
<h3>Fact Table ETL with SSIS</h3>
<p>Erik Veerman<br />
Mentor, Solid Quality Mentors<br />
SQL Server MVP</p>
<p>Identify Dimension Surrogate Keys</p>
<ul>
<li>Locate dimension candidate keys in transaction source</li>
<li>Validate uniqueness and data integrity</li>
<li>Considering historical changes
<ul>
<li>Identifying current dimension record, combine business keys with current identifying meta data (data identifier or boolean)</li>
<li>Handle missing dimension records</li>
</ul>
</li>
<li>SSIS Data Flow Options
<ul>
<li>Lookup transformation</li>
<li>Merge Join transformation</li>
<li>Fuzzy Lookup transformation</li>
</ul>
</li>
<li>SSIS Control Flow Option
<ul>
<li>Execute SQL Task</li>
</ul>
</li>
</ul>
<ul>
<li>Fact ETL involves surrogate keys, grain changes, and measure calculations</li>
<li>SSIS handles these through several out-of-the-box transformations</li>
</ul>
<h3>Loading a Data Warehouse with SSIS</h3>
<p>Brian Knight<br />
bknight@pragmaticworks.com<br />
CEO, Pragmatic Works</p>
<p>Why Data Warehouse?</p>
<ul>
<li>Get users off of transactional systems</li>
<li>Keeping more data online</li>
<li>Easier reporting</li>
<li>Consolidate data sources</li>
</ul>
<p>Data Separated into fact and dimension tables</p>
<ul>
<li>Dimension tables answer the pivot or where clause
<ul>
<li>Make as wide and descriptive as possible</li>
<li>Surrogate keys operate as unique ID for each row</li>
<li>Keep surrogate keys as small as possible</li>
</ul>
</li>
<li>Fact tables answer the what or select statement
<ul>
<li>Intersect all dimension tables</li>
<li>Surrogate keys from each dimension in this table</li>
<li>Measures are the “what” like Price, Quantity, Duration</li>
</ul>
</li>
</ul>
<p>Additional Articles</p>
<ul style="font-family: Arial; font-size: 12px;">
<li><a id="related1" style="color: #454741;" href="http://www.sswug.org/articles/viewarticle.aspx?id=21218" target="_blank">MSDN Webcast Summary: Introducing SQL Server Integration Services  for SQL Server 2005</a></li>
<li><a id="related2" style="color: #454741;" href="http://www.sswug.org/articles/viewarticle.aspx?id=37713" target="_blank">SQL  Server 2008 Katmai Change Data Capture (CDC)</a></li>
<li><a id="related3" style="color: #454741;" href="http://www.sswug.org/articles/viewarticle.aspx?id=32620" target="_blank">Troubleshooting SQL Server 2005 Integration Services</a></li>
</ul>
<ul>
<li><a href="http://Blogs.pragmaticworks.com/brian_knight">http://Blogs.pragmaticworks.com/brian_knight</a></li>
<li><a href="# http://www.twitter.com/brianknight">http://www.twitter.com/brianknight</a></li>
</ul>
<h3>Live &#8211; SQL Server Analysis Services &#8211; Real World Performance Tuning (4hrs)</h3>
<p>Ted Malone</p>
<p>(I only caught a few minutes here and there of this marathon live session, but the parts I caught were good. We&#8217;ll have to watch the on demand once it goes up.)</p>
<ul>
<li>Recommends looking at a product called <a href="http://www.sqlsentry.net/performance-advisor/sql-server-analysis-services.asp">Performance Advisor from SQL Century</a> for getting performance insight into SSAS.</li>
</ul>
<h3>DBA Checklist</h3>
<p>Buck Woody, Microsoft SQL Server Specialist</p>
<p><a href="http://blogs.msdn.com/buckwoody">http://blogs.msdn.com/buckwoody</a><br />
<a href="http://www.informit.com/guides/guide.aspx?g=sqlserver">http://www.informit.com/guides/guide.aspx?g=sqlserver</a><br />
<a href="http://edge.technet.com/People/BuckWoody/">http://edge.technet.com/People/BuckWoody/</a></p>
<p>SSMS</p>
<ul>
<li>Object Explorer: Right click to see additional columns including Last Backup.</li>
<li>Standard Reports available via right click</li>
<li>Log Viewer</li>
</ul>
<p>oSQL or SQLCMD</p>
<p>PowerShell &#8211; Latest and greatest</p>
<p>Post Installation</p>
<p>Daily, Weekly, Monthly and Yearly</p>
<p>Recommends being alerted of both error AND success in order to know that maintenance task really did run.</p>
<p>Maintenance tasks</p>
<ul>
<li>Do not run the auto-shrink option in your tasks.</li>
</ul>
<p>Take a baseline with PerfMon. Email him for a list of counters.</p>
<p>Keep a SQL Server run book containing all configuration changes.</p>
<p><img src="file:///C:/DOCUME%7E1/lucast/LOCALS%7E1/Temp/moz-screenshot.png" alt="" /></p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=795&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/10/sswug-vconf-day-2-links-tips-and-tidbits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSWUG Vconf &#8211; Day 1 Links and Tidbits</title>
		<link>http://blog.tech4him.com/2009/10/sswug-vconf-day-1-links-and-tidbits/</link>
		<comments>http://blog.tech4him.com/2009/10/sswug-vconf-day-1-links-and-tidbits/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 18:41:14 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[SSAS]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[sswug]]></category>
		<category><![CDATA[virtual conference]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=784</guid>
		<description><![CDATA[Below are tips, links and tidbits from today&#8217;s sessions. Use at your own risk. Solving Business Pains with SQL Server Integration Services Jason Strate SQL Server MVP Enterprise Consultant with...]]></description>
			<content:encoded><![CDATA[<p>Below are tips, links and tidbits from today&#8217;s sessions. Use at your own risk. <img src='http://blog.tech4him.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-784"></span></p>
<h3>Solving Business Pains with SQL Server Integration Services</h3>
<p>Jason Strate</p>
<p>SQL Server MVP<br />
Enterprise Consultant with Digineer<br />
Working with SQL Server since 1997</p>
<p><a href="http://feeds2.feedburner.com/StrateSql">feeds2.feedburner.com/StrateSql</a><br />
<a href="http://twitter.com/StrateSQL">twitter.com/StrateSQL</a></p>
<ul>
<li>Consolidate packages and deployment</li>
<li>Use ForEachwith ADO Enumerator for non-file looping</li>
<li>Expressions on connections increase flexibility of package</li>
<li>Store config type info in tables for easy retrieval and looping</li>
</ul>
<h3>Add It Up &#8211; Analysis Services Aggregations</h3>
<p>Craig Utley, Mentor with Solid Quality Mentors<br />
–craig@solidq.com</p>
<p><a href="http://LearnMicrosoftBI.com">LearnMicrosoftBI.com</a></p>
<ul>
<li>Hierarchies must be natural to create aggregations at various levels
<ul>
<li>This means creating attribute relationships</li>
</ul>
</li>
<li>ProcessFulland ProcessIndexesbuild indexes and aggregations</li>
<li>ProcessUpdateperforms adds, updates, and deletes to a dimension table
<ul>
<li>If a change is detected, flexible aggregations are dropped</li>
</ul>
</li>
<li>ProcessAddonly adds new records so both flexible and rigid aggregations are kept</li>
</ul>
<p><a id="related2" style="color: #454741;" href="http://www.sswug.org/articles/viewarticle.aspx?id=14469" target="_blank">OLAP and Data Warehousing &#8211; Data Warehousing Solution Architecture  (Part 2)</a></p>
<h3>Avoiding Common Analysis Services Mistakes</h3>
<p>Craig Utley, Mentor with Solid Quality Mentors<br />
–craig@solidq.com</p>
<p><a href="http://LearnMicrosoftBI.com">LearnMicrosoftBI.com</a></p>
<ul>
<li>Dimensions appear to be especially problematic for companies</li>
<li>The first thing companies should do is correctlyidentify attribute relationships
<ul>
<li>Not identifying them is bad</li>
<li>Incorrectly identifying them is worse</li>
</ul>
</li>
<li>Attribute relationships with flexible relationship types can cause problems with non-unique attributes (eg. Date hierarchy)</li>
<li>Decide when IgnoreUnrelatedDimensions should be true</li>
<li>In MDX explicitly reference cells when possible
<ul>
<li>Products.Printersinstead of Dimensions(2).Printers</li>
<li>Products.Printersinstead of Products.CurrentMember</li>
</ul>
</li>
</ul>
<h3>Live Session &#8211; DBA Survivor II</h3>
<p>Thomas LaRock</p>
<p><a href="http://thomaslarock.com/presentations">http://thomaslarock.com/presentations</a></p>
<ul>
<li>Know your RAIDs. <img src='http://blog.tech4him.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>HA vs. DR &#8211; Two different things. Glad he is reminding folks of this!</li>
<li>Networks &#8211; Don&#8217;t forget this can cause &#8220;performance&#8221; problems.</li>
<li>DBA = Default Blame Accepter (I know Network admins that might argue about that.)</li>
<li>Be Nice! &#8211; #1 rule?</li>
<li>Email &#8211; DON&#8217;T DO THIS.  hehe
<ul>
<li>&#8220;I have never, nor will I now, tolerate your foolishness.&#8221;</li>
<li>&#8220;I am done with your useless babble.&#8221;</li>
</ul>
</li>
<li>Development
<ul>
<li>&#8220;A development server is a production server to a developer&#8221;</li>
<li>Ask them if it is OK to lock down that server, should fix that response.</li>
<li>Manage expectations
<ul>
<li>Be responsive AND responsible
<ul>
<li>Own success AND mistakes (Amen!)</li>
</ul>
</li>
<li>Results, not effort</li>
<li>Tangible output</li>
</ul>
</li>
<li>Get used to developers being needy &#8211; They are undo pressure to deliver products on time and under budget.</li>
</ul>
</li>
<li>Time Management
<ul>
<li>Get in a routine</li>
<li>To-Do List</li>
<li>Chunking &#8211; Write those 6 blog articles at once and schedule publication over the week.</li>
<li>Know when to say No</li>
</ul>
</li>
</ul>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=784&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/10/sswug-vconf-day-1-links-and-tidbits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSWUG Fall 2009 Virtual Conference Plan</title>
		<link>http://blog.tech4him.com/2009/10/sswug-fall-2009-virtual-conference-plan/</link>
		<comments>http://blog.tech4him.com/2009/10/sswug-fall-2009-virtual-conference-plan/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 11:16:29 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[SSAS]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[ssrs]]></category>
		<category><![CDATA[sswug]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=780</guid>
		<description><![CDATA[So the SSWUG Fall 2009 Virtual Conference begins today. I&#8217;ve setup at home to hibernate for hours watching the live and pre-recorded sessions on a wide range of SQL Server...]]></description>
			<content:encoded><![CDATA[<p>So the <a href="http://www.vconferenceonline.com/shows/fall09/uvc">SSWUG Fall 2009 Virtual Conference</a> begins today. I&#8217;ve setup at home to hibernate for hours watching the live and pre-recorded sessions on a wide range of SQL Server and business intelligence topics. An extra LCD monitor brought home, the trackball mouse from the office, headphones and webcam. The kitchen is stocked for my &#8220;conference&#8221; meals and snacks thanks to my lovely bride. I am ready!</p>
<p>Oh yeah, the sessions. I almost forgot. <img src='http://blog.tech4him.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-780"></span></p>

<p>If you are interested in knowing what sessions I plan to attend, here is the list.</p>
<h3>Day 1</h3>
<ul>
<li>Scheduled
<ul>
<li>Solving Business Pains with SQL Server Integration Services</li>
<li>Avoiding Common Analysis Services Mistakes</li>
<li>Live Session &#8211; DBA Survivor</li>
<li>Live Q&amp;A</li>
</ul>
</li>
<li>On-Demand
<ul>
<li>Enriching the Design of an Analysis Services Cube</li>
<li>Embedding Reporting Into Applications with the ReportViewer  Control</li>
<li>Add It Up: Analysis Services Aggregations</li>
<li>Aggravating Aggregations</li>
<li>On Call Duties</li>
<li>Configuring the Business Data Catalog</li>
</ul>
</li>
</ul>
<h3>Day 2</h3>
<ul>
<li>Scheduled
<ul>
<li>DW Dimension Table ETL with SSIS</li>
<li>7 Extraordinary Things To Do With Integration Services</li>
<li>DW Fact Table ETL with SSIS</li>
<li>SSAS Cube and Dimension Processing with SSIS</li>
<li>Q&amp;A</li>
</ul>
</li>
<li>On Demand
<ul>
<li>DBA Checklist</li>
<li>Administrating SQL Server Integration Services (SSIS)</li>
<li>ESB Toolkit 2.0 Overview</li>
<li>Database Change Process</li>
<li>Loading a Data Warehouse in SSIS</li>
<li>Implementing Messaging Solutions Using ESB Toolkit 2.0</li>
</ul>
</li>
</ul>
<h3>Day 3</h3>
<ul>
<li>Scheduled
<ul>
<li>Intro to SSAS 2008</li>
<li>PerformancePoint Services 101</li>
<li>Financial analytics with SQL Server Analysis Services</li>
<li>Full Spectrum Business Intelligence – aligning IT and Business in  the new world of data</li>
<li>Q&amp;A</li>
</ul>
</li>
<li>On Demand
<ul>
<li>Data mining for DBAs</li>
<li>Introduction to Sketch flow</li>
<li>SQL Statement Tuning with Showplan</li>
<li>Live Session- Get jQuery().ready; with Rachel Appel</li>
<li>SQL Statement Tuning with Indexing Strategies</li>
</ul>
</li>
</ul>
<p>So, that&#8217;s the plan. Obviously all the on-demands won&#8217;t be able to be completed each day but hopefully within the next week I can get a look at each of them. There is always the hope of that one golden nugget out of each session.</p>
<p>Blessings.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<table border="1" cellspacing="0" cellpadding="5" width="800" bordercolor="#999999">
<tbody>
<tr>
<td width="115">Date/Time</td>
<td width="180">Session</td>
<td width="372">Description</td>
<td width="70">Speaker</td>
<td width="21">Rm</td>
</tr>
<tr valign="top" bgcolor="#d2dfe6">
<td align="middle">10/21 8:00:00 AM<br />
<em>-to-</em><br />
10/21 8:29:00 AM</td>
<td><a href="#">Keynote</a></td>
<td></td>
<td>Stephen<br />
Wynkoop</td>
<td align="middle">A</td>
</tr>
</tbody>
</table>
</div>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=780&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/10/sswug-fall-2009-virtual-conference-plan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Log Rescue &#8211; Undo for SQL Server</title>
		<link>http://blog.tech4him.com/2009/07/sql-log-rescue-undo-for-sql-server/</link>
		<comments>http://blog.tech4him.com/2009/07/sql-log-rescue-undo-for-sql-server/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 13:01:28 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[transaction log]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=632</guid>
		<description><![CDATA[SQL Log Rescue &#8211; Undo for SQL Server. Came across this product again today to help with a particular need. I&#8217;ve used Red Gate products before at another employer and...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.red-gate.com/products/SQL_Log_Rescue/index.htm">SQL Log Rescue &#8211; Undo for SQL Server</a>.</p>
<p>Came across this product again today to help with a particular need. I&#8217;ve used Red Gate products before at another employer and loved them. However, I never realized the <a href="http://www.red-gate.com/products/SQL_Log_Rescue/index.htm" target="_blank">SQL LogRescue product</a>. On top of that, it is a free tool.<span id="more-632"></span></p>

<p>Kudos to the Red Gate folks for making this tool available to the SQL Server community. I know, your saying that there are other ways of dealing with transaction logs, and you&#8217;re right. But what I like about the SQL Log Rescue is the quick intuitive way to essentially create an audit trail, review the transactions in question and undo various transactions individually.</p>
<p>Now the downside&#8230;.it is only for SQL Server 2000. I know. that&#8217;s two SQL versions ago. So hear is my question.</p>
<p>What are you using to handling transaction log, transaction restore and such? Let me know, add a comment.</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=632&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/07/sql-log-rescue-undo-for-sql-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SSWUG vConf &#8211; Fact Table Design 101</title>
		<link>http://blog.tech4him.com/2009/04/sswug-vconf-fact-table-design-101/</link>
		<comments>http://blog.tech4him.com/2009/04/sswug-vconf-fact-table-design-101/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 16:24:21 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[modeling]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[sswug]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=505</guid>
		<description><![CDATA[Presenter: Erik Veerman erik@solidq.com In a Business Intelligence solution, the fact tables hold the core data that you are analyzing &#8211; facts (also called measures). Therefore, fact tables are a...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/filipx/2580276686/" target="_blank"><img class="alignright size-medium wp-image-506" style="border: 0pt none; margin: 10px;" title="2580276686_9e502d4b5e" src="http://blog.tech4him.com/wp-content/uploads/2580276686_9e502d4b5e-300x225.jpg" alt="2580276686_9e502d4b5e" width="300" height="225" /></a>Presenter: Erik Veerman<br />
<a href="mailto:erik@solidq.com">erik@solidq.com</a></p>
<p>In a Business Intelligence solution, the fact tables hold the core data that you are analyzing &#8211; facts (also called measures). Therefore, fact tables are a critical component to get right the first time. Poor fact table design will lead to poor performance and difficult calculations. This session dives into fact table and considers the basic column types, measure aggregation types, fact table types, and volume considerations.<span id="more-505"></span></p>
<h3>Facts</h3>
<ul type="disc">
<li>The      fact itself
<ul type="circle">
<li>The       &#8220;measure&#8221; that is being tracked. The thing</li>
<li>Quantity,       count, amount, percent</li>
<li>Most       always numerical, continuous values
<ul type="square">
<li>e.g.,        price of a product, quantity sold, budget value, count of customers</li>
</ul>
</li>
</ul>
</li>
<li>Facts      (or measures) can be classified by&#8230;
<ul type="circle">
<li>Numerical       data type</li>
<li>Aggregation       type</li>
<li>Additive       nature</li>
<li>Granularity       &#8211; level of detail stored</li>
</ul>
</li>
<li>Fact      tables
<ul type="circle">
<li>Capture       measures/facts</li>
<li>Association       with dimensions (using surrogate key as foreign key in fact table)
<ul type="square">
<li>No        dimensions attributes!</li>
</ul>
</li>
<li>Some       tracking information included</li>
</ul>
</li>
<li>Different      types of fact tables
<ul type="circle">
<li>Transactional       &#8211; Additive facts tracking events over time (Star Schema)
<ul type="square">
<li>Most        common type of fact table
<ul type="disc">
<li>Track         the occurrence of events, each detailed event is captured into a row in         the fact table</li>
<li>Measures         are typically additive across all dimensions</li>
<li>Common         transactional fact table types
<ul type="circle">
<li>Sales,          Visits, Web-page hits, Account transactions</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Snapshot       or inventory &#8211; Pictures in time of levels or balances
<ul type="square">
<li>Periodic</li>
<li>Accumulating</li>
<li>Known        as inventory level fact tables
<ul type="disc">
<li>Time         dimension used to identify grain</li>
<li>Non         additive measures across time, but typically additive across all other         dimensions</li>
<li>Common         transactional fact table types
<ul type="circle">
<li>Inventory          levels, Event booking levels, Chart of account balance levels</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Factless       &#8211; Dimensionality relationships
<ul type="square">
<li>No        measured facts!
<ul type="disc">
<li>Are         useful to describe events and coverage</li>
<li>Information         that something has or has not happened
<ul type="circle">
<li>Often          used to represent many-to-many relationships</li>
<li>Contain          only dimension keys</li>
<li>Common          factless fact tables:</li>
</ul>
</li>
<li>Class         attendance, Event tracking, Coverage tables, Promotion or campaign         facts</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Fact      Table Granularity
<ul type="circle">
<li>Never       mix the grain of the table!</li>
<li>The       level of detail of data contained in the fact table</li>
<li>The       description of a <strong><span style="text-decoration: underline;">single       instance</span></strong> (a record) of the fact table</li>
<li>Typically       includes a time level and a distinct combinations of other dimensions
<ul type="square">
<li>e.g.        Daily item totals by product, by store, Weekly snapshot of store        inventory by product</li>
</ul>
</li>
</ul>
</li>
</ul>
<p> Maybe include ETL load date/time in the fact table.</p>
<h3>Measures &#8211; Additive Nature</h3>
<ul type="disc">
<li>Additive:      Facts that can be summed up/aggregated across <strong><span style="text-decoration: underline;">all</span></strong> of the dimensions in the fact table
<ul type="circle">
<li>e.g.       discrete numerical measures of activity, i.e. quantity sold, dollars sold</li>
</ul>
</li>
<li>Semi-Additive:      Facts that can be summed up for <strong><span style="text-decoration: underline;">some</span></strong> of the dimensions in the fact table, but not the others
<ul type="circle">
<li>e.g.       numerical measures of intensity, i.e. account balance, inventory level,       distinct counts</li>
</ul>
</li>
<li>Non-Additive:      Facts that <strong><span style="text-decoration: underline;">cannot</span></strong> be      summed up <strong><span style="text-decoration: underline;">for any</span></strong> of the      dimensions present in the fact table.
<ul type="circle">
<li>e.g.       room temp</li>
</ul>
</li>
</ul>
<h3>Aggregations</h3>
<ul type="disc">
<li>Aggregation      (Aggs): A summarization of base-level fact table records
<ul type="circle">
<li>Common       aggregation scenarios
<ul type="square">
<li>Category        product by store by day</li>
<li>District        store by product by day</li>
<li>Monthly        sales by product by store</li>
<li>Category        product by store district by day</li>
<li>Category        product by store district by month</li>
</ul>
</li>
</ul>
</li>
<li>Aggregations      need to account for the additive nature of the measures
<ul type="circle">
<li>Aggregations       can be created on-the-fly or by the process of pre-aggregation</li>
<li>Common       aggregations
<ul type="square">
<li>Sum</li>
<li>Count,        Distinct Count</li>
<li>Max,        Min</li>
<li>Average</li>
<li>Semi-additive:        Last Child, Last Non-empty Child</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><a href="http://www.microsoft.com/fasttrack">http://www.microsoft.com/fasttrack</a><br />
SQL Server Fast Track Data Warehouse accelerates your data warehouse roadmap with new SQL Server 2008 Enterprise scalable reference architectures for HP, Dell and Bull. Reduce costs, save time and reduce risk with reliable, pre-tested hardware and best practices for warehousing. Read more.</p>
<h3>Design with Additive in Mind</h3>
<ul type="disc">
<li>Think      dimensionally!</li>
<li>Complex      requirements don&#8217;t need to be designed with complex queries</li>
<li>Many      times new fact tables can be designed that can answer specific questions,      such as date attributes and ranges</li>
</ul>
<h3>Getting Started</h3>
<ul type="disc">
<li>Step      1: Identify high-value business process to model (orders, invoices,      shipments, inventory)
<ul type="circle">
<li>Confirm       data source availability</li>
<li>Understand       value vs. complexity</li>
</ul>
</li>
<li>Step      2: Identify reporting grain of the business process
<ul type="circle">
<li>The       grains is the level of detail at which the data should be represented for       analytics</li>
<li>This       may not be the same grain as the source!</li>
<li>For       snapshot facts, determine what time level will be captured for each       snapshot (daily, weekly, monthly)</li>
</ul>
</li>
<li>Step      3: Identify dimensionality that will apply to each fact table
<ul type="circle">
<li>Time,       product, customer, store, etc.</li>
<li>Some       dimensions are not grain-identifying</li>
<li>Validate       the source can associate to the fact table</li>
</ul>
</li>
<li>Step      4: Identify measured facts that will populate fact table
<ul type="circle">
<li>Validate       the base measures are identifiable from the source</li>
<li>Some       measures may be derived</li>
<li>Measure       examples: product count, quantity sold, dollars sold, inventory quantity</li>
</ul>
</li>
<li>Identify      business questions:
<ul type="circle">
<li>How       much total business did my newly remodeled stores do compared with the       chain average?</li>
<li>How       did leather goods items costing less than $5 do with my most frequent       shoppers?</li>
<li>What       was the revenue comparison of non-holiday weekend days to holiday weekend       days?</li>
</ul>
</li>
<li>Analyze      questions to assist design!</li>
</ul>
<p>I really like these &#8220;Getting There&#8221; bullets. Erik does a good job summarize and giving you something practical to walk away with. Nice stuff.</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=505&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/04/sswug-vconf-fact-table-design-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSWUG vConf &#8211; Dimension Table Design 101</title>
		<link>http://blog.tech4him.com/2009/04/sswug-vconf-dimension-table-design-101/</link>
		<comments>http://blog.tech4him.com/2009/04/sswug-vconf-dimension-table-design-101/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 15:28:22 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[modeling]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[SSAS]]></category>
		<category><![CDATA[sswug]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=500</guid>
		<description><![CDATA[Presenter: Erik Veerman erik@solidq.com Dimension Tables are one of the core components in a dimensional design and it is critical to design your dimension tables correctly in order to lay...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/wilkersonfurniture/2247481690/" target="_blank"><img class="alignleft size-medium wp-image-501" style="border: 0pt none; margin: 10px;" title="2247481690_1976f16fde" src="http://blog.tech4him.com/wp-content/uploads/2247481690_1976f16fde-300x203.jpg" alt="2247481690_1976f16fde" width="300" height="203" /></a>Presenter: Erik Veerman<br />
<a href="mailto:erik@solidq.com">erik@solidq.com</a></p>
<p>Dimension Tables are one of the core components in a dimensional design and it is critical to design your dimension tables correctly in order to lay a solid foundation to a Business Intelligence system. This session dives into the dimension design techniques and considers the core components of a dimension table, surrogate keys, attributes, and hierarchies. In addition, we will consider advanced hierarchy types such as parent-child hierarchies, snowflake designs and unbalanced hierarchies. Finally, we will consider the best practices in tracking changes historically.<span id="more-500"></span></p>
<p>This session was intense so I just could not keep up with the slides. Here are just notes apart from the slides once I fell behind. Erik presents excellently and at a level appropriate for a 101 session without being condescending. Great job!</p>
<h3>Dimensions (review from Dimensional Modeling 101 Session)</h3>
<p>Dimensions &#8211; Qualitative<br />
Facts (Measures) &#8211; Quantitative</p>
<ul type="disc">
<li>Dimensions      (Qualitative information)
<ul type="circle">
<li>Business       perspective from which data is looked upon</li>
<li>Collection       of text attributes that are highly correlated</li>
<li>e.g.       Product, Store, Time, Manager of Store</li>
</ul>
</li>
<li>Conformity      (How Dimensions relate to each other)
<ul type="circle">
<li>Shared       with multiple fact relationships</li>
<li>Provides       data correlation</li>
</ul>
</li>
<li>Attributes      (many times is related to a table column, not always)
<ul type="circle">
<li>Descriptive       characteristics of an entity</li>
<li>Building       blocks of dimensions, describe each instance</li>
<li>Usually       text fields, with discrete values</li>
<li>e.g.,       the flavor of a product, the size of a product</li>
</ul>
</li>
<li>Hierarchies
<ul type="circle">
<li>drill-paths       within the dimension</li>
<li>Allows       top-down analysis</li>
<li>Natural       groupings of data relationships</li>
<li>e.g.,       date hierarchy is most common. Year to qtr to month to day for example)</li>
</ul>
</li>
<li>Dimension      Keys
<ul type="circle">
<li>Surrogate       Keys (Primary key, DW created)</li>
<li>Candidate       Business Keys/Alternate key (Source system keys, uniqueness)</li>
</ul>
</li>
<li>Dimension      Granularity
<ul type="circle">
<li>Granularity       in general is the level of detail of data contained in an entity (lowest       level detail)</li>
<li>A       dimensions granularity is the lowest level object which uniquely       identifies a member</li>
<li>Typically       the identifying name of a dimension</li>
</ul>
</li>
</ul>

<p>Name surrogate key with SK_<br />
Dimension naming DIM_<br />
Fact naming FACT_</p>
<p><a href="http://www.codeplex.com/MSFTDBProdSamples">http://www.codeplex.com/MSFTDBProdSamples</a> to download the AdventureWorksDW example.</p>
<h3>Hierarchies</h3>
<p>ALL level is usually the top level</p>
<p>All -&gt; Region -&gt; Country -&gt; City -&gt; Office</p>
<p>Seeing one we could use would related to the various Bible translation project locations currently under way. Need to keep in mind project sensitivities.</p>
<p>A dimension can have multiple hierarchies.</p>
<p><em>Standard Hierarchies</em></p>
<ul type="disc">
<li>All      levels have values.</li>
</ul>
<p><em>Ragged Hierarchies </em></p>
<ul type="disc">
<li>Missing      members at the mid-levels.
<ul type="circle">
<li>All       -&gt; Country -&gt; State -&gt; City and then you might be missing a       state is the country is Israel       since there are not states there.</li>
</ul>
</li>
</ul>
<p><em>Unbalanced Hierarchies</em></p>
<ul type="disc">
<li>Multiple      <em><span style="text-decoration: underline;">grains</span></em> in the hierarchy</li>
<li>May      not always be able to drill down to the lowest detail level since the      branch may stop short. (Think Org Chart)</li>
</ul>
<p>Demo: SSMS connected to a SSAS Cube</p>
<p>Product &#8211; Standard hierarchy</p>
<p>Sales  Territory &#8211; example of unbalanced hierarchy</p>
<p>Employee &#8211; another example of an unbalanced hierarchy</p>
<h3>Dimension Keys</h3>
<p>Business Keys</p>
<ul type="disc">
<li>Column(s)      identify the unique instance of a business record form the source system.</li>
<li>You      may have multiple records with the same Business Key. This is right as it      allows historical tracking.</li>
<li>Used in      the process that ties fact records with dimension members
<ul type="circle">
<li>Business       key is used to find the right surrogate key reference</li>
</ul>
</li>
</ul>
<p>Surrogate Keys</p>
<ul type="disc">
<li>
<ul type="circle">
<li>Defined       the dimension&#8217;s primary key</li>
<li>Usually       an integer
<ul type="disc">
<li>Important        to pick the right column width.</li>
<li>2,4,8        byte
<ul type="disc">
<li>SmallInt         &#8211; 2 bytes go for up to around 10k records</li>
<li>BigInt         &#8211; 8 bytes, for REALLY large dimensions</li>
</ul>
</li>
</ul>
</li>
<li>Consolidate       multi-value business keys</li>
<li>Allows       tracking of dimension history</li>
<li>Standardizes       dimension tables
<ul type="disc">
<li>All        are structured in the same way
<ul type="disc">
<li>Business         Key</li>
<li>Surrogate         key</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Don&#8217;t put attributes and business keys in your fact table.</p>
<p>Design Practices</p>
<ul type="disc">
<li>Avoid      smart keys</li>
<li>Avoid      production keys</li>
<li>production      may decide to reuse keys</li>
<li>the      company may acquire a competitor and thereby change the key building rules      changed record, but deliberately not changed key</li>
</ul>
<h3>Types of Dimensions</h3>
<p>Different dimensions types should be used in different scenarios.</p>
<p>Basic Dimension Types</p>
<ul type="disc">
<li>Standard      Star dimension
<ul type="circle">
<li>Single       table</li>
<li>Usually       date</li>
</ul>
</li>
<li>Snowflake
<ul type="circle">
<li>More       than one table in a cascading</li>
</ul>
</li>
<li>Parent      Child (unbalanced hierarchy)
<ul type="circle">
<li>Self       referencing surrogate to parent surrogate key relationship</li>
<li>Self       referencing business key relationship</li>
<li>e.g.       Org Chart, Chart of Accounts</li>
</ul>
</li>
</ul>
<p>Advanced Types</p>
<ul type="disc">
<li>Degenerate      (Seldom used. Be careful)
<ul type="circle">
<li>Dimensions       business key with no corresponding dimension table</li>
<li>Are       embedded in the fact table</li>
<li>Typically       use only when your Dim record count is about the same as the fact table       record count.</li>
<li>Usually       in line item oriented tables like sales tables</li>
</ul>
</li>
<li>Profile      or Junk Dimensions
<ul type="circle">
<li>Convenient       grouping of flags and attributes to get them out of the fact table into a       useful dimensional framework.</li>
<li>Good       for one-off lookups. Put them into a single dimension rather than a bunch       of small dimensions
<ul type="square">
<li>True/False        type attributes</li>
</ul>
</li>
</ul>
</li>
<li>Role      Playing Dimension
<ul type="circle">
<li>A single       dimension used for multiple purposes</li>
<li>Typical       example is the date dimension or the geography dimension (outrigger)</li>
</ul>
</li>
<li>Time      Dimension
<ul type="circle">
<li>Multiple       calendars
<ul type="square">
<li>Fiscal</li>
<li>Natural</li>
</ul>
</li>
<li>Usually       a single table</li>
</ul>
</li>
</ul>
<h3>Tracking History</h3>
<p>Industry best practices.</p>
<p>Changing Dimensions</p>
<ul class="unIndentedList">
<li> Slowly changing Dimensions
<ul>
<li>o &#8211; No change
<ul>
<li>Birthdate</li>
</ul>
</li>
<li>1 &#8211; Not interested in history (Updating a row/record)</li>
<li>2 &#8211; Slow changes. Adds new row/record</li>
<li>3 &#8211; Fast changes. Adds new column</li>
</ul>
</li>
</ul>
<ul class="unIndentedList">
<li> Rapidly changing Dimensions
<ul>
<li> Large dimensions
<ul>
<li>Limit type 2&#8242;s</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Good example graphical slides of Type 1 versus Type 2</p>
<p>Getting There</p>
<ul type="disc">
<li>Understand      dimension hierarchies and drill-paths</li>
<li>Confirm      historically tracked attribute req&#8217;s.
<ul type="circle">
<li>Don&#8217;t       be afraid to push back a little</li>
</ul>
</li>
<li>Check      source system data integrity, cleanliness</li>
<li>Review      current reports</li>
</ul>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=500&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/04/sswug-vconf-dimension-table-design-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSWUG vConf &#8211; SQL 103 &#8211; DMV&#8217;s and T-SQL for the DBA</title>
		<link>http://blog.tech4him.com/2009/04/sswug-vconf-sql-103-dmvs-and-t-sql-for-the-dba/</link>
		<comments>http://blog.tech4him.com/2009/04/sswug-vconf-sql-103-dmvs-and-t-sql-for-the-dba/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 21:16:20 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[dba]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[sswug]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=485</guid>
		<description><![CDATA[Presenter: Jeremy Lull Jeremy@datarealized.com DMV &#8211; Dynamic Management Views (and functions) Returns server state information that can be used to monitor the health of a server instance, diagnose problems, and...]]></description>
			<content:encoded><![CDATA[<p><a rel="external nofollow" href="http://www.flickr.com/photos/52877734@N00/992988536"></a><a href="http://www.flickr.com/photos/52877734@N00/992988536" target="_blank"><img class="alignleft size-medium wp-image-486" style="border: 0pt none; margin: 15px;" title="992988536_7856b384e6" src="http://blog.tech4him.com/wp-content/uploads/992988536_7856b384e6-225x300.jpg" alt="992988536_7856b384e6" width="225" height="300" /></a>Presenter: Jeremy Lull<br />
<a href="mailto:Jeremy@datarealized.com">Jeremy@datarealized.com</a></p>
<p>DMV &#8211; Dynamic Management Views (and functions)</p>
<ul type="disc">
<li>Returns      server state information that can be used to monitor the health of a      server instance, diagnose problems, and tune performance.* MSFT &#8211; 2008 BOL<span id="more-485"></span></li>
</ul>
<p>DMV Categories (Not all are going to be in this session)</p>
<ul type="disc">
<li>Change      Data Capture</li>
<li>Query      Notifications</li>
<li>Common      Language Runtime</li>
<li>Replication</li>
<li>Database      Mirroring</li>
<li>Resource      Governor</li>
<li>Database      Related</li>
<li>Service      Broker</li>
<li>Execution</li>
<li>SQL      Server Extended Events</li>
<li>Full-Text      Search</li>
<li>SQL      Server Operating System</li>
<li>Index</li>
<li>Transaction</li>
<li>I/O</li>
<li>Security</li>
<li>Object</li>
</ul>
<p>DMV&#8217;s help with the ever growing infrastructure and complexities. Allow you to monitor and manage your environment.</p>
<p>Key DMV&#8217;s</p>
<ul type="disc">
<li>Sys.dm_os_sys_info
<ul type="circle">
<li>General       Server Info</li>
</ul>
</li>
<li>Sys.dm_exec_requests
<ul type="circle">
<li>Sp_who(2)</li>
</ul>
</li>
<li>Sys.dm_db_index_operational_stats
<ul type="circle">
<li>Sp_lock</li>
</ul>
</li>
<li>Sys.dm_db_index_usage_stats
<ul type="circle">
<li>Base       DMV for Index Analysis and Recommendations</li>
</ul>
</li>
<li>Msdb.dbo.backupset
<ul type="circle">
<li>Base       table for backup history</li>
</ul>
</li>
<li>Sys.dm_exec_cached_plans
<ul type="circle">
<li>Shows       query plans that are cached by SQL Server</li>
<li>For       query plans, this DMV maps to the syscacheobjects table in SQL Server       2000</li>
</ul>
</li>
<li>Sys.dm_exec_query_stats
<ul type="circle">
<li>Performance       statistics for cached query plans</li>
<li>Top       10</li>
</ul>
</li>
<li>Sys.dm_io_virtual_file_stats
<ul type="circle">
<li>I/O       stats for data and log files</li>
</ul>
</li>
<li>Sys.dm_os_memory_pools
<ul type="circle">
<li>Monitors       Cache memory</li>
</ul>
</li>
<li>Sys.dm_exec_sql_text
<ul type="circle">
<li>Returns       the text of the SQL batch that is identified by the specified sql_handle.</li>
<li>This       table-valued function replaces the system function fn_get_sql</li>
<li>Obtained       from:
<ul type="square">
<li>Sys.dm_exec_query_stats</li>
<li>Sys.dm_exec_requests</li>
<li>Sys.dm_exec_cursors</li>
<li>Sys.dm_exec_xml_handles</li>
<li>Sys.dm_exec_query_memory_grants</li>
<li>Sys.dm_exec_connections</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>&#8220;Use it early, use it often&#8221; &#8211; JeremyÂ  <img src='http://blog.tech4him.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Love it that every technical person presenting a demo has hit at least one minor glitch. Let&#8217;s me know it&#8217;s not just me. Ha!</p>
<p>Resources</p>
<ul type="disc">
<li><a href="http://www.sswug.org/">http://www.sswug.org</a></li>
<li>Local      User Group</li>
<li>Books      On Line
<ul type="circle">
<li>SQL       Server 2008 Performance Studio
<ul type="square">
<li><a href="https://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;EventID=1032349947&amp;CountryCode=US">https://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&amp;EventID=1032349947&amp;CountryCode=US</a></li>
<li><a href="http://www.microsoft.com/midsizebusiness/improve-operations.mspx">http://www.microsoft.com/midsizebusiness/business-goals/business-operations/</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=485&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/04/sswug-vconf-sql-103-dmvs-and-t-sql-for-the-dba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSWUG vConf &#8211; Best Practices SSAS 2005 and 2008</title>
		<link>http://blog.tech4him.com/2009/04/sswug-vconf-best-practices-ssas-2005-and-2008/</link>
		<comments>http://blog.tech4him.com/2009/04/sswug-vconf-best-practices-ssas-2005-and-2008/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 15:36:02 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[sswug]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=461</guid>
		<description><![CDATA[Presenter: Craig Utley, Mentor with Solid Quality Mentors craig@solidq.com http://learnmicrosoftbi.com General Design SSAS 2005 and 2008 are extremely different from SSAS 2000 Upgrading from 200 might work on small simple...]]></description>
			<content:encoded><![CDATA[<p><a rel="external nofollow" href="http://www.flickr.com/photos/13481290@N06/2896593890"><img class="alignleft" style="border: 0pt none; margin: 8px;" src="http://farm4.static.flickr.com/3068/2896593890_d0ae23fa3f_m.jpg" border="0" alt="OCGD Drawing exercise 1.jpg" hspace="8" width="240" height="148" align="left" /></a>Presenter: Craig Utley, Mentor with Solid Quality Mentors</p>
<p><a href="mailto:craig@solidq.com">craig@solidq.com<br />
</a><a href="http://learnmicrosoftbi.com/">http://learnmicrosoftbi.com</a></p>
<h4>General Design</h4>
<ul type="disc">
<li>SSAS      2005 and 2008 are extremely different from SSAS 2000</li>
<li>Upgrading      from 200 might work on small simple cubes. Not recommended</li>
<li>In      almost all cases, expect to redesign the AS db to take advantage of new      features</li>
<li>For      larger project, plan to have a hardware expert available who understands      SAN, load balancing, etc&#8230;<span id="more-461"></span></li>
</ul>
<h4>Design &#8211; Data Sources and Data source Views</h4>
<ul type="disc">
<li>DS      should us Windows Authentication when connecting to SQL server and then      impersonate a domain account created for this purpose
<ul type="circle">
<li>Account       should have the least privileges possible to get to the data</li>
</ul>
</li>
<li>For      SQL Server use the Microsoft OLE DB Provider for SQL Server or the SQL      Server Native Client instead of the .NET      Data provider</li>
<li>In the      Data Source View, create a new diagram for each fact table.
<ul type="circle">
<li>This       helps make each view look like its own star or snowflake schema</li>
</ul>
</li>
<li>For      simple calculations and concatenations, create new named calculations in      the DSV</li>
</ul>

<h4>Design &#8211; Dimensions</h4>
<ul type="disc">
<li>There      are a number of design issues related to dimensions, including
<ul type="circle">
<li>Attribute       relationships</li>
<li>Attribute       key columns and name column</li>
<li>Multilevel       hierarchies and attribute hierarchies</li>
<li>Other       areas</li>
</ul>
</li>
</ul>
<h4>Attribute Relationships</h4>
<ul type="disc">
<li>Attribute      relationships tell the Analysis Services engine how attributed are related      so that it can build aggregations and speed queries (First thing you need      to do)</li>
<li>Ensure      that attribute relationships are created and created correctly.
<ul type="circle">
<li>The       visual designer in BIDS 2008 makes this much easier</li>
</ul>
</li>
<li>Set      the RelationshipType to Rigid when possible.</li>
</ul>
<h4>Attribute KeyColumns and NameColumn</h4>
<ul type="disc">
<li>Ensure      that the KeyColumns is set to identify unique values
<ul type="circle">
<li>For       example, a month value of 1 is insufficient if the dimension contains       more than a single year</li>
</ul>
</li>
<li>Set      the NameColumn to a column that makes it clear what is being shown
<ul type="circle">
<li>For       example, instead of just a month value of 1, combine the month and year</li>
</ul>
</li>
</ul>
<h4>Other Dimension Design Issues</h4>
<ul type="disc">
<li>Hide      attribute hierarchies for attributes added to multilevel hierarchy</li>
<li>A      dimension should contain no more than one non-aggregatable attribute</li>
<li>Use      numeric key columns
<ul type="circle">
<li>Especially       important for dimensions with more than 500,000 members</li>
</ul>
</li>
<li>Parent-child      dimensions should not have more thank 500,000 members in the key      attribute.</li>
<li>Specify      a dimension as type Time when possible.
<ul type="circle">
<li>Needed       for some functions to work.</li>
</ul>
</li>
</ul>
<h4>Design &#8211; Measure Groups</h4>
<ul type="disc">
<li>Avoid      having multiple measure groups with the same granularity and      dimensionality</li>
<li>Set      IgnoreUnrelatedDimensions to False when possible to avoid repeating a      value for all unrelated members!
<ul type="circle">
<li>Big       pitfall for those new to Cubes.</li>
</ul>
</li>
<li>Don&#8217;t      create a many-to-many relationship if the dimensions or intermediate fact      table have more than one million members
<ul type="circle">
<li>Alternatives       exist, check out Erik Veerman&#8217;s blog at <a href="http://blogs.solidq.com/EN/Erik">http://blogs.solidq.com/EN/Erik</a></li>
</ul>
</li>
</ul>
<h4>Design &#8211; Aggregations</h4>
<ul type="disc">
<li>Rule      of thumb. Start with 20% using aggregation wizard.
<ul type="circle">
<li>Then       log queries during periods of normal activity and use the Usage Based       Optimization wizard (UBO) to define better aggregations.</li>
<li>2005       was a bit lacking, fixed in 2008</li>
</ul>
</li>
<li>Set      approximate counts if there is too much data to let the wizard count the      rows</li>
<li>When      creating custom aggregations, do not create aggregations below the measure      group&#8217;s granularity</li>
<li>Don&#8217;t      create overlapping aggregations</li>
</ul>
<p>Funny. He said &#8220;Agg&#8221;. Of course to me that means &#8220;Agriculture&#8221; not &#8220;Aggregations&#8221;. Ha!</p>
<p>So, wonder if they are going to give away some of those button down SSWUG.org shirts. Very nice!Â  <img src='http://blog.tech4him.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h4>Design &#8211; Partitions (Ugh)</h4>
<ul type="disc">
<li>Enterprise edition      only feature.</li>
<li>Create      partitions for larger data sets in order to speed up queries.</li>
<li>Partition      by common usage, such as time
<ul type="circle">
<li>Current       year, vs. historical</li>
</ul>
</li>
<li>Partitioning      by more than one criteria is acceptable, but ensure fact records do not      appear in more than one partition</li>
<li>Cubes      should have no more than 2,000 partitions with a max of 20,000,000 records      each (2000 only)</li>
<li>Partition      the relational warehouse fact table the same way as the cube.</li>
</ul>
<h4>Processing</h4>
<ul type="disc">
<li>Tweak      the number of parallel tasks on the production server to see if a      different value decreases processing time</li>
<li>Use      ProcessData and PRocessIndex instead of ProcessFull to get more consistent      processing pattern
<ul type="circle">
<li>3-5%       slower but recommended</li>
</ul>
</li>
<li>Use      ASCMD to manipulate and process objects, especially on very large databases</li>
<li>Use      the &lt;Parallel&gt;&lt;/Parallel&gt; block to process objects in parallel</li>
</ul>
<h4>Server Settings</h4>
<ul type="disc">
<li>If      running other apps or multiple instances of SSAS
<ul type="circle">
<li>Move       Memory/LowMemoryLimit below 75%</li>
<li>Move       Memory/TotalMemoryLimit below 80%</li>
</ul>
</li>
<li>Modify      CoordinatorExecutionMode to increase parallelism
<ul type="circle">
<li>Negative       numbers &#8230;&#8230;******************8</li>
</ul>
</li>
</ul>
<h4>Querying Tips</h4>
<ul type="disc">
<li>Learn      how to monitor queries in action
<ul type="circle">
<li>See       Identifying and Resolving MDX Query Performance Bottlenecks in SQL Server       2005 Analysis Services</li>
</ul>
</li>
<li>Make      sure to understand the ThreadPool/Query settings</li>
<li>See if      data is coming from a cache, an aggregation, or a subcube query</li>
<li>In high      usage scenarios it can be useful to adjust MemoryHeapType
<ul type="circle">
<li>Call       PSS for support</li>
</ul>
</li>
<li>Learn      how to scale up and scale out</li>
</ul>
<h4>MDX Tips</h4>
<ul type="disc">
<li>Set      Non-Empty behavior property on calculations when possible.
<ul type="circle">
<li>Be careful       can degrade performance</li>
</ul>
</li>
<li>Explicitly      reference cells when possible</li>
<li>Move      simple calculations from calculations to the DSV</li>
<li>Learn      how to use the Scope statement.
<ul type="circle">
<li>Makes       for easier to read queries where you typically would have lots of IIF.</li>
</ul>
</li>
</ul>
<h4>Summary</h4>
<ul type="disc">
<li>There      are many best practices that must be applied during the design phase.
<ul type="circle">
<li>Dimensions</li>
<li>Measure       Groups</li>
<li>Data       sources and such</li>
<li>Processing       can be tweaked through parallelism and memory adjustments</li>
<li>Querying       can be tuned through proper MDX, memory adjustments and partitioning</li>
</ul>
</li>
</ul>
<p>Thanks to <a href="http://www.twitter.com/swynk" target="_blank">@swynk</a> for the reminder that I can download the slides. So, my next posts should be just notes of things not on the slides. Whew! I can slow down.</p>
<p>Blessings.</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=461&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/04/sswug-vconf-best-practices-ssas-2005-and-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft PerformancePoint Game Changer</title>
		<link>http://blog.tech4him.com/2009/01/microsoft-performancepoint-game-changer/</link>
		<comments>http://blog.tech4him.com/2009/01/microsoft-performancepoint-game-changer/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 11:00:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[performancepoint]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=174</guid>
		<description><![CDATA[Game Changing Announcement for Microsoft BI Boy doesn&#8217;t this sound like other previous Microsoft endeavors. Hmmmm&#8230;. The post/video indicates the following end results. Supporting the democratization of BI (aka BI...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sqlmag.com/Articles/Index.cfm?ArticleID=101322&amp;DisplayTab=Article"><img class="alignright" style="border: 0pt none; margin-left: 8px; margin-right: 8px;" src="http://farm4.static.flickr.com/3201/2805465053_0257c25b2b_m.jpg" border="0" alt="Misery" hspace="8" width="240" height="180" align="left" />Game Changing Announcement for Microsoft BI</a></p>
<p>Boy doesn&#8217;t this sound like other previous Microsoft endeavors. Hmmmm&#8230;. The post/video indicates the following end results.</p>
<blockquote>
<ul>
<li> Supporting the democratization of BI (aka BI for the masses) with the consolidation of PerformancePoint Server Monitoring and Analytics functions into Office SharePoint Server Enterprise. The new capabilities will be called PerformancePoint Services.</li>
<li>As I read the announcement, PerformancePoint Planning has been put out of our misery. Service Pack 3 will represent the end of the line for investment in a stand-alone PPS Planning product.</li>
</ul>
</blockquote>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=174&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/01/microsoft-performancepoint-game-changer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

