<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>183</title><link>http://blogs.msdn.com/brettsh/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Is solid state up to an ESE challenge?</title><link>http://blogs.msdn.com/brettsh/archive/2007/03/05/solid_5F00_state_5F00_ESE_5F00_test0.aspx</link><pubDate>Mon, 05 Mar 2007 19:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1810556</guid><dc:creator>BrettSh</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/brettsh/comments/1810556.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brettsh/commentrss.aspx?PostID=1810556</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.technet.com/efleis/" mce_href="http://blogs.technet.com/efleis/"&gt;~Eric&lt;/a&gt;
and I were at Fry's the other day, when we stopped by flash
drives ... we were debating how long until we see ESE (well Exchange
specifically, though I'm more concered about laptops) on such
drives.&amp;nbsp; With the advent of larger and large capacity SSDs, and
even commercial level drives like &lt;a href="http://www.tgdaily.com/2007/02/26/adtron_flash/" title="Some current SSD drives and near future offerings ..." mce_href="http://www.tgdaily.com/2007/02/26/adtron_flash/"&gt;these&lt;/a&gt;, becoming ever more &lt;a href="http://www.tgdaily.com/2006/10/17/samsung_ssd/" title="32 GB Samsung drive gets WHQL certification" mce_href="http://www.tgdaily.com/2006/10/17/samsung_ssd/"&gt;imminent&lt;/a&gt;,
such a possibility looms nearer and nearer.&amp;nbsp; And with a few ESE
consumers on the client O.S. I expect we will be seeing our databases
on SSDs on laptops within the year (maybe two).&lt;/p&gt;&lt;p&gt;We were discussing the various rumors about how fast they are at read vs. write, how low latency are the reads/writes, +how
reliable+ (if you remember there was always this issue with earlier
drives, SSD can only be written to so many times), how good at
random IO, and other properties that would make them useful as Exchange
storage, or at least whether they will be causing us problems on
laptops.&amp;nbsp; So curious was I, that of my own accord (and with my own
money I'll note) I went ahead and
bought about $100 worth of flash drives for running through our little JET engine, see if they survive ... &lt;br&gt;
&lt;/p&gt;


&lt;p&gt;Here is a list of the drives I acquired (except the &lt;font face="Verdana"&gt;last one, being a control of sorts that I already owned):&lt;/font&gt;&lt;br&gt;


 
&lt;/p&gt;



&lt;table x:str="" style="border-collapse: collapse; width: 730px; height: 132px;" border="0" cellpadding="0" cellspacing="0"&gt;

&lt;col style="width: 70pt;" width="106"&gt;
 &lt;col style="width: 96pt;" width="121"&gt;
 &lt;col style="width: 53pt;" width="70"&gt;
 &lt;col style="width: 48pt;" width="64"&gt;
 &lt;col style="width: 63pt;" width="84"&gt;
 &lt;col span="4" style="width: 48pt;" width="64"&gt;
 &lt;tbody&gt;
&lt;tr style="height: 12.75pt;" height="17"&gt;
  
&lt;td style="height: 12.75pt; width: 140pt;" height="17" width="186"&gt;Manufacturer&lt;br&gt;
&lt;/td&gt;



  
&lt;td style="width: 106pt;" width="141"&gt;&lt;font color="#0000ff"&gt;Model&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td style="width: 53pt;" width="70"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cap (GB)&lt;br&gt;
      &lt;br&gt;
&lt;/td&gt;



  
&lt;td style="width: 48pt;" width="64"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cost[1]&lt;br&gt;
&lt;/td&gt;



  
&lt;td style="width: 63pt;" width="84"&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Warranty&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td style="width: 48pt;" width="64"&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MBs/$
&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  









&lt;/tr&gt;


&lt;tr style="height: 12.75pt;" height="17"&gt;
&lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  SanDisk&lt;/span&gt;&lt;br&gt;
&lt;/td&gt;


&lt;td&gt;&lt;font color="#0000ff"&gt;Cruzer Micro Drive&lt;br&gt;
&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;


&lt;td x:num="" align="right"&gt;1.00&lt;br&gt;
      &lt;br&gt;
&lt;/td&gt;


&lt;td x:num="" align="right"&gt;$20&lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="82.938323974609375" x:fmla="=C11*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;2 years&lt;br&gt;
&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="3.814697265625E-5" x:fmla="=D11*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;50.0&lt;/font&gt;
      &lt;br&gt;
&lt;/td&gt;



  




  




  




 &lt;/tr&gt;



 
&lt;tr style="height: 12.75pt;" height="17"&gt;
  
&lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Kingston&lt;br&gt;
&lt;/td&gt;


&lt;td&gt;&lt;font color="#0000ff"&gt;DataTraveler&lt;br&gt;
&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td x:num="" align="right"&gt;1.00&lt;br&gt;
&lt;/td&gt;



  
&lt;td x:num="" align="right"&gt;$20&lt;br&gt;
      &lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="82.335403442382812" x:fmla="=C12*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;5 years&lt;br&gt;
&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="2.288818359375E-5" x:fmla="=D12*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;50.0&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  




  




  




 &lt;/tr&gt;



 
&lt;tr style="height: 12.75pt;" height="17"&gt;
  
&lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp; Sony&lt;/span&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td&gt;&lt;font color="#0000ff"&gt;MicroVault&lt;br&gt;
&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td x:num="" align="right"&gt;0.25[2]&lt;br&gt;
&lt;/td&gt;


&lt;td x:num="" align="right"&gt;$18&lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="73.689559936523437" x:fmla="=C13*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;1 year&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="3.8909912109375E-4" x:fmla="=D13*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;13.8&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  




  




  




 &lt;/tr&gt;



 
&lt;tr style="height: 12.75pt;" height="17"&gt;
  
&lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp; PQI&lt;/span&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td&gt;&lt;font color="#0000ff"&gt;U320 / Traveling Disk&lt;br&gt;
&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td x:num="" align="right"&gt;0.50&lt;br&gt;
&lt;/td&gt;


&lt;td x:num="" align="right"&gt;$15&lt;br&gt;
      &lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="68.662483215332031" x:fmla="=C14*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;unknown[3]&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="6.3323974609375E-4" x:fmla="=D14*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;33.3&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  




  




  




 &lt;/tr&gt;



 
&lt;tr style="height: 12.75pt;" height="17"&gt;
  
&lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp; Patriot&lt;/span&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td&gt;&lt;font color="#0000ff"&gt;XPorter&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td x:num="" align="right"&gt;4.00&lt;br&gt;
&lt;/td&gt;



  
&lt;td x:num="" align="right"&gt;$24[4]&lt;br&gt;
      &lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="60.402191162109375" x:fmla="=C15*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;5 years&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="7.62939453125E-5" x:fmla="=D15*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;166.7&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  




  




  




 &lt;/tr&gt;



 
&lt;tr style="height: 12.75pt;" height="17"&gt;
  
&lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp; AComdata&lt;br&gt;
&lt;/span&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td&gt;&lt;font color="#0000ff"&gt;USB Hard Drive&lt;br&gt;
&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td x:num="" align="right"&gt;320.00&lt;br&gt;
&lt;/td&gt;



  
&lt;td x:num="" align="right"&gt;$300&lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="54.043449401855469" x:fmla="=C16*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;?3-5 years?&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  
&lt;td class="xl25" x:num="1.91497802734375E-3" x:fmla="=D16*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;1066.7&lt;/font&gt;&lt;br&gt;
&lt;/td&gt;



  




  




  




 &lt;/tr&gt;



 &lt;/tbody&gt;
&lt;/table&gt;



&lt;p&gt;&amp;nbsp;[1] For all units, the cost was rounded up by 1 cent to
non-retardo-consumer values.&amp;nbsp; Tax was not added, but it applies
here in Washington, 8-something% or so.&lt;br&gt;
&amp;nbsp;[2] I really wanted a larger Sony, but the 2 GB was $70
(too much), and I couldn't find a 512 MB or 1 GB unit anywhere on the
shelf.&amp;nbsp; Sigh.&amp;nbsp; :P&lt;br&gt;
&amp;nbsp;[3] Documentation claimed it was on web site (www.pqimemory.com),
but couldn't find it in a generous 40 seconds of searching.&lt;br&gt;
&amp;nbsp;[4] This one was an incredible value, it was
actually $70 in the store, but until 3/5/2007(&lt;span style="font-weight: bold;"&gt;so only today&lt;/span&gt;, yeah sorry for the late notice) you get a $45 rebate if you buy it at Fry's.&lt;/p&gt;


&lt;p&gt;All such drives claim USB 2.0 compliance on the
packaging, except perhaps the USB Hard Drive, not sure about that one.&lt;br&gt;
&lt;/p&gt;


&lt;p&gt;I don't want to rate these drives based on arbitrary tests[5], such
as whether it comes with a wrist strap, retractable USB plug, etc ...
we want our analysis to be on serious benchmarks that tell us if these
have the capability to back a real ESE database load / support
Exchange, and so we start our tests ...&lt;br&gt;
&lt;/p&gt;&lt;p&gt;
&lt;span style="font-weight: bold;"&gt;Test 0; Part A: &lt;/span&gt;Getting the packaging off...&lt;br&gt;
&lt;/p&gt;&lt;p&gt;I've
definately no love of the ridiculously tough plastic modlded packaging
that these things come in ... and so I decided as the preliminary
test in our evaluation we would test the difficulty of removing the packaging and installing the
drive.&lt;/p&gt;&lt;p&gt;&amp;nbsp;(lower is better)&lt;br&gt;
4.0&amp;nbsp;&amp;nbsp;&amp;nbsp; Drive A (SanDisk Cruzer) had
unusually tough to cut plastic, and an asymetrical shape as well (making getting the scissors to purchase hard) as very
large borders making the entire thing very tough to cut open.&lt;br&gt;2.0&amp;nbsp;&amp;nbsp;&amp;nbsp; Drive B (Kingston
DataTraveler) had somewhat better packaging, thin-ish borders, and
slightly easier to cut, but 4 sided seals&lt;br&gt;2.8&amp;nbsp;&amp;nbsp;&amp;nbsp; Drive C (Sony MicroVault)
Pretty easy to cut, reasonable sized shoulder, and only sealed on 3
sides (e.g. where the plastic is like heat fused).&lt;br&gt;3.4&amp;nbsp;&amp;nbsp;&amp;nbsp; Drive D (PQI U230) hardish to
cut, but only sealed on 3 sides, last side is bent over, so easy to
open after 3 sides.&lt;br&gt;
4.4&amp;nbsp;&amp;nbsp;&amp;nbsp; Drive E (Patriot XPorter) had
very tough packaging, the fused seal of plastic was right up against
the part where the plastic turns vertical, so there was very little
"shoulder" to cut along.&lt;br&gt;1.5&amp;nbsp;&amp;nbsp;&amp;nbsp; Drive F (AComdata USB Hard Drive) this
was (IIRC) "saran wrapped" cardboard box, which is the ultimate in
usable packaging.&lt;br&gt;
&lt;/p&gt;&lt;p&gt;Now, you might say this ranks up there with the
wrist straps, and claim that my testing is not enough... no, no, if you
have got to build an Exchange drive off 10s or 100s of these,
you're going to start to care how hard it is to get them out of thier
plastic, this would be a serious TCO issue.&lt;br&gt;
&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Part B:&lt;/span&gt; Installing the drive ...&lt;br&gt;Installing
the drive consisted of plugging in the drive, change to the drive ("g:"
or "h:" usually),"mkdir \SSDBashData", "cd SSDBashData", and running my
test script (I'll publish this soon) to make sure everything is working
and it can at least store a results file (no verification that the file
written is the file stored).&amp;nbsp; Sort of a pre-race inspection.&lt;br&gt;
&lt;/p&gt;&lt;p&gt;3.0 &amp;nbsp;&amp;nbsp; SanDisk gets a base 2.5 for automatically
installing (or maybe just running) software.&amp;nbsp; And another .5 doc'd
because of how it brought up both a E:\ (CD-ROM RO drive) and an H:\
(USB Mass Storage RW drive), that's just weird.&lt;br&gt;
1.0 &amp;nbsp;&amp;nbsp; Kingston gets as good a score as I will give in this
test, it came up promptly, didn't install any software, AND didn't even
have any "cool programs" on the root of the drive.&amp;nbsp; Kingston
understands its just producing a stick of storage, and I appreciate
that.&lt;br&gt;
1.5 &amp;nbsp;&amp;nbsp; Sony gets .5 for having data in the root, but it
didn't install / run anything by default that I can tell so that's all
they get.&lt;br&gt;
1.0&amp;nbsp;&amp;nbsp;&amp;nbsp; PQI like Kingston gets the a plain storage device.&amp;nbsp; Good job.&lt;br&gt;
2.0&amp;nbsp;&amp;nbsp;&amp;nbsp; Patriot gets a .5 for bringing up two drives like
the SanDisk.&amp;nbsp; And .5 because one of the drives had software in
it.&amp;nbsp; Interestingly both were RW, but the drive with software was
only 24 MBs big, the other was 4 GBs.&lt;br&gt;
1.0&amp;nbsp;&amp;nbsp;&amp;nbsp; AComdata didn't install anything, came right up, removed properly.&lt;br&gt;
&lt;/p&gt;&lt;p&gt;I wanted to complete this step also to verify I could use
the drives w/o accepting any EULAs and checking the documentation that
it didn't have any
DeWitt clauses (the term for the clause in EULAs of products like SQL
Server, Oracle, etc that say you can't
publish benchmark / performance numbers of the product).&amp;nbsp; I do not
believe ESE has any such limitation by the way (but one would have to
read the Windows OS or Exchange EULAs to be sure).&lt;/p&gt;&lt;p&gt;And
as a plus to make sure that terrible spyware they are all bound to
install is going to be universally installed when I get to performance
tests, surprisingly only one seemed to (not that I looked very hard).&lt;br&gt;
&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Conclusion:&lt;/p&gt;&lt;p&gt;Total Scores (lower is better):&lt;br&gt;
&amp;nbsp; SanDisk&amp;nbsp; = 7.0&lt;br&gt;
&amp;nbsp; Kingston&amp;nbsp; = 3.0&lt;br&gt;
&amp;nbsp; Sony&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 4.3&lt;br&gt;
&amp;nbsp; PQI&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 4.4&lt;br&gt;
&amp;nbsp; Patriot &amp;nbsp; &amp;nbsp; = 6.4&lt;br&gt;
&amp;nbsp; HD&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; = 2.5&lt;br&gt;
&lt;/p&gt;&lt;p&gt;Since the rest of the tests are likely to be based off metrics,
copy times, IOPS, etc, these subjective and arbitrary test results will
be used to break any ties, to allow the vendor feels maximally cheated
in its ratings. ;)&amp;nbsp; Next test up serial copy performance ...&lt;br&gt;
&lt;/p&gt;&lt;p&gt;Cheers,&lt;br&gt;
BrettSh&lt;br&gt;
&lt;/p&gt;&lt;p&gt;[5] Yes I do.&amp;nbsp; Seriously, the varying sizes of the drives
may throw some of the tests way off, or be difficult to make any claims
of scale ... if I
were doing real testing, I would be making Microsoft pay for the
hardware, getting those larger 32, 64, and 160 GB models mentioned in
some of the
above articles, and probably wouldn't be blogging about it. ;-)&amp;nbsp;
Sooo ... I
don't actually intend to answer the question posed in the title, just
sort of a check in to see where these cheap flash drives are ... and
they all[3] have warranties so I can always recoup my investment if ESE
makes them catch on fire.&lt;br&gt;
&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1810556" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A00_ESE/default.aspx">Comp::Impl::ESE</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A002A00_/default.aspx">Comp::*</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A00_Exchange/default.aspx">Comp::Impl::Exchange</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/BAS_5F00_TODO/default.aspx">BAS_TODO</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Z_5F002600_lt_3B003A003A00_ESE_3A003A00_SSD_2600_gt_3B00_/default.aspx">Z_&amp;lt;::ESE::SSD&amp;gt;</category></item><item><title>Massive power outage == Adventure Friday (posthumously blogged 12/16 when my server is back up) ...</title><link>http://blogs.msdn.com/brettsh/archive/2006/12/16/adventure-day-massive-power-outage.aspx</link><pubDate>Sat, 16 Dec 2006 21:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1308768</guid><dc:creator>BrettSh</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/brettsh/comments/1308768.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brettsh/commentrss.aspx?PostID=1308768</wfw:commentRss><description>
&lt;p&gt;As we woke up Friday morning, our bedrooms had that certain
briskness in the air that indicates only one thing ... power
outage.&amp;nbsp; Nika (a friend/roommate) and his kid went to school to see if
there is any school, power out there too.&amp;nbsp; We got a hold of
another friend, Mary &amp;amp; Tony (Tony also works at Microsoft), power
out at thier house and Microsoft.&amp;nbsp; As we were listening to the news
and driving around we got to get the idea that pretty much everything
was down, and it turned from "huh, I wonder if work is going to come up" day into Adventure Day lets see
where power is, and find a warm place for Nika and Mary and the kids ...&lt;/p&gt;

&lt;p&gt;Some data:&lt;/p&gt;


&lt;ul&gt;
  
&lt;li&gt;As of Friday morning, reportedly 1.3 M customers (is that homes/businesses or people I could never tell) were without power.&lt;/li&gt;


  
&lt;ul&gt;
    
&lt;li&gt;We
heard there were multiple hospitals without grid power, and at this
point you realize how far your work (even if it is Microsoft) is like down the priority list.&lt;/li&gt;

&lt;li&gt;News also said 80% of Bellevue was without power.&lt;/li&gt;



    
&lt;li&gt;PSE specifically had 700k down (the area that services my house) of ~1M customers.&lt;/li&gt;


    
&lt;ul&gt;
      
&lt;li&gt;Some 90 of 150 substations were down.&lt;/li&gt;


      
&lt;li&gt;And 80 transmission line (over 1/2 of such lines) were damaged.&lt;/li&gt;


    &lt;/ul&gt;


    
&lt;li&gt;Apparently they've flown/flying in 100+ repair crews from other states.&lt;br&gt;
    &lt;/li&gt;



  &lt;/ul&gt;


  
&lt;li&gt;We saw literally dozens of fallen trees close to our house ...
  &lt;/li&gt;


  
&lt;ul&gt;
    
&lt;li&gt;some of the streets were practically green with blown off tree branches.&amp;nbsp; &lt;br&gt;
    &lt;/li&gt;


    
&lt;li&gt;We ended up driving over the tops of 4 or so trees fallen across the road.&lt;/li&gt;


    
&lt;li&gt;A house about 6 doors down, had a tree through its roof.&lt;/li&gt;
&lt;li&gt;Along
one road going by Microsoft we saw 7 down trees within a few
blocks (I'm sure there is a [un]fair joke there at Microsoft's expense ... ;-)
    &lt;/li&gt;



  &lt;/ul&gt;


  
  
&lt;li&gt;Gusts to 60 - 80 mph in the general area during the wind storm on Thur night / Fri AM.
  &lt;/li&gt;


&lt;/ul&gt;


&lt;p&gt;I love stats, but I don't think any of these put it in as much
perspective as the &lt;a href="http://www.kirotv.com/trafficflow/index.html" mce_href="http://www.kirotv.com/trafficflow/index.html"&gt;traffic flow maps&lt;/a&gt; (which I figured out were a GREAT
way to figure out if an area likely has power!), here is the &lt;a href="http://brett.shirley.name/blog/imgsrc/blog7_SeattleAreaTrafficMap.jpg" mce_href="http://brett.shirley.name/blog/imgsrc/blog7_SeattleAreaTrafficMap.jpg"&gt;seattle
area map @~noon&lt;/a&gt; today.&amp;nbsp; Yesterday however was an even more severe
story:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://brett.shirley.name/blog/imgsrc/blog7_SeattleAreaTrafficMapFriMorn.gif" title="Seattle Traffic Grid / Power outage Friday Morning" mce_src="http://brett.shirley.name/blog/imgsrc/blog7_SeattleAreaTrafficMapFriMorn.gif"&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Since you can differentiate from No Equipment and No Data, we
guessed No Data meant, No Power.&amp;nbsp; Nearly everything was out for I
dunno, maybe 50 miles (including all of
Microsoft's main campus that we heard about) of solid residential
setting.&amp;nbsp; We drove for about
20 miles (which took 1.5 hours) without seeing a single spot of power
that morning as we maneuvered North around the lake to get to friends
w/ power/heat.&amp;nbsp; That's how massive it was ...&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;The funniest stories of the day ...&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.technet.com/efleis/" mce_href="http://blogs.technet.com/efleis/"&gt;Eric&lt;/a&gt;
went for a walk, came by my house (ironically while we were knocking on
his door to see if he wanted to go North to heat with us :P) and Tony's
house. Anyway, while he was at Tony's house he saw a crew clearing a
tree from the
road.&amp;nbsp; Now Tony's house was fine, but clearly one of the wires to
his
house was slack and low hanging over the road, pulled down by I believe
some blown off branch in the middle of the night.&amp;nbsp; After the tree
was cleared from the road, Eric saw a Comcast Cable truck try to sneak
under it, and caught it on their ladder or roof rack, and nearly rip it
off the pole. The two guys got out of the van, looked up at the pole /
wire, and this was the approximate gist of the conversation:&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Guy 1: "Awww crap ... its cable."&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Guy 2:&amp;nbsp; "We should probably fix that."&lt;br&gt;
Tony later came home and found them fixing his cable ... my they can be
expedient ... of course they couldn't check it worked, no power. &lt;br&gt;
&lt;/p&gt;


The
other funny story, was a news story (I tried to find it at the
KiroTV.com web site, but couldn't, their site sucks for finding stuff
you know you read there), about a guy who had _ten_ trees
hit his house!&amp;nbsp; My friends and I agreed this must clearly be an
evil man.&amp;nbsp; If God[1] throws 10 trees at your house, he is sending
you a message, STOP that bad thing we all know you are doing, and mend
your ways, or
you will get smote.&lt;br&gt;


&lt;p&gt;We
later got to validate that indeed the traffic maps were the best
foreteller of power, because we heard on the news that Bellevue Square
Mall was out, but Lincoln Center across the street had power ...
however according to the &lt;a href="http://www.kirotv.com/bellevue/index.html" mce_href="http://www.kirotv.com/bellevue/index.html"&gt;downtown Bellevue traffic flow map&lt;/a&gt;,
power was
out at Lincoln Center and came back 1 block to the East ... later we
went there to see a movie, and indeed Lincoln Center had only some sort
of
emergency lighting on, but not real power, such as to see a movie, but
enough for Nika to play thier Grand Piano, which then security got VERY
PISSY about, I think he thought we were young holigans or something,
but Nika actually knows how to play pleasant Nordstrom style / elevator back
ground music ...
luckily the Galleria (which is coincidentally one block to the East ;)
had power, so we were not thwarted in our movie quest!&amp;nbsp; We saw,
"Bobby", it was a bit slow but ok.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;It was rumored (though don't know it was actually true) said there were only
like 3 working gas stations in downtown Bellevue (that's the green near
the yellow camera and bellevue sign in the map), and we heard police had to
be deployed to keep order at one point, and direct traffic ... they at
one point had sectioned off the street for several blocks to the south, just to create a
line into the gas station, and the wait was apparently ridiculous.&amp;nbsp; This wasn't a problem for us because we decided to wait
until after our movie (@ midnight Sat) before visiting, so we
ended up waiting maybe 10 minutes.&lt;/p&gt;


&lt;p&gt;The
# of customers (or people?) dropped to 900k without power by the end of
Friday, according to the news.&amp;nbsp; Lastly when we came home that night, we checked our mailbox, and
indeed some US Postal mail was there, hows the motto go, "neither rain, nor
sleet, nor snow..." ... well they should add wind if it isn't there already.&amp;nbsp; Apparently our Govenor &lt;a href="http://www.kirotv.com/news/10552409/detail.html" mce_href="http://www.kirotv.com/news/10552409/detail.html"&gt;declared a
state of emergency&lt;/a&gt;, I think today / saturday. &lt;/p&gt;

&lt;p&gt;Cheers,&lt;/p&gt;

&lt;p&gt;BrettSh (msft)&amp;nbsp;&lt;/p&gt;

&lt;p&gt;[1] Not that I do or don't believe in God, I'm just saying ...TEN TREES!?&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update: &lt;/b&gt;MartinC showed me that wsdot has historical data, so I replaced my own &lt;a href="http://brett.shirley.name/blog/imgsrc/blog7_SeattleAreaTrafficMapAltered.jpg" mce_href="http://brett.shirley.name/blog/imgsrc/blog7_SeattleAreaTrafficMapAltered.jpg"&gt;previously doctored version&lt;/a&gt; with the actual map at 11:20 AM on Friday, it is even more
effective at showing what it looks like to have 1.3 M customers without power.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1308768" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brettsh/archive/tags/Soc_3A003A002A00_/default.aspx">Soc::*</category></item><item><title>I decided to check out the size of Eric's DIT ...</title><link>http://blogs.msdn.com/brettsh/archive/2006/06/12/631516.aspx</link><pubDate>Mon, 12 Jun 2006 19:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631516</guid><dc:creator>BrettSh</dc:creator><slash:comments>17</slash:comments><comments>http://blogs.msdn.com/brettsh/comments/631516.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brettsh/commentrss.aspx?PostID=631516</wfw:commentRss><description>&lt;font face="Verdana"&gt;... take some time, measuring the exact dimensions of &lt;a href="http://blogs.technet.com/efleis/archive/2006/06/08/434255.aspx"&gt;Eric's DIT&lt;/a&gt;
... and I must say, I've seen a fair amount of DITs in my time, and I can say with a
fair amount of &lt;span style="font-size: 12pt; font-family: Verdana;"&gt;certainty&lt;/span&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;, Eric's DIT is the biggest I've ever seen!&amp;nbsp; I can't believe what a massively huge a DIT Eric has.&lt;br&gt;
&lt;br&gt;
Note: while this is about an Active Directory database, Exchange is
based on the same database technology, so it would (and does) have similar space &lt;span style="font-size: 12pt; font-family: Verdana;"&gt;hierarchy&lt;/span&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;font face="Verdana"&gt;. &lt;/font&gt;&lt;br&gt;&lt;br&gt;
&lt;b&gt;Table of ESE Space usage:&lt;br&gt;
&lt;br&gt;
&lt;/b&gt;
&lt;/font&gt;&lt;font face="Verdana"&gt;
The black in this table is just the output from 3 of the columns of esentutl /ms adamntds.dit (&lt;a href="http://brett.shirley.name/blog/imgsrc/blog6_adamntds.ms.txt"&gt;original report&lt;/a&gt;), the &lt;font color="#0000ff"&gt;blue&lt;/font&gt; are columns/rows I've added to break out the space usage in a clearer way:&lt;/font&gt;&lt;br&gt;

 
&lt;table x:str="" style="border-collapse: collapse; width: 602pt;" border="0" cellpadding="0" cellspacing="0" width="801"&gt;
&lt;col style="width: 140pt;" width="186"&gt;
 &lt;col style="width: 106pt;" width="141"&gt;
 &lt;col style="width: 53pt;" width="70"&gt;
 &lt;col style="width: 48pt;" width="64"&gt;
 &lt;col style="width: 63pt;" width="84"&gt;
 &lt;col span="4" style="width: 48pt;" width="64"&gt;
 &lt;tbody&gt;&lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt; width: 140pt;" height="17" width="186"&gt;Name&lt;/td&gt;
  &lt;td style="width: 106pt;" width="141"&gt;&lt;font color="#0000ff"&gt;Friendly name&lt;/font&gt;&lt;/td&gt;
  &lt;td style="width: 53pt;" width="70"&gt;Owned&lt;/td&gt;
  &lt;td style="width: 48pt;" width="64"&gt;Available&lt;/td&gt;
  &lt;td style="width: 63pt;" width="84"&gt;&lt;font color="#0000ff"&gt;Owned(GB)&lt;/font&gt;&lt;/td&gt;
  &lt;td style="width: 48pt;" width="64"&gt;&lt;font color="#0000ff"&gt;Avail(GB)&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" style="width: 48pt;" width="64"&gt;&lt;font color="#0000ff"&gt;b-tree lvls&lt;/font&gt;&lt;/td&gt;
  &lt;td style="width: 48pt;" width="64"&gt;&lt;font color="#0000ff"&gt;% of DB&lt;/font&gt;&lt;/td&gt;
  &lt;td style="width: 48pt;" width="64"&gt;&lt;font color="#0000ff"&gt;% of Total Idxs&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&amp;lt;calc: DB real&amp;gt;&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;268179344&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;6088&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="" x:fmla="=C4*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="4.644775390625E-2" x:fmla="=D2*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.046&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25"&gt;&lt;font color="#0000ff"&gt;&lt;br&gt;
      &lt;/font&gt;&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&lt;br&gt;
      &lt;/font&gt;&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&lt;br&gt;
      &lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;F:\DNT\adamntds.dit&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;268179344&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;218&lt;/td&gt;
  &lt;td class="xl25" x:num="2046.0460205078125" x:fmla="=C3*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;2046.046&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="1.6632080078125E-3" x:fmla="=D3*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.002&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25"&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&lt;br&gt;
      &lt;/font&gt;&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&lt;br&gt;
      &lt;/font&gt;&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;font color="#0000ff"&gt;&lt;br&gt;
      &lt;/font&gt;&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&amp;lt;calc: datatable real&amp;gt;&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;268178751&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" x:fmla="=D7+D8+D9" align="right"&gt;&lt;font color="#0000ff"&gt;5689&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="2046.0414962768555" x:fmla="=C5*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;2046.041&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="4.340362548828125E-2" x:fmla="=D5*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.043&lt;/font&gt;&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&lt;br&gt;
      &lt;/font&gt;&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&lt;br&gt;
      &lt;/font&gt;&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&lt;br&gt;
      &lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;datatable&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;268178751&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;2260&lt;/td&gt;
  &lt;td class="xl25" x:num="2046.0414962768555" x:fmla="=C6*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;2046.041&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="1.7242431640625E-2" x:fmla="=D7*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.017&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25"&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;br&gt;
&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&amp;lt;calc: Row Data&amp;gt;&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" x:fmla="=C6-C8-C9" align="right"&gt;&lt;font color="#0000ff"&gt;186707905&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;2260&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="1424.4682693481445" x:fmla="=C7*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;1424.468&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="1.7242431640625E-2" x:fmla="=D7*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.017&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;5&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="0.69620539082234467" x:fmla="=C7/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;69.62%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24"&gt;&lt;br&gt;
&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;&amp;lt;Long Values&amp;gt;&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&lt;br&gt;
      &lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;42&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;18&lt;/td&gt;
  &lt;td class="xl25" x:num="3.204345703125E-4" x:fmla="=C8*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="1.373291015625E-4" x:fmla="=D8*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;2&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="1.5661161435311737E-7" x:fmla="=C8/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;0.00%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24"&gt;&lt;br&gt;
&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;br&gt;
&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;&amp;lt;sum: Idx Totals&amp;gt;&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;81470804&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;3411&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="621.57290649414062" x:fmla="=C9*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;621.573&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="2.602386474609375E-2" x:fmla="=D9*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.026&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;0&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="0.3037922413592003" x:fmla="=C9/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;30.38%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="1" x:fmla="=C9/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;100.00%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;PDNT_index&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Int: PDNT + Name&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;11482791&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;7&lt;/td&gt;
  &lt;td class="xl25" x:num="87.606742858886719" x:fmla="=C10*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;87.607&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="5.340576171875E-5" x:fmla="=D10*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;5&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="4.2817581804510639E-2" x:fmla="=C10/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;4.28%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="0.14094363178249719" x:fmla="=C10/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;14.09%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;nc_guid_Index&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Int: NC + objGuid&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;10870892&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;5&lt;/td&gt;
  &lt;td class="xl25" x:num="82.938323974609375" x:fmla="=C11*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;82.938&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="3.814697265625E-5" x:fmla="=D11*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="4.0535903466152115E-2" x:fmla="=C11/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;4.05%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="0.13343297802731885" x:fmla="=C11/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;13.34%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;INDEX_00090002&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Att: objectGuid&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;10791866&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;3&lt;/td&gt;
  &lt;td class="xl25" x:num="82.335403442382812" x:fmla="=C12*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;82.335&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="2.288818359375E-5" x:fmla="=D12*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="4.0241227527202841E-2" x:fmla="=C12/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;4.02%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="0.1324629863723942" x:fmla="=C12/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;13.25%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;INDEX_00000003&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Att: cn&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;9658638&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;51&lt;/td&gt;
  &lt;td class="xl25" x:num="73.689559936523437" x:fmla="=C13*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;73.690&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="3.8909912109375E-4" x:fmla="=D13*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="3.6015592610294397E-2" x:fmla="=C13/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;3.60%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="0.11855336544855995" x:fmla="=C13/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;11.86%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;INDEX_00090001&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Att: name&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;8999729&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;83&lt;/td&gt;
  &lt;td class="xl25" x:num="68.662483215332031" x:fmla="=C14*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;68.662&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="6.3323974609375E-4" x:fmla="=D14*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.001&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="3.3558621129299207E-2" x:fmla="=C14/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;3.36%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="0.11046569517099647" x:fmla="=C14/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;11.05%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;Ancestors_index&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Int: Ancestry&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;7917036&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;10&lt;/td&gt;
  &lt;td class="xl25" x:num="60.402191162109375" x:fmla="=C15*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;60.402&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="7.62939453125E-5" x:fmla="=D15*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="2.9521423544089213E-2" x:fmla="=C15/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;2.95%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="9.7176357802974428E-2" x:fmla="=C15/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;9.72%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;DRA_USN_index&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Int: Repl USN&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;7083583&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;251&lt;/td&gt;
  &lt;td class="xl25" x:num="54.043449401855469" x:fmla="=C16*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;54.043&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="1.91497802734375E-3" x:fmla="=D16*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.002&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="2.6413604024626149E-2" x:fmla="=C16/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;2.64%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="8.6946275870801518E-2" x:fmla="=C16/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;8.69%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;INDEX_0009030E&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Att: objectCategory&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;5274627&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;21&lt;/td&gt;
  &lt;td class="xl25" x:num="40.242210388183594" x:fmla="=C17*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;40.242&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="1.6021728515625E-4" x:fmla="=D17*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="1.9668282132870009E-2" x:fmla="=C17/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;1.97%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="6.4742542616861867E-2" x:fmla="=C17/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;6.47%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;DRA_USN_CREATED_index&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Int: Repl Created USN&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;4479144&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;34&lt;/td&gt;
  &lt;td class="xl25" x:num="34.17315673828125" x:fmla="=C18*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;34.173&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="2.593994140625E-4" x:fmla="=D18*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="1.6702046970478085E-2" x:fmla="=C18/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;1.67%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="5.4978517212129145E-2" x:fmla="=C18/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;5.50%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;INDEX_00020078&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Att: uSNChanged&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;4279711&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;0&lt;/td&gt;
  &lt;td class="xl25" x:num="32.651603698730469" x:fmla="=C19*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;32.652&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="" x:fmla="=D19*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="1.5958391635114151E-2" x:fmla="=C19/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;1.60%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="5.2530609615685148E-2" x:fmla="=C19/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;5.25%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;deltime_index&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Int: deltime&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;371267&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;15&lt;/td&gt;
  &lt;td class="xl25" x:num="2.8325424194335937" x:fmla="=C20*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;2.833&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="1.1444091796875E-4" x:fmla="=D20*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.000&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="1.3843981958580672E-3" x:fmla="=C20/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;0.14%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="4.5570558012413874E-3" x:fmla="=C20/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;0.46%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="height: 12.75pt;" height="17"&gt;
  &lt;td style="height: 12.75pt;" height="17"&gt;&lt;span style=""&gt;&amp;nbsp;
  &lt;/span&gt;INDEX_00020030&lt;/td&gt;
  &lt;td&gt;&lt;font color="#0000ff"&gt;Att: isDeleted&lt;/font&gt;&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;261493&lt;/td&gt;
  &lt;td x:num="" align="right"&gt;2929&lt;/td&gt;
  &lt;td class="xl25" x:num="1.9950332641601563" x:fmla="=C21*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;1.995&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl25" x:num="2.234649658203125E-2" x:fmla="=D21*8/1024/1024" align="right"&gt;&lt;font color="#0000ff"&gt;0.022&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl26" x:num="" align="right"&gt;&lt;font color="#0000ff"&gt;4&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="9.750676398104695E-4" x:fmla="=C21/$C$3" align="right"&gt;&lt;font color="#0000ff"&gt;0.10%&lt;/font&gt;&lt;/td&gt;
  &lt;td class="xl24" x:num="3.2096528714752833E-3" x:fmla="=C21/$C$9" align="right"&gt;&lt;font color="#0000ff"&gt;0.32%&lt;/font&gt;&lt;/td&gt;
 &lt;/tr&gt;&lt;/tbody&gt;
&lt;/table&gt;
&lt;font face="Verdana"&gt;... deleted about a dozen small indices ... &lt;br&gt;
&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;br&gt;
I'll discuss the permutations I performed on the esentutl /ms output, in the hopes it will be clear ...&lt;br&gt;
&lt;br&gt;
First I sum up the owned space for all indices in the datatable, this comes out to &lt;/font&gt;&lt;font color="#0000ff"&gt;81470804&lt;/font&gt;&lt;font face="Verdana"&gt;.&amp;nbsp;
Note the #'s above may not add up exactly because I deleted a dozen or
so super small indices.&amp;nbsp; I summed up all the indices because it
makes the next calculation easier, and also so we can get the "% of
Total Idxs" column as well.&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;font face="Verdana"&gt;So first understand that ESE's "owned" space is &lt;/font&gt;&lt;span style="font-size: 12pt; font-family: Verdana;"&gt;hierarchical&lt;/span&gt;&lt;font face="Verdana"&gt;, so the "datatable" owns all the space owned by each of
the indices and the LV B-Tree in the datatable.&amp;nbsp; But the primary B-Tree for the datatable
also contains (and thus owns) the normal row data.&amp;nbsp; So the real data that is in the
regular row data for the datatable is &lt;/font&gt;268178751 &lt;font face="Verdana"&gt;(datatable)&lt;/font&gt; &lt;font face="Verdana"&gt;- 42 (datatable's LV B-Tree owned) - &lt;/font&gt;&lt;font color="#0000ff"&gt;81470804&lt;/font&gt;&lt;font face="Verdana"&gt; (owned by sum of all datatable indices) = &lt;/font&gt;&lt;font color="#0000ff"&gt;186707905&lt;/font&gt;&lt;font face="Verdana"&gt; (i.e. the "&amp;lt;calc: Row Data&amp;gt;" line).&lt;br&gt;
&lt;br&gt;
I then created a couple columns to turn this page counts into a usable unit (GBs), i.e. &amp;lt;# of pages&amp;gt; * 8 / 1024 / 1024.&lt;br&gt;
&lt;br&gt;
Finally I added a friendly name column, so you'd know roughly what the index was indexing.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Some analysis:&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
From the above table we can easily see the row data 1,424 GBs and all
the indices combined is 621 GBs.&amp;nbsp; This breaks out like so:&lt;br&gt;
&lt;img src="http://brett.shirley.name/blog/imgsrc/blog6_RowIndexPie.gif"&gt;
&lt;br&gt;Based on the table above this is showing us a full 30% of this
database is indices!!!&amp;nbsp; That's a huge amount.&amp;nbsp; This isn't a
common space breakdown for most AD objects, as the objects making up
Eric's DIT are very very small / light weight.&amp;nbsp; He was just
creating containers w/ minimal attributes (see Eric's initial post),
and so just the base set of indices on a basic object lead up
to a significant portion of the objects overall "footprint" in the DB.&lt;br&gt;
&lt;br&gt;
As for the breakup of the individual index usages, it looks something like this:&lt;br&gt;
&lt;img src="http://brett.shirley.name/blog/imgsrc/blog6_IndexBreakout.gif"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;font face="Verdana"&gt;Of the secondary indices on the datatable,
10 are always updated!&amp;nbsp; And another 2 (the very slender ones) are
only updated on delete.&amp;nbsp; Since there are over 2 billion objects in
this database, that means we inserted about 22 billion B-Tree entries,
kind of neat.&lt;br&gt;
&lt;br&gt;
One last, somewhat technical thing that I think a few of you might find &lt;/font&gt;&lt;span style="font-size: 12pt; font-family: Verdana;"&gt;interesting&lt;/span&gt;&lt;font face="Verdana"&gt;, &lt;/font&gt;&lt;font face="Verdana"&gt;is that even the
largest 1,424 GB primary B-Tree is only 5 levels deep.&amp;nbsp; This means that to
locate a specific row (by DNT) will only take 5 disk seeks in the worst
case (cold cache).&amp;nbsp; B-Trees have this very nice high fan out, that keeps disk seeks minimal.&lt;br&gt;
&lt;br&gt;
Interestingly, I &lt;a href="http://brett.shirley.name/blog/imgsrc/blog6_RootPage.txt"&gt;dumped the root page&lt;/a&gt;, and it only has 3 nodes (TAG 0
doesn't count), what this means is that we could add about 100x more
data to this b-tree and there would be no increase in the # of disk seeks to fetch a row
from this table.&lt;br&gt;
&lt;br&gt;
Anyway that seems like enough for now ...&lt;br&gt;
&lt;/font&gt;&lt;br&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=631516" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A00_ESE/default.aspx">Comp::Impl::ESE</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A002A00_/default.aspx">Comp::*</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A00_AD/default.aspx">Comp::Impl::AD</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A002A00_/default.aspx">Comp::Impl::*</category></item><item><title>Writing a Unicode file via perl ...</title><link>http://blogs.msdn.com/brettsh/archive/2006/06/07/620986.aspx</link><pubDate>Wed, 07 Jun 2006 20:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:620986</guid><dc:creator>BrettSh</dc:creator><slash:comments>16</slash:comments><comments>http://blogs.msdn.com/brettsh/comments/620986.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brettsh/commentrss.aspx?PostID=620986</wfw:commentRss><description>&lt;font face="Verdana"&gt;Several months ago someone filed bugs across
Windows Vista to make sure all performance monitoring .ini files were
Unicode, so the files could be properly localized ("translated") to
various languages (so we could have Korean, or Hindi descriptions).&amp;nbsp; A noble goal to be sure.&lt;br&gt;
&lt;br&gt;
For most people this was as easy as checking out the file for editing,
opening it in notepad, doing a "save as", picking Unicode.&amp;nbsp; ESE
however has ALOT of perf counters (esp. when you Squeaky Lobster a
machine - more on that later) so we use a perl script to generate
several parts of the performance monitoring files, the .ini, the .hxx,
and some fairly repatitive .cxx code that gets compiled into ESE binaries ... I know some of you are saying,
"You can use perl on Windows?" ...&lt;br&gt;
&lt;br&gt;
Anyway, I looked all over the internet, and couldn't even find help
when I &lt;a href="http://www.google.com/search?q=site%3Ablogs.msdn.com%2Fmichkap"&gt;scoped to Mr. Unicode's blog&lt;/a&gt; ... then I posted to an internal
alias on perl at Microsoft, and someone came to my rescue, since he
said he didn't mind and I couldn't find it on the internet (at least at
the time), I'd figured I'd post his comments ...&lt;br&gt;
&lt;br&gt;
His comments, I wholesale included in our perl code
(I had to read it twice to really grok how the ":raw" type parts were
like piping through converting text commands, but in reverse so you read
them right to left):&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;#&lt;br&gt;# Some notes from someone smarter than me about Perl and Unicode ...&lt;br&gt;# ----&lt;br&gt;#&lt;br&gt;# Which encoding do you want to use? UTF16-LE is the standard on Windows (nearly&lt;br&gt;# all characters are encoded as 2 bytes), UTF8 is the standard everywhere else &lt;br&gt;# (characters are variable length and all ASCII characters are a single byte).&lt;br&gt;#&lt;br&gt;# Here's what I've figured out after lots of experimentation. To get UTF16-LE &lt;br&gt;# output you need to play a few games with perl...&lt;br&gt;#&lt;br&gt;#   open my $FH, "&amp;gt;:raw:encoding(UTF16-LE):crlf:utf8", "e:\\test.txt";&lt;br&gt;#   print $FH "\x{FEFF}";&lt;br&gt;#   print $FH "hello unicode world!\nThis is a test.\n";&lt;br&gt;#   close $FH;&lt;br&gt;# Reading the IO layers from right to left (the order that they will be applied &lt;br&gt;# as they pass from perl to the file) ...&lt;br&gt;#&lt;br&gt;# Apply the :utf8 layer first. This doesn't do much except tell perl that we're &lt;br&gt;# going to pass "characters" to this file handle instead of bytes so that it &lt;br&gt;# doesn't give us "Wide character in print ..." warnings.&lt;br&gt;#&lt;br&gt;# Next, apply the :crlf layer as text goes from perl out to the file. This &lt;br&gt;# transforms \n (0x0A) into \r\n (0x0D 0x0A) giving you DOS line endings. Perl &lt;br&gt;# normally applies this by default on Windows but it would do it at the wrong &lt;br&gt;# stage of the pipeline so we removed it (see below), this is where it ought to &lt;br&gt;# be.&lt;br&gt;#&lt;br&gt;# Next apply the UTF16-LE (little endian) encoding. This takes the characters &lt;br&gt;# and transforms them to that encoding. So 0x0A turns into 0x0A 0x00. Note that &lt;br&gt;# if you just say 'UTF16' the default endianness is big endian which is &lt;br&gt;# backwards from how Windows likes it. However, because we're explicitly &lt;br&gt;# specifiying the endianness perl will not write a BOM (byte order mark) at the &lt;br&gt;# beginning of the file. We have to make up for that later.&lt;br&gt;#&lt;br&gt;# Finally, the :raw psuedo layer just removes the default (on Windows) :crlf &lt;br&gt;# layer that transforms \n into \r\n for DOS style line endings. This is &lt;br&gt;# necessary because otherwise it would be applied at the wrong place in the &lt;br&gt;# pipeline. Without this the encoding layer would turn 0x0A into 0x0A 0x00 and &lt;br&gt;# then the crlf layer would turn that into 0x0D 0x0A 0x0A and that's just goofy.&lt;br&gt;#&lt;br&gt;# Now that we've got the file opened with the right IO layers in place we can &lt;br&gt;# almost write to it. First we need to manually write the BOM that will tell &lt;br&gt;# readers of this file what endianness it is in. That's what the &lt;br&gt;# print $FH "\x{FEFF}" does.&lt;br&gt;#&lt;br&gt;# Finally we can just print text out.&lt;br&gt;#&lt;br&gt;# If you want UTF8, I'm pretty sure it's a lot easier. Also, this is also a lot &lt;br&gt;# easier on unix, the CRLF ordering problem is definitely a bug but the default &lt;br&gt;# to big endian (and ensuing games to get the BOM to output without a warning) &lt;br&gt;# are by design. I'm pretty sure that none of the core perl maintainers use perl &lt;br&gt;# on Windows (even though at least one keeps perl on VMS working...).&lt;br&gt;#&lt;br&gt;&lt;br&gt;#&lt;br&gt;# Until Exchange decides it wants a Unicode eseperf.ini, we're going to generate&lt;br&gt;# the old ASCII one.  Also if Exchange wants one, it will have to update it's&lt;br&gt;# version of Perl to understand the open modes we're using below.  Currently we&lt;br&gt;# get this error:&lt;br&gt;#	1&amp;gt;Unknown open() mode '&amp;gt;:raw:encoding(UTF16-LE):crlf:utf8' at .\perfdata.pl line 325,  line 6189.&lt;br&gt;#&lt;br&gt;&lt;br&gt;&lt;br&gt;if ( $ESENT ){ #ifdef ESENT &lt;br&gt;&lt;br&gt;	open( INIFILE, "&amp;gt;:raw:encoding(UTF16-LE):crlf:utf8", "$INIFILE" ) || die "Cannot open $INIFILE: ";&lt;br&gt;	print INIFILE "\x{FEFF}";  # print BOM (Byte Order Mark) for the unicode file&lt;br&gt;&lt;br&gt;} else { #else&lt;br&gt;&lt;br&gt;	open( INIFILE, "&amp;gt;$INIFILE" ) || die "Cannot open $INIFILE: ";&lt;br&gt;&lt;br&gt;} #endif&lt;br&gt;&lt;/pre&gt;
&lt;br&gt;
The code worked like a charm, yeah Unicode esentprf.ini.&amp;nbsp; Well,
until I sync'd the code to
Exchange then it broke, that is the source of the "if ( $ESENT )" which
is only defined when we build the ESE sources for Windows.&amp;nbsp; I
should mention in closing that I know this code works for perl 5.8.7,
and I know it does &lt;i&gt;not&lt;/i&gt; work for perl 5.6.1.&amp;nbsp; I've heard the perl support got much better in 5.8 or so...&lt;br&gt;
&lt;br&gt;
Oh I guess that's code, so I'm required to say something like:&lt;br&gt;
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm (I'm having a hard time
imagining how such a small snipit could be subject to that, but
whatever).&lt;br&gt;
&lt;br&gt;Oh here is what the &lt;a href="http://blogs.msdn.com/michkap/archive/2005/01/20/357028.aspx"&gt;BOM&lt;/a&gt; is, and &lt;a href="http://www.google.com/search?q=%22Byte+Order+Mark%22+site%3Ablogs.msdn.com%2Fmichkap"&gt;more on the BOM&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
&lt;b&gt;Update 2006/08/20:&lt;/b&gt; Turned out Exchange wanted a Unicode
eseperf.ini after all, and has updated thier version of perl, so good
news the NT - Ex code bases grow that much more similar.&lt;br&gt;
&lt;/font&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=620986" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A002A00_/default.aspx">Comp::*</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A002A00_/default.aspx">Comp::Impl::*</category></item><item><title>Ready to feel old ... USSR was soooo last century ...</title><link>http://blogs.msdn.com/brettsh/archive/2006/03/22/560555.aspx</link><pubDate>Wed, 22 Mar 2006 21:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:560555</guid><dc:creator>BrettSh</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brettsh/comments/560555.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brettsh/commentrss.aspx?PostID=560555</wfw:commentRss><description>&lt;font face="Verdana"&gt;From one of my more educated buddies at Microsoft...&lt;br&gt;
&lt;/font&gt;
&lt;blockquote&gt;&lt;font face="Verdana"&gt;My mom teaches high school physics.&lt;/font&gt;&lt;br&gt;
  &lt;font face="Verdana"&gt;She said that most of her students haven't even
heard of the Soviet Union. (The exceptions are the ones who happened to
take history.)&lt;/font&gt;&lt;br&gt;
  &lt;br&gt;
  &lt;font face="Verdana"&gt;I realize that school education is far from
balanced, but I'm a bit surprised that popular culture doesn't mention
it more (e.g. movies like Hunt for Red October).&lt;/font&gt;&lt;br&gt;
  &lt;br&gt;
  &lt;font face="Verdana"&gt;-martin&lt;/font&gt;&lt;br&gt;
&lt;/blockquote&gt;
&lt;font face="Verdana"&gt;Note, Martin's mom is in Nova Scotia ... so these
are not even ignorant-of-world-matters-Americans who don't know this.&amp;nbsp; (BTW, for the Americans reading Nova
Scotia is in Canada)!&lt;br&gt;
&lt;br&gt;
Given now that the existence of and the dissolution of the Soviet Union
is last century pop culture, made me think, it's probably &lt;/font&gt;&lt;font face="Verdana"&gt;to
make up a
test with pop culture questions from over time that statistically
(based on what people usually know given formative years during that
time ...&lt;/font&gt;&lt;font face="Verdana"&gt; e.g. What is the Soviet Union? Britney
Spears' bra size? Before? After? etc&lt;/font&gt;&lt;font face="Verdana"&gt;) could determine someone's age.&lt;br&gt;
&lt;br&gt;
Madonna has a few songs on the billboard charts right now, esp. the
club play list charts ... imagine telling parents in 1983 that
Madonna's fame
will outlast knowledge of the Soviet Union.&amp;nbsp; That would've made
them laugh.&lt;br&gt;
&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;br&gt;
(still in thread degraded mode but about to reboot...)&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=560555" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brettsh/archive/tags/Soc_3A003A00_Politics+-+a+specator+sport_2E00_/default.aspx">Soc::Politics - a specator sport.</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Soc_3A003A00_Europeans/default.aspx">Soc::Europeans</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Soc_3A003A002A00_/default.aspx">Soc::*</category></item><item><title>thread degraded mode ... the sequel.</title><link>http://blogs.msdn.com/brettsh/archive/2006/03/19/554740.aspx</link><pubDate>Sun, 19 Mar 2006 12:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:554740</guid><dc:creator>BrettSh</dc:creator><slash:comments>23</slash:comments><comments>http://blogs.msdn.com/brettsh/comments/554740.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brettsh/commentrss.aspx?PostID=554740</wfw:commentRss><description>&lt;font face="Verdana"&gt;I've run in &lt;a HREF="/brettsh/archive/2006/03/16/553388.aspx"&gt;thread degraded mode&lt;/a&gt; for 2 or 3 weeks
without a hitch before, this time I wasn't so lucky.&amp;nbsp; After about
6 hours explorer spun up taking 50% CPU (given it's a HT machine, that
usually means 1 thread spinning endlessly).&amp;nbsp; Heuve!&amp;nbsp; That
just won't do.&amp;nbsp; But we can merely degrade this thread too ... once we
find it ...&lt;br&gt;
&lt;br&gt;
So I ctrl-C in the debugger window that got started from &lt;a HREF="/brettsh/archive/2006/03/16/553388.aspx"&gt;part 1&lt;/a&gt; ...&lt;br&gt;&lt;/font&gt;
&lt;blockquote&gt;&lt;font face="Verdana"&gt;
Alternatively: If you don't have debugger attached up to the process yet,
you can do so, by going to the C:\debuggers directory (expained in &lt;a HREF="/brettsh/archive/2006/03/16/553388.aspx"&gt;part 1&lt;/a&gt;), typing "tlist" to
find the Process ID (PID) of the explorer.exe process, and then run "ntsd
-p &amp;lt;PID&amp;gt;".&lt;/font&gt;&lt;br&gt;
&lt;/blockquote&gt;
&lt;font face="Verdana"&gt;
At the debug prompt we type "!runaway", which gives you something like this:&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:076&amp;gt; !runaway&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; User Mode Time&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; Thread&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 73:1acc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 days 6:36:51.328&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1:ec0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 days 1:39:27.203&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 15:1ac&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 days 0:06:01.640&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 12:f94&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 days 0:05:44.281&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ... deleted the other ~80 threads ...&lt;br&gt;
The time column is cumulative CPU time the thread has used.&lt;br&gt;
&lt;br&gt;
At this point you 'g' the debugger, wait for a short timed interval,
then hit ctrl-C again to re-break into the debugger.&amp;nbsp; I waited 30
seconds myself, and then re-run the !runaway command ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:082&amp;gt; !runaway&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; User Mode Time&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; Thread&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;font color="#ff0000"&gt;&lt;b&gt;73&lt;/b&gt;&lt;/font&gt;:1acc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 days 6:3&lt;font color="#0000ff"&gt;&lt;b&gt;7:21&lt;/b&gt;&lt;/font&gt;.359&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1:ec0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 days 1:39:28.406&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 15:1ac&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 days 0:06:01.671&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 12:f94&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 days 0:05:44.281&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br&gt;
You can see from the &lt;font color="#0000ff"&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/font&gt; that
thread 73 is our culprit, as it's cumulative CPU time went up by nearly
exactly 30 seconds.&amp;nbsp; Note the culprit thread isn't guaranteed to
be the top thread, but it was in my case.&lt;br&gt;
&lt;br&gt;
So the "~f" command from the first blog affects the "current" thread in
the debugger, which you can see above is thread 82, not exactly, well
... not at all what is desired.&amp;nbsp; We want thread 73 to be frozen
though, so here is how you freeze a specific thread:&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:082&amp;gt; &lt;font color="#000000"&gt;~&lt;font color="#ff0000"&gt;&lt;b&gt;73&lt;/b&gt;&lt;/font&gt;f&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:082&amp;gt; g&lt;br&gt;
Now I'm back to normal, CPU settles down, go back to work.&lt;br&gt;
&lt;br&gt;Sometime later the next thing is I AV'd when I typed a search in the MSN Desktop
Search box on the task bar &lt;a href="http://brett.shirley.name/blog/imgsrc/blog2_taskband.jpg"&gt;see the bottom of my start bar&lt;/a&gt; ... since MSN DS was the source of the
original issue, &lt;/font&gt;&lt;font face="Verdana"&gt;not sure
why I'd have expected that to work (I can be really stupid sometimes, I'll blog more about that)&lt;/font&gt;&lt;font face="Verdana"&gt;, one more thread to freeze and
then 'g' the process.&lt;br&gt;
&lt;br&gt;
The last thing that AV'd is &amp;lt;window&amp;gt;-E.&amp;nbsp; Don't know why that AV'd, but don't care I can live without file explorer.&lt;br&gt;
&lt;br&gt;
Though I am not sure I can live without desktop search ... I sense a reboot is in my future ...&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=554740" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A002A00_/default.aspx">Comp::*</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A002A00_/default.aspx">Comp::Impl::*</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A00_WinNT/default.aspx">Comp::Impl::WinNT</category></item><item><title>Try explorer's thread degraded mode ...</title><link>http://blogs.msdn.com/brettsh/archive/2006/03/16/553388.aspx</link><pubDate>Fri, 17 Mar 2006 04:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:553388</guid><dc:creator>BrettSh</dc:creator><slash:comments>61</slash:comments><comments>http://blogs.msdn.com/brettsh/comments/553388.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brettsh/commentrss.aspx?PostID=553388</wfw:commentRss><description>&lt;font face="Verdana"&gt;On any given day that is past say 7 days of uptime, I have 100 - 300 windows open, not kidding, here is a shot of &lt;a href="http://brett.shirley.name/blog/imgsrc/blog2_taskband.jpg"&gt;my current task bar&lt;/a&gt;
... there shouldn't be anything msft confidential there, at least that
you'd actually be able to read more than 4 or 5 letters of ... I know
by heart I have 41 rows, so that's 204 windows open there ... I turn
off that "group similar taskbar buttons" "feature", and the buttons show
up in order, so a given "job" usually has task buttons around each
other (in fact the last 6 buttons there are for this blog post) ... so what
does this have to do with explorer ... &lt;br&gt;
&lt;br&gt;
The basic upshot of this computing lifestyle choice is that my heart
skips a beat and then visceral pain sets in whenever explorer AVs
(Access Violation) ... explorer is what controls the start bar, and
when it restarts the task buttons will be in a random order ... for the
*nix types, this is like your window manager core dumping ... it's
awefulness.&lt;br&gt;
&lt;br&gt;
Right so getting to thread degraded mode ... my own term, for when you
simply freeze the AV'd thread in a process, and allow the process to
continue on its merry way.&amp;nbsp; You
can do this because maybe the thread may not be doing something
particularly useful, ergo it is "not a very serious AV", or maybe call
it a "slight AV".&amp;nbsp; The process often (sometimes?) continues to
function.&lt;br&gt;
&lt;br&gt;
How to use thread degraded mode:&lt;br&gt;
&lt;br&gt;
First, you will have to prepare your machine for initiating thread degraded mode ...&lt;br&gt;
&lt;br&gt;
You will need to get a user mode debugger (there may already be a
ntsd.exe in your system32, which should work, but no one uses that anchient one) go get a
&lt;a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"&gt;good version&lt;/a&gt;, which for an x86 box installs from this &lt;a href="http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.6.03.5.exe"&gt;exe&lt;/a&gt; (i think).&amp;nbsp; Install it
to C:\debuggers, everyone &lt;a HREF="/larryosterman/archive/2006/03/01/541403.aspx"&gt;else&lt;/a&gt; around here seems to.&lt;br&gt;&lt;br&gt;
Navigate to this registry key (&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;103861&amp;amp;sd=tech"&gt;read more about it&lt;/a&gt;):&lt;br&gt;
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug"&lt;br&gt;
Create registry string (REG_SZ) value with a name of "Debugger" and value of&lt;br&gt;
"C:\debuggers\ntsd -p %ld -g -G -e %ld"&lt;br&gt;
If it already has a value you may want to save it.&lt;br&gt;&lt;br&gt;
You only have to do those steps once, and now you are ready to run in thread degraded mode, if the need should arise.&lt;br&gt;
&lt;br&gt;
The next time explorer (or any application) crashes / AVs on you, you
will get an option to debug the process ... select "Debug" or "Yes" or
whatever ... this will open a debugger attached to explorer ( you'll
probably have to alt-tab to find this new debugger window, because the
task bar will be frozen/unresponsive while you debug it ;).&lt;br&gt;
&lt;br&gt;
The debugger will open with the AV'ing thread as the current thread, so
use "~f&amp;lt;enter&amp;gt;" (that is a tilde), to freeze this thread.&amp;nbsp;
Then "g&amp;lt;enter&amp;gt;" will let the task bar come back to you
(maybe).&amp;nbsp; At this point you should be praying that the thread you
froze isn't holding any crucial critical sections or locks, and that
things will return to "normal" ... your mileage may vary ... greatly.&lt;br&gt;
&lt;br&gt;It will look like this:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:008&amp;gt; ~f&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:008&amp;gt; g&lt;br&gt;
&lt;br&gt;
After you 'g' it, it will start printing this kind of thing in the debugger ...&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System 0: 1 of 84 threads are frozen&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System 0: 1 of 84 threads were frozen&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System 0: 1 of 84 threads are frozen&lt;br&gt;
That's just explorer letting you know it loves you for not letting go, and putting it on life support.&lt;br&gt;
&lt;br&gt;
Oh the crash was in MSN Desktop Search, but I don't fault (intended ;)
them because I'm running the first beta of the software released in Dec
2004, I've heard they've had an update since then.&lt;br&gt;
&lt;br&gt;
Anyway, as of approximately 8:20 AM (PST) yesterday (wed) morning, I've been
running in thread degraded mode ... as I finish this post I've got 4
frozen threads ... there were a few more threads with "issues" but I don't
have time to blog about them right yet ...&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=553388" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brettsh/archive/tags/_2A003A003A00_So+fetch/default.aspx">*::So fetch</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A002A00_/default.aspx">Comp::*</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A002A00_/default.aspx">Comp::Impl::*</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A00_WinNT/default.aspx">Comp::Impl::WinNT</category></item><item><title>Show me the backups (win2k3 sp1)...</title><link>http://blogs.msdn.com/brettsh/archive/2006/02/09/528708.aspx</link><pubDate>Thu, 09 Feb 2006 14:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:528708</guid><dc:creator>BrettSh</dc:creator><slash:comments>78</slash:comments><comments>http://blogs.msdn.com/brettsh/comments/528708.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brettsh/commentrss.aspx?PostID=528708</wfw:commentRss><description>&lt;font face="Verdana"&gt;It recently came to my attention that repadmin + showbackup had &lt;a href="http://www.google.com/search?q=repadmin+showbackup"&gt;no google hits&lt;/a&gt;!&amp;nbsp; &lt;/font&gt;&lt;font face="Verdana"&gt;Well I'd like to fix that.&lt;br /&gt;
&lt;br /&gt;
First a little back story ... &lt;/font&gt;&lt;font face="Verdana"&gt;around I guess 2003 there had been a growing trend (&lt;font size="1"&gt;of PSS whining, er I mean noticing that&lt;/font&gt;) customers are not taking &lt;b&gt;any &lt;/b&gt;backups,
and many customers didn't quite understand how application Naming
Contexts (NCs) are not replicated to every Domain Controller (thus the
old adage of "backup one DC from every domain" was stale) ... and so
people would be missing critical data at restore time ... with restore
time
being like the 3rd worst time to be missing critical data, but the most
likely time to call PSS, PSS asked if
we could help, and we / AD dev &lt;/font&gt;&lt;font face="Verdana"&gt;(&lt;font size="1"&gt;were
drunk when they asked, had time on our hands, tired of feeling guilty
about our in-box monitoring tools story, felt like "putting the feature
back in service pack", maybe we were bored... whoa is this my outside
voice?&lt;/font&gt;) &lt;/font&gt;&lt;font face="Verdana"&gt;happily said what can we do to help...&lt;br /&gt;
&lt;br /&gt;
So to address this issue, for Win2k3 SP1 we hashed out adding the ability for DCs
to log an event
(Event ID 2089) if a Naming Context is not being backed up regularly
within a certain latency.&amp;nbsp; The default latency is 1/2 the tombstone
lifetime (too long IMNHO) ... oh and there is a reason this event won't be logged for an NC, but whatever ... this is not
a post about that mechanism / event
(more on it someday), besides we're not even sure most admins are
capable of reading the event logs (is that too insulting ...where is the line?&amp;nbsp; I can never tell?) ...&lt;br /&gt;
&lt;br /&gt;OK, event logs are fine, but you want to know now!&amp;nbsp; When I
added the 2089 event to AD, I added the /showbackup command to
repadmin.&amp;nbsp; This basically can show when backups were taken of
various writable NCs the DC hosts. (&lt;font size="1"&gt;this block may make the post wide, probably mess stuff up, but anyway here is the output of the command&lt;/font&gt;):&lt;/font&gt;&lt;br /&gt;
&lt;br /&gt;

&lt;pre&gt;C:\bin\rel\win2k3\sp1\x86fre&amp;gt;repadmin.exe /showbackup mycorp-dc-02&lt;br /&gt;&lt;br /&gt;Loc.USN                          Originating DC   Org.USN  Org.Time/Date          Ver Attribute&lt;br /&gt;=======                          =============== ========= =============          === =========&lt;br /&gt;&lt;b&gt;&lt;font color="#008000"&gt;DC=DomainDnsZones,DC=MyCorp,DC=com&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;329205835     084f51ed-d53e-4bad-83db-28694870fdb9 127958011 &lt;b&gt;&lt;font color="#008000"&gt;2006-02-08 02:51:22&lt;/font&gt;&lt;/b&gt;  197 dSASignature&lt;br /&gt;DC=ForestDnsZones,DC=MyCorp,DC=com&lt;br /&gt;329258203     084f51ed-d53e-4bad-83db-28694870fdb9 127958010 2006-02-08 02:51:22  202 dSASignature&lt;br /&gt;CN=Schema,CN=Configuration,DC=MyCorp,DC=com&lt;br /&gt;330447680     e0cc9580-1546-4da9-af2b-0929c37a378a  68598018 2006-02-09 02:14:56  897 dSASignature&lt;br /&gt;CN=Configuration,DC=MyCorp,DC=com&lt;br /&gt;330447359     e0cc9580-1546-4da9-af2b-0929c37a378a  68598017 2006-02-09 02:14:56  898 dSASignature&lt;br /&gt;DC=MyCorp,DC=com&lt;br /&gt;329205750     084f51ed-d53e-4bad-83db-28694870fdb9 127958006 2006-02-08 02:51:20  205 dSASignature&lt;br /&gt;DC=UnLovedOlderChild,DC=MyCorp,DC=com&lt;br /&gt;DC=UnLovedYoungerChild,DC=MyCorp,DC=com&lt;br /&gt;
&lt;/pre&gt;

&lt;font face="Verdana"&gt;Obviously the green is showing you can basically see when the DomainDnsZones was last
backup.&amp;nbsp; You can probably guess from this output how we are tracking the last backup too.&amp;nbsp; Note: &lt;u&gt;&lt;i&gt;This tracking can only be done if a DC you're taking backups on is upgraded to Win2k3 SP1.&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;And o&lt;/font&gt;&lt;font face="Verdana"&gt;f
course "repadmin /showbackup *" should work if you want to capture the
last backup time across all NCs (which means hitting all DCs, thus the
*).&amp;nbsp; Don't assume your backup software is smart enough to understand where the NCs are instantiated / replicated to.&lt;br /&gt;
&lt;br /&gt;
It's funny (&lt;font size="1"&gt;or embarressing, depending on who you are&lt;/font&gt;) 2 years after coding something, you review it, and immediately see everything you screwed up...&lt;br /&gt;
&lt;/font&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;font face="Verdana"&gt;The above command should've resolved the
Orig DC invocation IDs into DC names, so you could know where that
backup was taken.&amp;nbsp; That's just fricken
sloppy, sorry about that.&amp;nbsp; I really piss me off sometimes.&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Verdana"&gt;In retrospect it would have been better to add
another partition test to dcdiag.&amp;nbsp; That would've been way sweeter,
fails if over timestamp latency, and /v would print out how old the
last backup is, and what DC it was taken on.&lt;/font&gt;&lt;/li&gt;
  &lt;li&gt;&lt;font face="Verdana"&gt;Would've
been cool to add to ntdsutil the ability to control the backup latency
event's sensitity on a per partition basis.&amp;nbsp; The feature has this
ability today it is just not exposed, instead you've got to use a reg
key (which I don't recommend).&lt;br /&gt;
&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana"&gt;This was actually from a corp DC, but I
changed the names ... but it makes me wonder if that's right our child
domains aren't being backed up, or there is a bug in the tool /
mechanism?&amp;nbsp; Those are partial replicas though, it might not being working on partial
replicas ... that's an excercise for the reader ... let me know.&lt;br /&gt;
    &lt;/font&gt;&lt;/li&gt;

  &lt;font face="Verdana"&gt;&lt;/font&gt;
&lt;/ul&gt;&lt;font face="Verdana"&gt;So there you have it repadmin /showbackup, as
any self respecting admin, I suggest you move "Try a test restore of our
backups" to the bottom of your TODO list, and play with this repadmin
command instead.&amp;nbsp; No, no don't worry the restore will just work if you need it, play with this instead.&lt;br /&gt;
&lt;br /&gt;Well, that is IMNHO only about 1/2 a post
... I didn't even get to the Backup FSMO role (some other time hopefully) ... but
tis all I have time for now, sorry.&lt;br /&gt;
&lt;/font&gt;&lt;font face="Arial"&gt;&lt;font face="Verdana"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Arial"&gt;&lt;font face="Verdana"&gt;OK, they CAN NOT be serious, I only have a
single sans-serif
font to choose from!?&amp;nbsp; Oh, and that font (Arial) even has a sertif on lower case-t.&amp;nbsp; Verdana
has serifs on upper case I, but it is mostly serifless.&amp;nbsp; Guh, I'm not sure I can actually live with
blogging in
this medium, alright Verdana it is, &lt;/font&gt;&lt;/font&gt;&lt;font face="Arial"&gt;&lt;font face="Verdana"&gt;god I miss my Mac ...&lt;br /&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;Oh and if you're wondering it was Mr "&lt;/font&gt;&lt;font face="Verdana"&gt;Grillenmeier, &lt;/font&gt;&lt;font face="Verdana"&gt;Guido" that was the unintentional catalyst to my first post, &lt;b&gt;not&lt;/b&gt; &lt;/font&gt;&lt;font face="Verdana"&gt;the &lt;a href="../../michkap/archive/2005/04/17/409062.aspx"&gt;more&lt;/a&gt; &lt;/font&gt;&lt;font face="Verdana"&gt;&lt;a href="http://blogs.technet.com/efleis/archive/category/10013.aspx"&gt;derisive&lt;/a&gt; &lt;/font&gt;&lt;font face="Verdana"&gt;&lt;a href="../../adioltean/archive/2005/08/28/457422.aspx"&gt;elements&lt;/a&gt; &lt;a href="http://blog.joeware.net/2006/01/10/205/"&gt;of&lt;/a&gt; my life.&lt;/font&gt;&lt;br /&gt;
&lt;font face="Arial"&gt;&lt;font face="Verdana"&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;
Cheers,&lt;br /&gt;
BrettSh [msft]&lt;br /&gt;
Building #7 Garage Door Operator&lt;br /&gt;
&lt;br /&gt;P.S. - I still am not quite happy with my categories yet, and I
still don't have my Orange theme back, (remorseful voice) it was a
really good theme.&amp;nbsp; But at least I can complain now as I'm
blogging^H^H^H^Hed.&lt;br /&gt;
&lt;/font&gt;&lt;br /&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=528708" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brettsh/archive/tags/Comp_3A003A00_Impl_3A003A00_AD/default.aspx">Comp::Impl::AD</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/Z_5F002600_lt_3B003A003A00_AD_3A003A00_Tools_3A003A00_Repadmin_2600_gt_3B00_/default.aspx">Z_&amp;lt;::AD::Tools::Repadmin&amp;gt;</category><category domain="http://blogs.msdn.com/brettsh/archive/tags/BAS_5F00_TODO/default.aspx">BAS_TODO</category></item></channel></rss>