<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.1" -->
<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/"
	>

<channel>
	<title>Blog</title>
	<link>http://blog.bennett-scharf.com</link>
	<description>Personal and technical musings</description>
	<pubDate>Wed, 16 May 2012 19:40:56 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>
	<language>en</language>
			<item>
		<title>Powershell file mover</title>
		<link>http://blog.bennett-scharf.com/2012/05/16/powershell-file-mover/</link>
		<comments>http://blog.bennett-scharf.com/2012/05/16/powershell-file-mover/#comments</comments>
		<pubDate>Wed, 16 May 2012 19:40:56 +0000</pubDate>
		<dc:creator>Bennett</dc:creator>
		
		<category><![CDATA[Powershell]]></category>

		<category><![CDATA[Windows OS]]></category>

		<guid isPermaLink="false">http://blog.bennett-scharf.com/2012/05/16/powershell-file-mover/</guid>
		<description><![CDATA[Pretty simple script I wrote a while back.  Moves files between two paths. For example, to sweep files from a DMZ server.  Optionally renames files on the target system by appending a date code. This is to avoid name collisions. Pay close attention to $FileAge, which sets a lower limit on the age [...]]]></description>
			<content:encoded><![CDATA[<p>Pretty simple script I wrote a while back.  Moves files between two paths. For example, to sweep files from a DMZ server.  Optionally renames files on the target system by appending a date code. This is to avoid name collisions. Pay close attention to $FileAge, which sets a lower limit on the age of files to copy and $RenameDelay, which sets an upper limit on the age of files to rename in the destination path.  Change the copy-item method to the move-item method before going to production.</p>
<p>set-StrictMode -version 2</p>
<p>$FileAge = 30 #age of files in minutes<br />
$RenameDelay = 5 #delay value for renaming files<br />
$Source = &#8220;\\server1\path1\&#8221; #source folder<br />
$Destination =&#8221;\\server2\path2\&#8221; #destination folder</p>
<p>$Past = (Get-Date).AddMinutes($FileAge * -1)<br />
$Past2 = (Get-Date).AddMinutes($RenameDelay * -1)</p>
<p>#first pass - move files form source to destination<br />
$List = dir $Source -recurse | Where {$_.LastWriteTime -lt $Past -and $_.name -notlike &#8220;someString*&#8221; -and $_.name -notlike &#8220;SomeOtherString*&#8221;}<br />
if ($list -ne $null){<br />
	write-host $list.count &#8220;items found to move&#8221;<br />
	foreach($file in $list){<br />
		#$file.Fullname<br />
		If ($file.PSIsContainer -eq $false) {<br />
			$MoveDirectory = (join-path -path $Destination -childpath $file.DirectoryName.SubString(14))<br />
			new-item -path $MoveDirectory -type directory -ErrorAction:SilentlyContinue #create destination folder if it doesn&#8217;t already exist<br />
		}<br />
		$MovePath = (join-path -path $Destination -childpath $file.FullName.SubString(15))<br />
		copy-item -Path $file.FullName -destination $MovePath -force #move file to destination folder<br />
	}<br />
}<br />
else {write-host &#8220;no matching items found to move&#8221;}</p>
<p>#second pass - rename files in destination<br />
$List = dir $destination -recurse | Where {$_.CreationTime -gt $Past2 -and $_.PSIsContainer -eq $false -and $_.name -notlike &#8220;SomeString*&#8221; -and $_.name -notlike &#8220;SomeOtherString*&#8221; }<br />
if ($list -ne $null){<br />
	write-host $list.count &#8220;items found to rename&#8221;<br />
	foreach($file in $list){<br />
		$file = ( rename-item -force –path $file.Fullname –Newname ( $file.basename + (get-date -format &#8216;_yyyy-MM-dd_hhmm&#8217;) + $file.extension))<br />
	}<br />
}<br />
else {write-host &#8220;no matching items found to rename&#8221;}</p>
<p>set-StrictMode -Off</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bennett-scharf.com/2012/05/16/powershell-file-mover/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Deduplicating files with LogParser and SQL Server</title>
		<link>http://blog.bennett-scharf.com/2011/04/14/deduplicating-files-with-logparser-and-sql-server/</link>
		<comments>http://blog.bennett-scharf.com/2011/04/14/deduplicating-files-with-logparser-and-sql-server/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 03:06:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Utilities]]></category>

		<category><![CDATA[T-SQL]]></category>

		<category><![CDATA[Windows OS]]></category>

		<guid isPermaLink="false">http://blog.bennett-scharf.com/2011/04/14/deduplicating-files-with-logparser-and-sql-server/</guid>
		<description><![CDATA[Perhaps this should be categorized as a stupid people trick.  On the other hand, it&#8217;s a good, cheap way to deduplicate files assuming you&#8217;re running SQL Server and LogParser.  This post assumes at least a basic knowledge of T-SQL and LogParser command line syntax.
Basically, you use LogParser to create a two-column table containing file paths [...]]]></description>
			<content:encoded><![CDATA[<p>Perhaps this should be categorized as a stupid people trick.  On the other hand, it&#8217;s a good, cheap way to deduplicate files assuming you&#8217;re running SQL Server and LogParser.  This post assumes at least a basic knowledge of T-SQL and LogParser command line syntax.</p>
<p>Basically, you use LogParser to create a two-column table containing file paths and MD5 hashes like this:</p>
<p><!--[if gte mso 9]><xml>  <w:WordDocument>   <w:View>Normal</w:View>   <w:Zoom>0</w:Zoom>   <w:TrackMoves/>   <w:TrackFormatting/>   <w:PunctuationKerning/>   <w:ValidateAgainstSchemas/>   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>   <w:DoNotPromoteQF/>   <w:LidThemeOther>EN-US</w:LidThemeOther>   <w:LidThemeAsian>X-NONE</w:LidThemeAsian>   <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>   <w:Compatibility>    <w:BreakWrappedTables/>    <w:SnapToGridInCell/>    <w:WrapTextWithPunct/>    <w:UseAsianBreakRules/>    <w:DontGrowAutofit/>    <w:SplitPgBreakAndParaMark/>    <w:DontVertAlignCellWithSp/>    <w:DontBreakConstrainedForcedTables/>    <w:DontVertAlignInTxbx/>    <w:Word11KerningPairs/>    <w:CachedColBalance/>   </w:Compatibility>   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>   <m:mathPr>    <m:mathFont m:val="Cambria Math"/>    <m:brkBin m:val="before"/>    <m:brkBinSub m:val="&#45;-"/>    <m:smallFrac m:val="off"/>    <m:dispDef/>    <m:lMargin m:val="0"/>    <m:rMargin m:val="0"/>    <m:defJc m:val="centerGroup"/>    <m:wrapIndent m:val="1440"/>    <m:intLim m:val="subSup"/>    <m:naryLim m:val="undOvr"/>   </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml>  <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267">   <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal"/>   <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>   <w:LsdException Locked="false" Priority="39" Name="toc 1"/>   <w:LsdException Locked="false" Priority="39" Name="toc 2"/>   <w:LsdException Locked="false" Priority="39" Name="toc 3"/>   <w:LsdException Locked="false" Priority="39" Name="toc 4"/>   <w:LsdException Locked="false" Priority="39" Name="toc 5"/>   <w:LsdException Locked="false" Priority="39" Name="toc 6"/>   <w:LsdException Locked="false" Priority="39" Name="toc 7"/>   <w:LsdException Locked="false" Priority="39" Name="toc 8"/>   <w:LsdException Locked="false" Priority="39" Name="toc 9"/>   <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>   <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title"/>   <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>   <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>   <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong"/>   <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>   <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>   <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>   <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>   <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote"/>   <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>   <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>   <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>   <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>   <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>   <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>   <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>   <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>  </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]><br />
<style>  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} </style>
<p> <![endif]--></p>
<p class="MsoNormal"><strong><span style="font-size: 10pt; line-height: 115%; font-family: 'Courier New'">LogParser</span></strong><span style="font-size: 10pt; line-height: 115%; font-family: 'Courier New'"> &#8220;SELECT path, HASHMD5_FILE(Path) AS MD5 INTO T_FILE_INFO FROM D:\some_path\*.*&#8221; -i:FS  -o:SQL  -database:files -driver:&#8221;SQL Server&#8221;  -createTable:ON</span></p>
<p>The -o parameter directs LogParser to write the output to a SQL Server database table.</p>
<p>The T-SQL  ranking function makes it very easy to find and pick out duplicate rows.  Instead of finding duplicate rows, I use it to generate statements to delete duplicate files.  The entire script looks something like this:</p>
<p><code style="font-size: 12px"><span style="color: black"><br />
</span><span style="color: blue">USE </span><span style="color: black">[TempDB]<br />
GO</p>
<p></span><span style="color: green">&#8211; Create LogParser command<br />
</span><span style="color: blue">DECLARE </span><span style="color: #434343">@LogParserCMD </span><span style="color: blue">VARCHAR</span><span style="color: gray">(</span><span style="color: black">8000</span><span style="color: gray">);<br />
</span><span style="color: blue">SET </span><span style="color: #434343">@LogParserCMD </span><span style="color: blue">= </span><span style="color: red">&#8216;LogParser  &#8220;SELECT PATH, HASHMD5_FILE(Path) AS MD5 INTO #T_FILE_INFO FROM  &#8221;E:\some_path\*.*&#8221;&#8221; -i:FS -recurse:1 -o:SQL  -database:files  -driver:&#8221;SQL Server&#8221;  -createTable:ON&#8217;</p>
<p></span><span style="color: green">&#8211; Create table to store file paths and MD5 hashes<br />
</span><span style="color: blue">IF  </span><span style="color: gray">EXISTS (</span><span style="color: blue">SELECT </span><span style="color: gray">* </span><span style="color: blue">FROM </span><span style="color: black">sys.objects </span><span style="color: blue">WHERE </span><span style="color: magenta">OBJECT_ID </span><span style="color: blue">= </span><span style="color: magenta">OBJECT_ID</span><span style="color: gray">(</span><span style="color: red">N&#8217;[dbo].[#T_FILE_INFO]&#8217;</span><span style="color: gray">) AND </span><span style="color: blue">TYPE IN </span><span style="color: gray">(</span><span style="color: red">N&#8217;U&#8217;</span><span style="color: gray">))<br />
</span><span style="color: blue">DROP TABLE </span><span style="color: black">[dbo].[#T_FILE_INFO]<br />
GO<br />
</span><span style="color: blue">CREATE TABLE </span><span style="color: black">[dbo].[#T_FILE_INFO]</span><span style="color: gray">(<br />
</span><span style="color: black">[PATH] [varchar]</span><span style="color: gray">(</span><span style="color: black">512</span><span style="color: gray">) NULL,<br />
</span><span style="color: black">[MD5] [varchar]</span><span style="color: gray">(</span><span style="color: black">255</span><span style="color: gray">) NULL<br />
) </span><span style="color: blue">ON </span><span style="color: black">[PRIMARY]<br />
GO<br />
</span><span style="color: green">&#8211; run LogParser to populate table.  Either run from CMD prompt or use XP_CMDSHELL</span></code></p>
<p><code style="font-size: 12px"><span style="color: green">&#8211; note: this step can be time consuming, since LogParser must generate an MD5 has for every file specified</span></code></p>
<p><code style="font-size: 12px"><span style="color: blue">EXEC </span><span style="color: darkred">xp_cmdshell </span><span style="color: #434343">@LogParserCMD</span><span style="color: gray">;</p>
<p></span><span style="color: green">&#8211;Get duplicate hashes; generate deletion commands<br />
</span><span style="color: blue">WITH </span><span style="color: black">tblCTE</span><span style="color: gray">(</span><span style="color: black">MD5</span><span style="color: gray">, </span><span style="color: black">PATH</span><span style="color: gray">, </span><span style="color: black">ranking</span><span style="color: gray">)</span><span style="color: blue">AS<br />
</span><span style="color: gray">(</span><span style="color: blue">SELECT </span><span style="color: black">MD5</span><span style="color: gray">, </span><span style="color: black">PATH</span><span style="color: gray">, </span><span style="color: black">Ranking </span><span style="color: blue">=<br />
</span><span style="color: black">DENSE_RANK</span><span style="color: gray">() </span><span style="color: blue">OVER</span><span style="color: gray">(</span><span style="color: black">PARTITION </span><span style="color: blue">BY </span><span style="color: black">MD5<br />
</span><span style="color: blue">ORDER BY </span><span style="color: magenta">NEWID</span><span style="color: gray">() </span><span style="color: blue">ASC</span><span style="color: gray">)</span><span style="color: blue">FROM </span><span style="color: #434343">#T_FILE_INFO</span><span style="color: gray">)</p>
<p></span><span style="color: blue">SELECT </span><span style="color: red">&#8216;DEL &#8220;&#8216; </span><span style="color: gray">+ </span><span style="color: black">PATH </span><span style="color: gray">+ </span><span style="color: red">&#8216;&#8221;&#8216;<br />
</span><span style="color: blue">FROM </span><span style="color: black">tblCTE<br />
</span><span style="color: blue">WHERE </span><span style="color: black">Ranking </span><span style="color: gray">&gt; </span><span style="color: black">1<br />
</span><span style="color: gray">AND </span><span style="color: black">MD5 </span><span style="color: blue">IS </span><span style="color: gray">NOT NULL;<br />
</span><span style="color: green">&#8211; Review the result set and run it from a command prompt<br />
</span><span style="color: gray"><br />
</span><span style="color: green">&#8211; clean up after yourself<br />
</span><span style="color: blue">DROP TABLE </span><span style="color: #434343">#T_FILE_INFO</span></code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bennett-scharf.com/2011/04/14/deduplicating-files-with-logparser-and-sql-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The final voyage of the USNS H. H. Hess</title>
		<link>http://blog.bennett-scharf.com/2011/02/25/the-final-voyage-of-the-usns-h-h-hess/</link>
		<comments>http://blog.bennett-scharf.com/2011/02/25/the-final-voyage-of-the-usns-h-h-hess/#comments</comments>
		<pubDate>Sat, 26 Feb 2011 00:48:38 +0000</pubDate>
		<dc:creator>Bennett</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blog.bennett-scharf.com/2011/02/25/the-final-voyage-of-the-usns-h-h-hess/</guid>
		<description><![CDATA[My first ship, the USNS H. H. Hess, is currently enroute to Brownsville, TX where it will be cut up into scrap metal and recycled.  The Hess was an oceanographic survey vessel that was operated by the Military Sealift Command from roughly 1978-1992.  The ship was originally built in 1965 as the SS Canada Mail,  [...]]]></description>
			<content:encoded><![CDATA[<p>My first ship, the USNS H. H. Hess, is currently enroute to Brownsville, TX where it will be cut up into scrap metal and recycled.  The Hess was an oceanographic survey vessel that was operated by the Military Sealift Command from roughly 1978-1992.  The ship was originally built in 1965 as the SS Canada Mail,  a C4 Mariner class cargo ship that was operated by American Mail Lines.  The ship was converted into it&#8217;s survey role in 1976.</p>
<p>In its time it was the worlds largest floating data center with all sorts of cool computers and electronic instrumentation.   It performed bathymetric, magnetic field, and gravity surveys in support of the Navy&#8217;s FBM program.  The crew consisted of roughly 40 civilian mariners, 10 oceanographers, two commissioned naval officers, 18 enlisted Navy technicians, and several of defense contractor represenatives.</p>
<p>The ship was big, comfortable and well-appointed.  There were three dining rooms, two libraries, a conference room that doubled as a movie theater, nice staterooms, a workout room, a crew&#8217;s lounge and a large basketball court.   My favorite parts of the ship were the electronics shop - I pretty much had it to myself and built my first Z80-based computer there - and the bow, which offered sun, fresh air, and quiet solitude - a great place to study and contemplate life.</p>
<p>The photo below is a webcam capture that shows the Hess entering the Gatun locks of the Panama Canal on 2/18/2011.</p>
<p><img src="http://blog.bennett-scharf.com/__oneclick_uploads/2011/02/hess-final-voyage-8.jpg" alt="hess-final-voyage-8.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bennett-scharf.com/2011/02/25/the-final-voyage-of-the-usns-h-h-hess/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Free SQL Server training videos</title>
		<link>http://blog.bennett-scharf.com/2011/02/16/incredible-free-training-videos/</link>
		<comments>http://blog.bennett-scharf.com/2011/02/16/incredible-free-training-videos/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 02:50:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Performance]]></category>

		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.bennett-scharf.com/2011/02/16/incredible-free-training-videos/</guid>
		<description><![CDATA[

The people over at SQLSkills.com have made their MCM training videos available online for free.  They&#8217;re pretty incredible.  Subject areas include database internals and performance, high availability and disaster recovery, performance tuning,  security and development support.  Link here:  http://www.sqlskills.com/T_MCMVideos.asp
&#160;
There are also a plethora of wonderful videos over at SQLBits.com.  One of my favorites is a [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml>  <w:WordDocument>   <w:View>Normal</w:View>   <w:Zoom>0</w:Zoom>   <w:TrackMoves/>   <w:TrackFormatting/>   <w:PunctuationKerning/>   <w:ValidateAgainstSchemas/>   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>   <w:DoNotPromoteQF/>   <w:LidThemeOther>EN-US</w:LidThemeOther>   <w:LidThemeAsian>X-NONE</w:LidThemeAsian>   <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>   <w:Compatibility>    <w:BreakWrappedTables/>    <w:SnapToGridInCell/>    <w:WrapTextWithPunct/>    <w:UseAsianBreakRules/>    <w:DontGrowAutofit/>    <w:SplitPgBreakAndParaMark/>    <w:DontVertAlignCellWithSp/>    <w:DontBreakConstrainedForcedTables/>    <w:DontVertAlignInTxbx/>    <w:Word11KerningPairs/>    <w:CachedColBalance/>   </w:Compatibility>   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>   <m:mathPr>    <m:mathFont m:val="Cambria Math"/>    <m:brkBin m:val="before"/>    <m:brkBinSub m:val="&#45;-"/>    <m:smallFrac m:val="off"/>    <m:dispDef/>    <m:lMargin m:val="0"/>    <m:rMargin m:val="0"/>    <m:defJc m:val="centerGroup"/>    <m:wrapIndent m:val="1440"/>    <m:intLim m:val="subSup"/>    <m:naryLim m:val="undOvr"/>   </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml>  <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267">   <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal"/>   <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>   <w:LsdException Locked="false" Priority="39" Name="toc 1"/>   <w:LsdException Locked="false" Priority="39" Name="toc 2"/>   <w:LsdException Locked="false" Priority="39" Name="toc 3"/>   <w:LsdException Locked="false" Priority="39" Name="toc 4"/>   <w:LsdException Locked="false" Priority="39" Name="toc 5"/>   <w:LsdException Locked="false" Priority="39" Name="toc 6"/>   <w:LsdException Locked="false" Priority="39" Name="toc 7"/>   <w:LsdException Locked="false" Priority="39" Name="toc 8"/>   <w:LsdException Locked="false" Priority="39" Name="toc 9"/>   <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>   <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title"/>   <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>   <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>   <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong"/>   <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>   <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>   <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>   <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>   <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote"/>   <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>   <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>   <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>   <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>   <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>   <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>   <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>   <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>  </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]></p>
<style>  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} </style>
<p> <![endif]--></p>
<p><!--[if gte mso 9]><xml>  <w:WordDocument>   <w:View>Normal</w:View>   <w:Zoom>0</w:Zoom>   <w:TrackMoves/>   <w:TrackFormatting/>   <w:PunctuationKerning/>   <w:ValidateAgainstSchemas/>   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>   <w:DoNotPromoteQF/>   <w:LidThemeOther>EN-US</w:LidThemeOther>   <w:LidThemeAsian>X-NONE</w:LidThemeAsian>   <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>   <w:Compatibility>    <w:BreakWrappedTables/>    <w:SnapToGridInCell/>    <w:WrapTextWithPunct/>    <w:UseAsianBreakRules/>    <w:DontGrowAutofit/>    <w:SplitPgBreakAndParaMark/>    <w:DontVertAlignCellWithSp/>    <w:DontBreakConstrainedForcedTables/>    <w:DontVertAlignInTxbx/>    <w:Word11KerningPairs/>    <w:CachedColBalance/>   </w:Compatibility>   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>   <m:mathPr>    <m:mathFont m:val="Cambria Math"/>    <m:brkBin m:val="before"/>    <m:brkBinSub m:val="&#45;-"/>    <m:smallFrac m:val="off"/>    <m:dispDef/>    <m:lMargin m:val="0"/>    <m:rMargin m:val="0"/>    <m:defJc m:val="centerGroup"/>    <m:wrapIndent m:val="1440"/>    <m:intLim m:val="subSup"/>    <m:naryLim m:val="undOvr"/>   </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml>  <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267">   <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal"/>   <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>   <w:LsdException Locked="false" Priority="39" Name="toc 1"/>   <w:LsdException Locked="false" Priority="39" Name="toc 2"/>   <w:LsdException Locked="false" Priority="39" Name="toc 3"/>   <w:LsdException Locked="false" Priority="39" Name="toc 4"/>   <w:LsdException Locked="false" Priority="39" Name="toc 5"/>   <w:LsdException Locked="false" Priority="39" Name="toc 6"/>   <w:LsdException Locked="false" Priority="39" Name="toc 7"/>   <w:LsdException Locked="false" Priority="39" Name="toc 8"/>   <w:LsdException Locked="false" Priority="39" Name="toc 9"/>   <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>   <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title"/>   <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>   <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>   <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong"/>   <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>   <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>   <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>   <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>   <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote"/>   <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>   <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>   <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>   <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>   <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>   <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>   <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>   <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>  </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]></p>
<style>  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} </style>
<p> <![endif]--></p>
<p class="MsoNormal">The people over at SQLSkills.com have made their MCM training videos available online for free.  They&#8217;re pretty incredible.  Subject areas include database internals and performance, high availability and disaster recovery, performance tuning,  security and development support.  Link here:  <a href="http://www.sqlskills.com/T_MCMVideos.asp">http://www.sqlskills.com/T_MCMVideos.asp</a></p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">There are also a plethora of wonderful videos over at SQLBits.com.  One of my favorites is a talk by Thomas Kejser on <a href="http://sqlbits.com/Sessions/Event5/Designing_I_O_systems_for_SQL_Server">designing I/O systems for SQL Server</a>.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal"><a href="http://www.sqlworkshops.com/">SQLWorkshops.com</a> has a collection of wonderful videos on advanced query tuning. <span>  </span>The instructor provides live demos with<span>  </span>runtime statistics to fully demonstrate his tuning techniques.<span>  </span>Free and very worthwhile.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bennett-scharf.com/2011/02/16/incredible-free-training-videos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Alert for long-running SQL datbase backups</title>
		<link>http://blog.bennett-scharf.com/2010/08/23/alert-for-long-running-sql-datbase-backups/</link>
		<comments>http://blog.bennett-scharf.com/2010/08/23/alert-for-long-running-sql-datbase-backups/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 18:51:18 +0000</pubDate>
		<dc:creator>Bennett</dc:creator>
		
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.bennett-scharf.com/2010/08/23/alert-for-long-running-sql-datbase-backups/</guid>
		<description><![CDATA[One of my daily tasks is to do a quick check of each SQL Server instance using Activity Monitor, sp_who2, or a DMV-based script.  Sometimes I get busy and forget to do this task.  Today I broke down and wrote a simple script that is executed by a SQL Agent job.  It runs at 8:00 [...]]]></description>
			<content:encoded><![CDATA[<p>One of my daily tasks is to do a quick check of each SQL Server instance using Activity Monitor, sp_who2, or a DMV-based script.  Sometimes I get busy and forget to do this task.  Today I broke down and wrote a simple script that is executed by a SQL Agent job.  It runs at 8:00 AM, and just goes out to all the instances and checks to see if any backups are still running &#8212; if any are still running, an e-mail alert is raised.</p>
<p>The essence of the script follows.  You would might want to modify it to iterate through a list of instances.</p>
<p><code style="font-size: 12px"><span style="color: blue">IF </span><span style="color: gray">EXISTS<br />
(</span><span style="color: blue">SELECT </span><span style="color: gray">* </span><span style="color: blue">FROM </span><span style="color: black">instance.</span><span style="color: blue">MASTER</span><span style="color: black">.sys.sysprocesses<br />
</span><span style="color: blue">WHERE </span><span style="color: black">cmd </span><span style="color: blue">= </span><span style="color: red">&#8216;backup database&#8217;<br />
</span><span style="color: gray">AND </span><span style="color: black">program_name </span><span style="color: blue">= </span><span style="color: red">&#8216;SQL Management&#8217;</span><span style="color: gray">)<br />
</span><span style="color: blue">BEGIN<br />
EXEC </span><span style="color: black">msdb.dbo.</span><span style="color: darkred">sp_send_dbmail<br />
</span><span style="color: #434343">@profile_name </span><span style="color: blue">= </span><span style="color: red">&#8216;Master&#8217;</span><span style="color: gray">,<br />
</span><span style="color: #434343">@recipients </span><span style="color: blue">= </span><span style="color: red">&#8216;mailbox@domain.com&#8217;</span><span style="color: gray">,<br />
</span><span style="color: #434343">@body </span><span style="color: blue">= </span><span style="color: red">&#8216;Backup job is still running on instance&#8217;</span><span style="color: gray">,<br />
</span><span style="color: #434343">@subject </span><span style="color: blue">= </span><span style="color: red">&#8216;Backup job is still running on instace&#8217;</span><span style="color: gray">,<br />
</span><span style="color: #434343">@importance </span><span style="color: blue">=  </span><span style="color: red">&#8216;high&#8217;</span><span style="color: gray">;<br />
</span><span style="color: blue">END<br />
</span></code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bennett-scharf.com/2010/08/23/alert-for-long-running-sql-datbase-backups/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Learning SMO &#038; Powershell</title>
		<link>http://blog.bennett-scharf.com/2010/04/07/learning-smo-powershell/</link>
		<comments>http://blog.bennett-scharf.com/2010/04/07/learning-smo-powershell/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 17:34:01 +0000</pubDate>
		<dc:creator>Bennett</dc:creator>
		
		<category><![CDATA[Powershell]]></category>

		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.bennett-scharf.com/2010/04/07/learning-smo-powershell/</guid>
		<description><![CDATA[I created a small script to collect SQL Server file utilization data into a repository.  I&#8217;m collecting the space used by the files as well as the space used internally by SQL Server.  I&#8217;m doing this across all production databases and servers, so the T-SQL fileproperty function was not all that useful since it only [...]]]></description>
			<content:encoded><![CDATA[<p>I created a small script to collect SQL Server file utilization data into a repository.  I&#8217;m collecting the space used by the files as well as the space used internally by SQL Server.  I&#8217;m doing this across all production databases and servers, so the T-SQL fileproperty function was not all that useful since it only works against the current database.  The solution was to use SMO in a PowerShell script to collect the data since it&#8217;s very easy to iterate across multiple servers and databases.  I&#8217;ll write up the solution at a later date, but for now I wanted to mention a minor fact that I learned today.</p>
<p>The SMO Database class has a Status property which returns at least two values, &#8220;Normal&#8221; and &#8220;Offline&#8221;.  You can use it to avoid trying to get info for offline databases.  For example:</p>
<blockquote><p>if ( $db.status -eq &#8220;Normal&#8221;) { #exclude offline databases<br />
#do something</p></blockquote>
<blockquote><p>}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.bennett-scharf.com/2010/04/07/learning-smo-powershell/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SQL Generators for moving database files</title>
		<link>http://blog.bennett-scharf.com/2010/02/25/sql-generators-for-moving-database-files/</link>
		<comments>http://blog.bennett-scharf.com/2010/02/25/sql-generators-for-moving-database-files/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 16:19:22 +0000</pubDate>
		<dc:creator>Bennett</dc:creator>
		
		<category><![CDATA[T-SQL]]></category>

		<guid isPermaLink="false">http://blog.bennett-scharf.com/2010/02/25/sql-generators-for-moving-database-files/</guid>
		<description><![CDATA[Here are several trivial scripts for updating the system catalog, moving files via robocopy, and adjusting filegrowth values.  I hope someone finds them useful.
&#8211;  generate system catalog changes
&#8211;  *** note: need to manually edit destination path volume letter in output ***
SELECT &#8216;ALTER DATABASE &#8216; + DB_NAME() + &#8216; SET OFFLINE&#8217;
SELECT &#8216;ALTER DATABASE [...]]]></description>
			<content:encoded><![CDATA[<p>Here are several trivial scripts for updating the system catalog, moving files via robocopy, and adjusting filegrowth values.  I hope someone finds them useful.</p>
<p><code style="font-size: 12px"><span style="color: green">&#8211;  generate system catalog changes<br />
&#8211;  *** note: need to manually edit destination path volume letter in output ***<br />
</span><span style="color: blue">SELECT </span><span style="color: red">&#8216;ALTER DATABASE &#8216; </span><span style="color: gray">+ </span><span style="color: magenta">DB_NAME</span><span style="color: gray">() + </span><span style="color: red">&#8216; SET OFFLINE&#8217;</span></code></p>
<p><span style="color: blue">SELECT </span><span style="color: red">&#8216;ALTER DATABASE &#8216; </span><span style="color: gray">+ </span><span style="color: magenta">DB_NAME</span><span style="color: gray">() + </span><span style="color: red">&#8216; MODIFY FILE<br />
(<br />
NAME = &#8216; </span><span style="color: gray">+ </span><span style="color: black">NAME </span><span style="color: gray">+ </span><span style="color: red">&#8216;,<br />
FILENAME = N&#8221;&#8217;</span><span style="color: gray">+ </span><span style="color: black">filename </span><span style="color: gray">+ </span><span style="color: red">&#8221;&#8217;<br />
);&#8217;<br />
</span><span style="color: blue">FROM </span><span style="color: black">dbo.sysfiles<br />
</span><span style="color: green">&#8211; where filename like &#8216;i:\%&#8217;<br />
&#8211; order by size desc</span></p>
<p><span style="color: blue">SELECT </span><span style="color: red">&#8216;ALTER DATABASE &#8216; </span><span style="color: gray">+ </span><span style="color: magenta">DB_NAME</span><span style="color: gray">() + </span><span style="color: red">&#8216; SET ONLINE&#8217;</span></p>
<p><span style="color: green">&#8211; generate robocopy statements to be executed under command prompt<br />
&#8211;  *** note: need to manually edit destination path volume letter in output ***<br />
</span><span style="color: blue">SELECT </span><span style="color: red">&#8216;RoboCopy  &#8216; </span><span style="color: gray">+<br />
</span><span style="color: magenta">LEFT</span><span style="color: gray">(</span><span style="color: black">filename</span><span style="color: gray">,(</span><span style="color: magenta">LEN</span><span style="color: gray">(</span><span style="color: black">filename</span><span style="color: gray">) - </span><span style="color: blue">CHARINDEX</span><span style="color: gray">(</span><span style="color: red">&#8216;\&#8217;</span><span style="color: gray">, </span><span style="color: magenta">REVERSE</span><span style="color: gray">(</span><span style="color: black">filename</span><span style="color: gray">)))+</span><span style="color: black">1</span><span style="color: gray">) + </span><span style="color: red">&#8216;  &#8216; </span><span style="color: gray">+<br />
</span><span style="color: magenta">LEFT</span><span style="color: gray">(</span><span style="color: black">filename</span><span style="color: gray">,(</span><span style="color: magenta">LEN</span><span style="color: gray">(</span><span style="color: black">filename</span><span style="color: gray">) - </span><span style="color: blue">CHARINDEX</span><span style="color: gray">(</span><span style="color: red">&#8216;\&#8217;</span><span style="color: gray">, </span><span style="color: magenta">REVERSE</span><span style="color: gray">(</span><span style="color: black">filename</span><span style="color: gray">)))+</span><span style="color: black">1</span><span style="color: gray">) + </span><span style="color: red">&#8216;  &#8216; </span><span style="color: gray">+<br />
</span><span style="color: magenta">RIGHT</span><span style="color: gray">(</span><span style="color: black">filename</span><span style="color: gray">,(</span><span style="color: blue">CHARINDEX</span><span style="color: gray">(</span><span style="color: red">&#8216;\&#8217;</span><span style="color: gray">, </span><span style="color: magenta">REVERSE</span><span style="color: gray">(</span><span style="color: black">filename</span><span style="color: gray">)))-</span><span style="color: black">1</span><span style="color: gray">)<br />
</span><span style="color: blue">FROM </span><span style="color: black">dbo.sysfiles</span></p>
<p><span style="color: green">&#8211; modify filegrowth<br />
</span><span style="color: blue">SELECT </span><span style="color: red">&#8216;ALTER DATABASE &#8216; </span><span style="color: gray">+ </span><span style="color: magenta">DB_NAME</span><span style="color: gray">() + </span><span style="color: red">&#8216; MODIFY FILE<br />
(<br />
NAME = &#8216; </span><span style="color: gray">+ </span><span style="color: black">NAME </span><span style="color: gray">+ </span><span style="color: red">&#8216;,<br />
Filegrowth = 128MB<br />
);&#8217;<br />
</span><span style="color: blue">FROM </span><span style="color: black">dbo.sysfiles</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bennett-scharf.com/2010/02/25/sql-generators-for-moving-database-files/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Index to Filegroup mapping</title>
		<link>http://blog.bennett-scharf.com/2010/01/28/index-to-filegroup-mapping/</link>
		<comments>http://blog.bennett-scharf.com/2010/01/28/index-to-filegroup-mapping/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 21:00:34 +0000</pubDate>
		<dc:creator>Bennett</dc:creator>
		
		<category><![CDATA[T-SQL]]></category>

		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.bennett-scharf.com/2010/01/28/index-to-filegroup-mapping/</guid>
		<description><![CDATA[Here is a trivial script to show where a particular index resides.  It saves clicking around the SSMS GUI.

SELECT i.name, i.type_desc, i. is_primary_key, i.is_unique, s.name AS [Filegroup]
FROM sys.indexes i
INNER JOIN sys.data_spaces s
ON i.data_space_id  = s.data_space_id
WHERE i.name IS NOT NULL
AND i.name NOT IN (&#8216;clust&#8217;, &#8216;clst&#8217;, &#8216;nc1&#8242;, &#8216;nc2&#8242;, &#8216;nc3&#8242;, &#8216;nc&#8217;, &#8216;cl&#8217;)
ORDER BY s.data_space_id, i.name
]]></description>
			<content:encoded><![CDATA[<p>Here is a trivial script to show where a particular index resides.  It saves clicking around the SSMS GUI.</p>
<p><code style="font-size: 12px"><span style="color: black"><br />
</span><span style="color: blue">SELECT </span><span style="color: black">i.name</span><span style="color: gray">, </span><span style="color: black">i.type_desc</span><span style="color: gray">, </span><span style="color: black">i. is_primary_key</span><span style="color: gray">, </span><span style="color: black">i.is_unique</span><span style="color: gray">, </span><span style="color: black">s.name </span><span style="color: blue">AS </span><span style="color: black">[Filegroup]<br />
</span><span style="color: blue">FROM </span><span style="color: black">sys.indexes i<br />
</span><span style="color: blue">INNER JOIN </span><span style="color: black">sys.data_spaces s<br />
</span><span style="color: blue">ON </span><span style="color: black">i.data_space_id  </span><span style="color: blue">= </span><span style="color: black">s.data_space_id<br />
</span><span style="color: blue">WHERE </span><span style="color: black">i.name </span><span style="color: blue">IS </span><span style="color: gray">NOT NULL<br />
AND </span><span style="color: black">i.name </span><span style="color: gray">NOT </span><span style="color: blue">IN </span><span style="color: gray">(</span><span style="color: red">&#8216;clust&#8217;</span><span style="color: gray">, </span><span style="color: red">&#8216;clst&#8217;</span><span style="color: gray">, </span><span style="color: red">&#8216;nc1&#8242;</span><span style="color: gray">, </span><span style="color: red">&#8216;nc2&#8242;</span><span style="color: gray">, </span><span style="color: red">&#8216;nc3&#8242;</span><span style="color: gray">, </span><span style="color: red">&#8216;nc&#8217;</span><span style="color: gray">, </span><span style="color: red">&#8216;cl&#8217;</span><span style="color: gray">)<br />
</span><span style="color: blue">ORDER BY </span><span style="color: black">s.data_space_id</span><span style="color: gray">, </span><span style="color: black">i.name</span></code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bennett-scharf.com/2010/01/28/index-to-filegroup-mapping/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PowerShell Script to Clean Up Old Files Based on Age</title>
		<link>http://blog.bennett-scharf.com/2010/01/20/powershell-script-to-clean-up-old-files-based-on-age/</link>
		<comments>http://blog.bennett-scharf.com/2010/01/20/powershell-script-to-clean-up-old-files-based-on-age/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 19:58:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Utilities]]></category>

		<category><![CDATA[Windows OS]]></category>

		<guid isPermaLink="false">http://blog.bennett-scharf.com/2010/01/20/powershell-script-to-clean-up-old-files-based-on-age/</guid>
		<description><![CDATA[Here&#8217;s an extremely concise PowerShell script to remove old files.  You could use it to enforce a policy that keeps 90 days of ETL input files on a server.  Files older than that would purged with this script.  The script would be invoked by a SQLAgent CMDExec task or a Windows Task Scheduler job.


  [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an extremely concise PowerShell script to remove old files.  You could use it to enforce a policy that keeps 90 days of ETL input files on a server.  Files older than that would purged with this script.  The script would be invoked by a SQLAgent CMDExec task or a Windows Task Scheduler job.</p>
<p><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="ProgId" content="Word.Document" /><meta name="Generator" content="Microsoft Word 11" /><meta name="Originator" content="Microsoft Word 11" /></p>
<link href="file:///C:%5CDOCUME%7E1%5Cbscharf%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" rel="File-List" /><!--[if gte mso 9]><xml>  <w:WordDocument>   <w:View>Normal</w:View>   <w:Zoom>0</w:Zoom>   <w:PunctuationKerning/>   <w:ValidateAgainstSchemas/>   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>   <w:Compatibility>    <w:BreakWrappedTables/>    <w:SnapToGridInCell/>    <w:WrapTextWithPunct/>    <w:UseAsianBreakRules/>    <w:DontGrowAutofit/>   </w:Compatibility>   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>  </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml>  <w:LatentStyles DefLockedState="false" LatentStyleCount="156">  </w:LatentStyles> </xml><![endif]--><br />
<style> <!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --> </style>
<p><!--[if gte mso 10]><br />
<style>  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} </style>
<p> <![endif]--></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'">#Powershell Script to delete files older than a certain age<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'">$intFileAge = 90<span>  </span>#age of files in days<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'">$strFilePath = &#8220;c:\archive&#8221; #path to clean up<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'">#create filter to exclude folders and files newer than specified age<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'">Filter Select-FileAge<span>  </span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><span>      </span>{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><span>      </span>param($days)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><span>      </span>If ($_.PSisContainer) {}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><span>            </span><span>  </span># Exclude folders from result set<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><span>      </span>ElseIf ($_.LastWriteTime -lt (Get-Date).AddDays($days * -1)) <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><span>            </span>{$_}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><span>      </span>}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: 'Courier New'"><span>      </span>get-Childitem -recurse $strFilePath | Select-FileAge $intFileAge &#8216;CreationTime&#8217; | remove-item<span>  </span><o:p></o:p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bennett-scharf.com/2010/01/20/powershell-script-to-clean-up-old-files-based-on-age/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quick &#038; Dirty way to identify orphan files</title>
		<link>http://blog.bennett-scharf.com/2010/01/07/quick-dirty-way-to-identify-orphan-files/</link>
		<comments>http://blog.bennett-scharf.com/2010/01/07/quick-dirty-way-to-identify-orphan-files/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 18:37:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.bennett-scharf.com/2010/01/07/quick-dirty-way-to-identify-orphan-files/</guid>
		<description><![CDATA[Here is a quick and dirty script to identify orphan database files - that is, files that are no longer in the system catalog.  It uses several undocumented stored procedures and is not particularly clean SQL, but it works.
To do: come up with a version that uses LogParser to do the same thing.
DECLARE @SQL [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a quick and dirty script to identify orphan database files - that is, files that are no longer in the system catalog.  It uses several undocumented stored procedures and is not particularly clean SQL, but it works.</p>
<p>To do: come up with a version that uses LogParser to do the same thing.</p>
<p><font size="2"><font face="Courier New"><span style="color: blue">DECLARE </span><span style="color: #434343">@SQL </span><span style="color: blue">VARCHAR</span><span style="color: gray">(</span><span style="color: blue">MAX</span></font></font><font size="2"><font face="Courier New"><span style="color: gray">)<br />
</span><span style="color: blue">CREATE TABLE </span><span style="color: #434343">#temp</span><span style="color: black">1 </span><span style="color: gray">(</span><span style="color: black">DRIVE </span><span style="color: blue">CHAR</span><span style="color: gray">(</span><span style="color: black">1</span><span style="color: gray">), </span><span style="color: black">MB_FREE </span><span style="color: blue">INT</span></font></font><font size="2"><font face="Courier New"><span style="color: gray">)<br />
</span><span style="color: blue">INSERT INTO </span><span style="color: #434343">#temp</span><span style="color: black">1 </span><span style="color: gray">(</span><span style="color: black">DRIVE</span><span style="color: gray">, </span><span style="color: black">MB_FREE</span></font></font><font size="2"><font face="Courier New"><span style="color: gray">)<br />
</span><span style="color: blue">EXEC </span></font></font><font size="2"><font face="Courier New"><span style="color: darkred">xp_fixeddrives<br />
</span><span style="color: blue">CREATE TABLE </span><span style="color: #434343">#TEMP</span><span style="color: black">2</span><span style="color: gray">(</span><span style="color: black">SUBDIRECTORY </span><span style="color: blue">VARCHAR</span><span style="color: gray">(</span><span style="color: black">256</span><span style="color: gray">),<br />
</span><span style="color: black">DEPTH </span><span style="color: blue">INT</span><span style="color: gray">, </span><span style="color: black">[FILE] </span><span style="color: blue">INT</span><span style="color: gray">, </span><span style="color: black">FULL_PATH </span><span style="color: blue">VARCHAR</span><span style="color: gray">(</span><span style="color: black">256</span><span style="color: gray">), </span><span style="color: black">COMMAND </span><span style="color: blue">VARCHAR</span><span style="color: gray">(</span><span style="color: black">512</span></font></font><font size="2"><font face="Courier New"><span style="color: gray">))<br />
</span><span style="color: blue">SELECT </span><span style="color: #434343">@SQL</span><span style="color: blue">=</span><span style="color: magenta">COALESCE</span><span style="color: gray">(</span><span style="color: #434343">@SQL</span><span style="color: gray">,</span><span style="color: red">&#8221;</span><span style="color: gray">)+ </span><span style="color: red">&#8216;INSERT INTO #TEMP2 (SUBDIRECTORY, DEPTH, [FILE]) EXEC Master.dbo.xp_DirTree &#8220;&#8216; </span><span style="color: gray">+ </span><span style="color: black">DRIVE </span></font></font><font size="2"><font face="Courier New"><span style="color: gray">+<br />
</span><span style="color: red">&#8216;:\MSSQL\DATA&#8221;, 1, 1; UPDATE #TEMP2 SET FULL_PATH = &#8221;&#8217; </span><span style="color: gray">+ </span><span style="color: black">DRIVE </span><span style="color: gray">+ </span></font></font><font size="2"><font face="Courier New"><span style="color: red">&#8221;&#8217; + &#8221;:\MSSQL\DATA\&#8221; + SUBDIRECTORY WHERE FULL_PATH IS NULL; &#8216;<br />
</span><span style="color: blue">FROM </span><span style="color: #434343">#temp</span></font></font><font size="2"><font face="Courier New"><span style="color: black">1<br />
</span><span style="color: blue">PRINT </span></font></font><font size="2"><font face="Courier New"><span style="color: #434343">@SQL<br />
</span><span style="color: blue">EXEC </span><span style="color: gray">(</span><span style="color: #434343">@SQL</span></font></font><span style="color: gray"><font face="Courier New" size="2">)<br />
</font></span><font size="2"><font face="Courier New"><span style="color: blue">DELETE<br />
FROM </span><span style="color: #434343">#TEMP</span></font></font><font size="2"><font face="Courier New"><span style="color: black">2<br />
</span><span style="color: blue">WHERE </span><span style="color: black">[FILE] </span><span style="color: blue">= </span></font></font><font size="2"><font face="Courier New"><span style="color: black">0<br />
</span><span style="color: gray">OR </span><span style="color: black">SUBDIRECTORY </span><span style="color: gray">LIKE </span></font></font><font size="2"><font face="Courier New"><span style="color: red">&#8216;%CER&#8217;<br />
</span><span style="color: gray">OR </span><span style="color: black">SUBDIRECTORY </span><span style="color: gray">LIKE </span></font></font><font size="2"><font face="Courier New"><span style="color: red">&#8216;MSSQLSYSTEMRESOURCE%&#8217;<br />
</span><span style="color: gray">OR </span><span style="color: black">SUBDIRECTORY </span><span style="color: gray">LIKE </span></font></font><font size="2"><font face="Courier New"><span style="color: red">&#8216;distmdl%&#8217;<br />
</span><span style="color: gray">OR </span><span style="color: black">FULL_PATH </span></font></font><span style="color: blue"><font face="Courier New" size="2">IN<br />
</font></span><font size="2"><font face="Courier New"><span style="color: gray">(<br />
</span><span style="color: blue">SELECT </span></font></font><font size="2"><font face="Courier New"><span style="color: black">PHYSICAL_NAME<br />
</span><span style="color: blue">FROM </span></font></font><span style="color: black"><font face="Courier New" size="2">SYS.MASTER_FILES<br />
</font></span><font size="2"><font face="Courier New"><span style="color: gray">)<br />
</span><span style="color: blue">SELECT </span><span style="color: black">FULL_PATH</span><span style="color: gray">, </span><span style="color: red">&#8216;DEL &#8216; </span><span style="color: gray">+ </span><span style="color: black">FULL_PATH </span><span style="color: blue">AS </span></font></font><font size="2"><font face="Courier New"><span style="color: black">COMMAND<br />
</span><span style="color: blue">FROM </span><span style="color: #434343">#TEMP</span></font></font><font size="2"><font face="Courier New"><span style="color: black">2<br />
</span><span style="color: blue">DROP TABLE </span><span style="color: #434343">#temp</span></font></font><font size="2"><font face="Courier New"><span style="color: black">1<br />
</span><span style="color: blue">DROP TABLE </span><span style="color: #434343">#TEMP</span><span style="color: black">2 </span></font></font></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bennett-scharf.com/2010/01/07/quick-dirty-way-to-identify-orphan-files/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

