﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-维生素C.net</title><link>http://www.cnblogs.com/fanweixiao/</link><description>We cannot solve our problems with the same thinking we used when we created them</description><language>zh-cn</language><lastBuildDate>Sun, 05 Jul 2009 18:42:23 GMT</lastBuildDate><pubDate>Sun, 05 Jul 2009 18:42:23 GMT</pubDate><ttl>60</ttl><item><title>bat编写进阶</title><link>http://www.cnblogs.com/fanweixiao/archive/2009/06/29/1513162.html</link><dc:creator>new 维生素C.net()</dc:creator><author>new 维生素C.net()</author><pubDate>Mon, 29 Jun 2009 05:52:00 GMT</pubDate><guid>http://www.cnblogs.com/fanweixiao/archive/2009/06/29/1513162.html</guid><wfw:comment>http://www.cnblogs.com/fanweixiao/comments/1513162.html</wfw:comment><comments>http://www.cnblogs.com/fanweixiao/archive/2009/06/29/1513162.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/fanweixiao/comments/commentRss/1513162.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/fanweixiao/services/trackbacks/1513162.html</trackback:ping><description><![CDATA[<p><a href="http://www.computerhope.com/batch.htm">http://www.computerhope.com/batch.htm</a></p><img src ="http://www.cnblogs.com/fanweixiao/aggbug/1513162.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47989/" target="_blank">Twitter无处不在 魔兽世界Twitter发送器插件发布</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>不知道怎么继续dump了</title><link>http://www.cnblogs.com/fanweixiao/archive/2009/06/29/1513163.html</link><dc:creator>new 维生素C.net()</dc:creator><author>new 维生素C.net()</author><pubDate>Mon, 29 Jun 2009 05:52:00 GMT</pubDate><guid>http://www.cnblogs.com/fanweixiao/archive/2009/06/29/1513163.html</guid><wfw:comment>http://www.cnblogs.com/fanweixiao/comments/1513163.html</wfw:comment><comments>http://www.cnblogs.com/fanweixiao/archive/2009/06/29/1513163.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/fanweixiao/comments/commentRss/1513163.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/fanweixiao/services/trackbacks/1513163.html</trackback:ping><description><![CDATA[<p><font face="Consolas">使用-crash模式抓的dump文件，打开2nd chance exception的dump</font>  <p><font size="2" face="Consolas">0:037&gt; </font><font size="2"><font face="Consolas"><strong><font color="#ff0000">.loadby sos mscorwks</font><br></strong>0:037&gt; <strong><font color="#ff0000">.reload</font></strong><br>................................................................<br>................................................................<br>.............................<br>Missing image name, possible paged-out or corrupt data.<br>Loading unloaded module list<br>...<br>0:037&gt; </font></font><font size="2"><font face="Consolas"><strong><font color="#ff0000">kb 2000<br></font></strong>RetAddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Args to Child&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Call Site<br>00000642`7f53c8e5 : 00000000`04553010 00000000`00000055 00000000`e0434f4d 00000000`04553010 : </font></font><font size="2" face="Consolas">kernel32!RaiseException+0x5c<br>00000642`7f8b55e7 : 00000000`8252c780 00000000`00000000 00000642`00000000 00000642`00000001 : </font><font size="2" face="Consolas">mscorwks!RaiseTheExceptionInternalOnly+0x295<br>00000642`7f8b62c6 : 00002026`00000001 00000642`00000000 00008653`fba98e98 00000000`00000000 : </font><font size="2" face="Consolas">mscorwks!RaiseTheException+0x57<br>00000642`7f938b55 : 00000000`00000055 00000000`04553001 00000000`00000015 00000000`00000000 : </font><font size="2" face="Consolas">mscorwks!BStrFromString+0x66<br>00000642`7f938b6b : 00000000`8252c780 00000000`00000000 00000000`00000000 00000000`00000000 : </font><font size="2" face="Consolas">mscorwks!RealCOMPlusThrow+0x35<br>00000642`7f956b56 : 00000000`07d9f7c0 ffffffff`ffffffff 00000000`00000003 00000000`00000000 : </font><font size="2" face="Consolas">mscorwks!RealCOMPlusThrow+0xb<br>00000642`7f7fc3b8 : 00000000`00000000 00000000`07d9f9c8 ffffffff`00000001 00000000`044ad2e0 : </font><font size="2"><font face="Consolas"><font color="#008000"><strong><em>mscorwks!Thread::RaiseCrossContextException+0x2d6</em></strong><br></font>00000642`7f447f0d : 00000000`00000000 00000000`00000001 00000000`00000000 00000642`7f50946a : </font></font><font size="2"><font face="Consolas"><strong><font color="#008000"><em>mscorwks!`string'+0x62638</em></font></strong><br>00000642`7f556aa9 : 00000000`0d4654cd 00000642`7f496500 00000000`00000000 00000000`07d9fba8 : </font></font><font size="2"><font face="Consolas"><strong><em><font color="#008000">mscorwks!Thread::DoADCallBack+0x4ad</font></em></strong><br>00000642`7f43afdd : 00000000`044ad2e0 00000000`04553010 00000000`07d9fab0 00000000`0010a0a0 : </font></font><font size="2" face="Consolas">mscorwks!CNgenEntryBind::Create+0x15d<br>00000642`7f435296 : 00000000`07d9fba8 ffffffff`ffffffff 00000000`04553010 00000000`07d9e710 : </font><font size="2" face="Consolas">mscorwks!MethodTable::IsAbstract+0x49<br>00000642`7f4162bb : ffffffff`fffffffe 00000000`00000001 ffffffff`fffffffe 00000000`0a51cd50 : mscorwks!</font><font size="2" face="Consolas">AddTimerCallbackEx+0xba<br>00000642`7f495fa7 : ffffffff`fffffffe 00000000`00000001 00000000`00000000 00000000`00000001 : </font><font size="2" face="Consolas">mscorwks!ThreadpoolMgr::AsyncTimerCallbackCompletion+0x53<br>00000642`7f4aad0a : 00000000`00000001 00000000`00000000 00000000`00000002 00000000`04553010 : </font><font size="2" face="Consolas">mscorwks!UnManagedPerAppDomainTPCount::DispatchWorkItem+0x157<br>00000642`7f41f9a0 : 00000000`00000000 00000000`00000000 00000000`07d9ff50 00000000`00000000 : </font><font size="2" face="Consolas">mscorwks!ThreadpoolMgr::WorkerThreadStart+0x1ba<br>00000000`77d6b6da : 00000000`77d6b6a0 00000000`00000000 00000000`00000000 00000000`07d9ffa8 : </font><font size="2" face="Consolas">mscorwks!Thread::intermediateThreadProc+0x78<br>00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadStart+0x3a </font></p> <p><font size="2" face="Consolas">0:037&gt; </font><font size="2"><font face="Consolas"><strong><font color="#ff0000">!clrstack<br></font></strong>OS Thread Id: 0x17e0 (37)<br>Child-SP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RetAddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call Site </font></font> <p><font size="2" face="Consolas">0:037&gt; </font><font size="2"><font face="Consolas"><font color="#ff0000"><strong>kL 2000<br></strong></font>Child-SP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RetAddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call Site<br>00000000`07d9f3d0 00000642`7f53c8e5 kernel32!RaiseException+0x5c<br>00000000`07d9f4a0 00000642`7f8b55e7 mscorwks!RaiseTheExceptionInternalOnly+0x295<br>00000000`07d9f570 00000642`7f8b62c6 mscorwks!RaiseTheException+0x57<br>00000000`07d9f5a0 00000642`7f938b55 mscorwks!BStrFromString+0x66<br>00000000`07d9f5d0 00000642`7f938b6b mscorwks!RealCOMPlusThrow+0x35<br>00000000`07d9f640 00000642`7f956b56 mscorwks!RealCOMPlusThrow+0xb<br>00000000`07d9f670 00000642`7f7fc3b8 mscorwks!Thread::RaiseCrossContextException+0x2d6<br>00000000`07d9f880 00000642`7f447f0d mscorwks!`string'+0x62638<br>00000000`07d9f9f0 00000642`7f556aa9 mscorwks!Thread::DoADCallBack+0x4ad<br>00000000`07d9fa40 00000642`7f43afdd mscorwks!CNgenEntryBind::Create+0x15d<br>00000000`07d9fb10 00000642`7f435296 mscorwks!MethodTable::IsAbstract+0x49<br>00000000`07d9fb50 00000642`7f4162bb mscorwks!AddTimerCallbackEx+0xba<br>00000000`07d9fc10 00000642`7f495fa7 mscorwks!ThreadpoolMgr::AsyncTimerCallbackCompletion+0x53<br>00000000`07d9fc70 00000642`7f4aad0a mscorwks!</font></font><font size="2" face="Consolas">UnManagedPerAppDomainTPCount::DispatchWorkItem+0x157<br>00000000`07d9fd10 00000642`7f41f9a0 mscorwks!ThreadpoolMgr::WorkerThreadStart+0x1ba<br>00000000`07d9fdb0 00000000`77d6b6da mscorwks!Thread::intermediateThreadProc+0x78<br>00000000`07d9ff80 00000000`00000000 kernel32!BaseThreadStart+0x3a </font> <p><font size="2" face="Consolas">0:037&gt;</font><font size="2"><font face="Consolas"><strong><font color="#ff0000"> !pe </font><font color="#0000ff">（打印出这个exception）<br></font></strong>Exception object: 000000008252c780<br>Exception type: System.NullReferenceException<br>Message: Object reference not set to an instance of an object.<br>InnerException: &lt;none&gt;<br>StackTrace (generated):<br>&lt;none&gt;<br>StackTraceString: &lt;none&gt;<br>HResult: 80004003 </font></font> <p><font size="2" face="Consolas">0:037&gt; <strong><font color="#ff0000">!dso<font color="#0000ff">（dump stack object）</font></font></strong><br>OS Thread Id: 0x17e0 (37)<br>RSP/REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name<br>0000000007d9f468 000000008252c780 System.NullReferenceException<br>0000000007d9f570 000000008252c780 System.NullReferenceException<br>0000000007d9f640 000000008252c780 System.NullReferenceException<br>0000000007d9f6b0 000000008252c780 System.NullReferenceException<br>0000000007d9f6e8 <strong><em><font color="#008000">000000008232a548</font></em></strong> <em>System.NullReferenceException</em><font color="#ff0000"><font color="#0000ff"><strong>&lt;---<font color="#ff0000"><font color="#0000ff">（</font></font>把最原始的异常找出来）</strong></font></font> <br>0000000007d9f740 00000001600aa398 System.Threading.Thread </font> <p><font size="2" face="Consolas">0:037&gt;<strong><font color="#ff0000"> !pe 000000008232a548<font color="#0000ff">（看最原始的异常）</font></font></strong> <br>Exception object: 000000008232a548<br>Exception type: System.NullReferenceException<br>Message: Object reference not set to an instance of an object.<br>InnerException: &lt;none&gt;<br>StackTrace (generated):<br>&nbsp;&nbsp;&nbsp; SP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Function<br>&nbsp;&nbsp;&nbsp; 0000000007D9C600 <strong>00000642BD3E863C System_Web_ni!</strong></font><font size="2" face="Consolas"><strong>System.Web.SessionState.SessionStateModule.PollLockedSessionCallback(System.Object)+0x2d9a2c</strong><br>&nbsp;&nbsp;&nbsp; 0000000007D9EB40 000006427830C878 mscorlib_ni!System.Threading.ExecutionContext.runTryCode</font><font size="2" face="Consolas">(System.Object)+0x178<br>&nbsp;&nbsp;&nbsp; 0000000007D9F3F0 0000000000000001 mscorlib_ni!</font><font size="2" face="Consolas">System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, </font><font size="2" face="Consolas">CleanupCode, System.Object)+0x2<br>&nbsp;&nbsp;&nbsp; 0000000007D9F3F0 00000642782F1702 mscorlib_ni!System.Threading.ExecutionContext.Run</font><font size="2" face="Consolas">(System.Threading.ExecutionContext,System.Threading.ContextCallback, System.Object)+0x62<br>&nbsp;&nbsp;&nbsp; 0000000007D9F440 000006427834D696 mscorlib_ni!</font><font size="2" face="Consolas">System.Threading._TimerCallback.PerformTimerCallback(System.Object)+0x86 </font> <p><font size="2" face="Consolas">StackTraceString: &lt;none&gt;<br>HResult: 80004003</font></p><img src ="http://www.cnblogs.com/fanweixiao/aggbug/1513163.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47989/" target="_blank">Twitter无处不在 魔兽世界Twitter发送器插件发布</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>SecureCRT下文件传输 Redhat/CentOS</title><link>http://www.cnblogs.com/fanweixiao/archive/2009/06/16/1504167.html</link><dc:creator>new 维生素C.net()</dc:creator><author>new 维生素C.net()</author><pubDate>Tue, 16 Jun 2009 03:24:00 GMT</pubDate><guid>http://www.cnblogs.com/fanweixiao/archive/2009/06/16/1504167.html</guid><wfw:comment>http://www.cnblogs.com/fanweixiao/comments/1504167.html</wfw:comment><comments>http://www.cnblogs.com/fanweixiao/archive/2009/06/16/1504167.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/fanweixiao/comments/commentRss/1504167.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/fanweixiao/services/trackbacks/1504167.html</trackback:ping><description><![CDATA[<p>使用的命令是lrz和lsz</p> <p>lrzsz的下载地址在这:<a title="http://www.ohse.de/uwe/software/lrzsz.html" href="http://www.ohse.de/uwe/software/lrzsz.html">http://www.ohse.de/uwe/software/lrzsz.html</a></p><img src ="http://www.cnblogs.com/fanweixiao/aggbug/1504167.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47988/" target="_blank">Firefox 3.5匆忙推出漏洞多 Mozilla本月将更新</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>关于backup的</title><link>http://www.cnblogs.com/fanweixiao/archive/2009/05/30/1492378.html</link><dc:creator>new 维生素C.net()</dc:creator><author>new 维生素C.net()</author><pubDate>Sat, 30 May 2009 11:07:00 GMT</pubDate><guid>http://www.cnblogs.com/fanweixiao/archive/2009/05/30/1492378.html</guid><wfw:comment>http://www.cnblogs.com/fanweixiao/comments/1492378.html</wfw:comment><comments>http://www.cnblogs.com/fanweixiao/archive/2009/05/30/1492378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/fanweixiao/comments/commentRss/1492378.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/fanweixiao/services/trackbacks/1492378.html</trackback:ping><description><![CDATA[<p>常用的备份方式是Full backup和Simulated incremental两种，即我们说的全量备份和增量备份。前者备份慢，恢复快；后者相反。这两种方式往往同时使用，比如每周一次的Full back，每天一次和多次的Incremental。这样才能保证备份的目的，能快速备份能快速恢复。</p> <p>但是这个方式还不是最好的。还有一种比较好的方式是True incremental（差分备份）能达到快速备份和快速恢复的目的。</p><img src ="http://www.cnblogs.com/fanweixiao/aggbug/1492378.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47987/" target="_blank">预测：Twitter最可能收购的十家公司</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>GC在.net3.5和.net4.0的变化</title><link>http://www.cnblogs.com/fanweixiao/archive/2009/05/30/1492266.html</link><dc:creator>new 维生素C.net()</dc:creator><author>new 维生素C.net()</author><pubDate>Sat, 30 May 2009 07:38:00 GMT</pubDate><guid>http://www.cnblogs.com/fanweixiao/archive/2009/05/30/1492266.html</guid><wfw:comment>http://www.cnblogs.com/fanweixiao/comments/1492266.html</wfw:comment><comments>http://www.cnblogs.com/fanweixiao/archive/2009/05/30/1492266.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/fanweixiao/comments/commentRss/1492266.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/fanweixiao/services/trackbacks/1492266.html</trackback:ping><description><![CDATA[<p>在3.5之前，我们拿GC是没有办法的。通常情况下我们的web server都是多线程+多核的，这时我们使用的是ServerGC模式。ServerGC最大的特点在于当GC发生时禁止了所有内存的分配活动，也就是说程序此时相当于停止响应了。但是这里带来的好处是将会有#procs * #cores的GC来一起完成任务，速度也快了很多。</p> <p>但是对于高负载的asp.net来讲，GC是个问题，如果程序写的有问题，很有有可能就让工作的thread和GC的thread产生了lock等等等等…</p> <p>所以在.net3.5出来的时候，GC可以在触发前通知程序，当时给我最直接的感觉就是当一台Web Server在触发GC之时就把负载转移到另一台Web Server上… 很帅~</p> <p>与该功能有关的可以参考下面的几个方法：</p> <p><a href="http://msdn.microsoft.com/en-us/library/system.gc.registerforfullgcnotification.aspx">GC.RegisterForFullGCNotification</a></p> <p><a href="http://msdn.microsoft.com/en-us/library/system.gc.waitforfullgcapproach.aspx">GC.WaitForFullGCApproach</a></p> <p><a href="http://msdn.microsoft.com/en-us/library/system.gcnotificationstatus.aspx">GCNotificationStatus</a></p> <p><a href="http://msdn.microsoft.com/en-us/library/system.gc.waitforfullgccomplete.aspx">GC.WaitForFullGCComplete</a></p> <p><a href="http://msdn.microsoft.com/en-us/library/system.gc.cancelfullgcnotification.aspx">GC.CancelFullGCNotification</a></p> <p>在4.0中的Background mode的GC是允许在一个完整的background GC时开启一个新的GC（gen0和gen1），这样就可以在必要时分配一个新段（segment），这样可以避免很多引发blocking的情况了。</p><img src ="http://www.cnblogs.com/fanweixiao/aggbug/1492266.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47987/" target="_blank">预测：Twitter最可能收购的十家公司</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>比Fnv更好的consistent hashing算法的测试结果</title><link>http://www.cnblogs.com/fanweixiao/archive/2009/05/29/1491554.html</link><dc:creator>new 维生素C.net()</dc:creator><author>new 维生素C.net()</author><pubDate>Thu, 28 May 2009 19:31:00 GMT</pubDate><guid>http://www.cnblogs.com/fanweixiao/archive/2009/05/29/1491554.html</guid><wfw:comment>http://www.cnblogs.com/fanweixiao/comments/1491554.html</wfw:comment><comments>http://www.cnblogs.com/fanweixiao/archive/2009/05/29/1491554.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/fanweixiao/comments/commentRss/1491554.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/fanweixiao/services/trackbacks/1491554.html</trackback:ping><description><![CDATA[<p><strong>为什么有这篇blog</strong>： <p>BeITMemcached Client这个Memcached的client是.net下开源的实现的相对不错的客户端，其中使用的是修改后的Fnv32算法作为Consistent hashing算法，但是经过测试发现该算法存在很大的问题。于是以.net下的MD5算法为基础修改的算法来替代，结果8错~~~ <p><strong>为什么会有Consistent Hashing算法：</strong> <p>为了更高效更安全更可信赖的Scale-Out <p><strong> 测试方法：</strong><br>1.假定有3台cache server，图片中黄色文字为cache server的key<br>2.使用Guid.ToString('N')作为测试数据的cache key<br>3.10,000个测试数据先分布到现有的服务器上，再模拟增加服务器，然后rehash，比较两次分布情况。 <p>【先来看Fnv32算法的改良版使用的情况】 <p>情况1：增加一台cache server后 <p><img src="http://file.fetion.chinacache.net/feike/20090529/97d5fc7c-5945-409a-a7a4-0e80aa0e8c29_800X600.jpg"> <p>情况2：增加1倍的cache server后 <p><img src="http://file.fetion.chinacache.net/feike/20090529/1f60032f-1bfb-4ea4-9763-d286b168323e_800X600.jpg"> <p>【使用以MD5为基础改进的算法】 <p>情况1：增加一台cache server后 <p><img src="http://file.fetion.chinacache.net/feike/20090529/18965f5a-150f-4e37-b519-79661e55f0f9_800X600.jpg"> <p>情况2：增加1倍的cache server后 <p><img src="http://file.fetion.chinacache.net/feike/20090529/f50aa15d-4916-4233-a645-3154c663f836_800X600.jpg"> <p>------总结-------------(华丽的分割线)----------------------------- <p>【基于Fnv32算法改良版的最大缺陷】 <p>a) 分布不均匀。大多数load balance采用的算法都与这个的结果差不多，第一台server往往会承受较大的压力，所以我们在做负载均衡的时候，第一台服务器都要选择比其他服务器性能更好的。而cache server的最大特点是要保持高命中率，当某台server承载的数据量超过该memcached使用的内存后，就会自动使用老的数据的存储空间来存储新来的数据，那么这台cache server基本上了讲就丧失了cache的功效，增加了系统的压力。 <p>b)某一台server的数据迁移现象非常严重。看书长大的孩子和崇拜技术牛人的孩子一样，总是以最终计算的数字来比较好坏。而distribution和load balance的核心是什么？依照我的经验和认识，这个核心就是符合自然界最基本的规律——平衡，达到均衡的状态，才是优美的。 <p>----------关于cache使用的经验------------ <p>根据在.net下使用缓存的经验，就说几点可能大家存在误解的： <p>1.要缓存的东西本身是比较少的——不要为了使用缓存而增加系统复杂度。<br>2.有了缓存系统抗压能力可以上升很大，就忽视了db的满载时的处理能力——缓存从业务架构上来讲经常是不可靠的。<br>3.缓存的关键不是把东西扔到难为GC的地方——缓存要的是命中率，当然如果不是asp.net进程内就没关系。<br>4.memcached不是万能的——缓存的最大潜力是让数据离执行请求的web server的cpu更近。 <img src ="http://www.cnblogs.com/fanweixiao/aggbug/1491554.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47986/" target="_blank">网易澄清:与暴雪合资公司仅提供技术支持</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[网站架构]Boom&amp;amp;Bust---18个月架构</title><link>http://www.cnblogs.com/fanweixiao/archive/2009/05/27/1490518.html</link><dc:creator>new 维生素C.net()</dc:creator><author>new 维生素C.net()</author><pubDate>Tue, 26 May 2009 18:05:00 GMT</pubDate><guid>http://www.cnblogs.com/fanweixiao/archive/2009/05/27/1490518.html</guid><wfw:comment>http://www.cnblogs.com/fanweixiao/comments/1490518.html</wfw:comment><comments>http://www.cnblogs.com/fanweixiao/archive/2009/05/27/1490518.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/fanweixiao/comments/commentRss/1490518.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/fanweixiao/services/trackbacks/1490518.html</trackback:ping><description><![CDATA[<p>&gt;&gt;&gt;&gt;<a href="http://en.wikipedia.org/wiki/Economic_boom" target="_blank">Boom and bust</a> <p>我做互联网的几年，最深刻的感悟就是“<strong>18个月架构</strong>”——从公司对网站的投资回报模型开始，到产品部门设计产品，最后才走到功能实现的流程，当我拿到这份功能需求的时候，我更希望看到的是一个roadmap，一个不多不少，刚好18个月的产品规划。 <p>为什么是18个月？没有什么很科学的解释，完全是对成功的互联网企业产品的分析和自己的亲身经历。越失败的公司在设计产品产品的时候考虑的路子越窄，当然这里是排除有创新的技术实力雄厚的员工数量很少的互联网企业。一个优秀的互联网企业，最直观的表现就是对待产品的态度，最终要做什么，每一步怎么实现，装饰性功能带来效应的线性增长状况和催化效应等等，都应该考虑在18个月内。 <p>为什么一个简单的不得了的功能一定要费很大的精力去做？为什么要破坏书本上和某某技术大牛的经验之谈去写bad smell的代码？website的架构在高可扩展性、高可用性和高并发支持外，还有没有更重要的？ <p>都是搞技术的，我们从starbucks对http的理解上来看： <p>"<em>Even those who are Web-savvy often struggle to understand that the Web isn't about middleware solutions supporting XML over HTTP, nor is it a crude RPC mechanism. This is a shame because the Web has much more value than simple point-to-point connectivity; it is in fact a robust integration platform</em>." <p>我挺赞同他们对http的理解，我也认为集合了原子性操作的http其实是扮演着集成平台的角色。当我们把所有功能划分为Get和Post操作并keep focus在这些问题上的时候，忽略了“战略”。战略就是产品的roadmap，是盈利模式的逐步实现。因此web的架构，还有一个维度，我喜欢叫做“<strong>产品战略架构</strong>”，也就是大家都常听到的“应用架构”。 <p>因此，对于web的架构，是应用架构和系统架构的平衡。因为要去选择这个平衡，所以要放弃很多“看起来很美好的东西”。web的架构不会十全十美，不会永远都是可以随意靠Scale-Out来解决问题，走到一定的阶段，重写比重构更经济，当一个架构无法再承载目前的数据和访问压力的时候，重新设计一套方案往往都会是比较正确的选择——产品或者其某一部分已经达到了一个临界点，可以在这上面做文章了！假设这时候我们已经经历了M个月，那么剩下的18-M个月已经不再那么重要，互联网的产品的变化往往很难预计，当在一个相对成熟的产品之上再做“战略”的时候，产品应该提出一个6个月的路线图，这时的架构需要去重构，去扩张，去做性能优化以支撑，这6个月往往都是实验性的产品变化，当相对稳定的时候，再去考虑该如何重写。 <p>回到文章的标题，wikipedia上对于Boom and bust这个经济学里的词汇是这样定义的“<em>Boom and bust phenomenon have existed for centuries. During a "boom" period, buyers find themselves paying increasingly higher prices until the "bust", at which time the goods and commodities for which they have paid inflated prices may end up as valueless or nearly so.”。</em>可惜的是没有人对该词条做过中文翻译，大概意思是说，在经济繁荣的时期，买家支付越来越高的价格，导致商品因为他们支付的价格膨胀，直到经济萧条的时候买家不再提高价格了，但是这时候他们才发现这些商品已经是豪无价值了。 <p>所以我对于web架构的理解，是：<strong>产品设计与系统架构是紧密相关的，架构的不是功能，而是产品和其与其他产品的集成，并保证整个系统在高并发高负载下的高可用性。</strong></p><img src ="http://www.cnblogs.com/fanweixiao/aggbug/1490518.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47985/" target="_blank">杰克逊悼念仪式或成史上最大规模Web活动</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Facebook, Hadoop and Hive</title><link>http://www.cnblogs.com/fanweixiao/archive/2009/05/12/1455186.html</link><dc:creator>new 维生素C.net()</dc:creator><author>new 维生素C.net()</author><pubDate>Tue, 12 May 2009 11:43:00 GMT</pubDate><guid>http://www.cnblogs.com/fanweixiao/archive/2009/05/12/1455186.html</guid><wfw:comment>http://www.cnblogs.com/fanweixiao/comments/1455186.html</wfw:comment><comments>http://www.cnblogs.com/fanweixiao/archive/2009/05/12/1455186.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/fanweixiao/comments/commentRss/1455186.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/fanweixiao/services/trackbacks/1455186.html</trackback:ping><description><![CDATA[<p>原文地址:<a title="http://www.dbms2.com/2009/05/11/facebook-hadoop-and-hive/" href="http://www.dbms2.com/2009/05/11/facebook-hadoop-and-hive/">http://www.dbms2.com/2009/05/11/facebook-hadoop-and-hive/</a> <p>I few weeks ago, I posted about a conversation I had with Jeff Hammerbacher of Cloudera, in which he discussed a Hadoop-based effort at Facebook he previously directed. Subsequently, Ashish Thusoo and Joydeep Sarma of Facebook contacted me to expand upon and in a couple of instances correct what Jeff had said. They also filled me in on Hive, a data-manipulation add-on to Hadoop that they developed and subsequently open-sourced. <p>Updating the metrics in <a href="http://www.dbms2.com/2009/04/15/cloudera-presents-the-mapreduce-bull-case/">my Cloudera post</a>, <ul> <li>Facebook has 400 terabytes of disk managed by Hadoop/Hive, with a slightly better than 6:1 overall compression ratio. So the <strong>2 1/2 petabytes</strong> figure for user data is reasonable.  <li>Facebook’s Hadoop/Hive system ingests <strong>15 terabytes of new data per day</strong> now, not 10.  <li>Hadoop/Hive cycle times aren’t as fast as I thought I heard from Jeff. Ad targeting queries are the most frequent, and they’re run <strong>hourly.</strong> Dashboards are repopulated <strong>daily.</strong></li></ul> <p>Nothing else in my Cloudera post was called out as being wrong. <p>In a new-to-me metric, Facebook has <strong>610 Hadoop nodes, running in a single cluster,</strong> due to be increased to 1000 soon. Facebook thinks this is the second-largest* Hadoop installation, or else close to it. What’s more, Facebook believes it is unusual in spreading all its apps across a single huge cluster, rather than doing different kinds of work on different, smaller sub-clusters. <p><em>*Apparently, Yahoo is at 2000 nodes (and headed for 4000), 1000 or so of which are operated as a single cluster for a single app.</em> <p>Facebook decided in 2007 to move what was then a 15 terabyte big-DBMS-vendor data warehouse to Hadoop — augmented by Hive — rather than to an MPP data warehouse DBMS. Major drivers of the choice included: <ul> <li><strong>License/maintenance costs.</strong> Free is a good price.  <li><strong>Open source flexibility.</strong> Facebook is one of the few users I’ve ever spoken with that actually cares about modifying open source code.  <li><strong>Ability to run on cheap hardware.</strong> Facebook runs real-time MySQL instances on boxes that cost $10K or so, and would expect to pay at least as much for an MPP DBMS node. But Hadoop nodes run on boxes that cost no more than $4K, and sometimes (depending e.g. on whether they have any disk at all) as little as $2K. These are “true” commodity boxes; they don’t even use RAID.  <li><strong>Ability to scale out to lots of nodes.</strong> Few of the new low-cost MPP DBMS vendors have production systems even today of &gt;100 nodes. (Actually, I’m not certain that any except Netezza do, although Kognitio in a prior release of its technology once built a 900ish node production system.)  <li><strong>Inherently better performance.</strong> Correctly or otherwise, the Facebook guys thought that Hadoop had performance advantages over DBMS, due to the lack of overhead associated with transactions and so on. </li></ul> <p>One option Facebook didn’t seriously consider was sticking with the incumbent, which Facebook folks regarded as “horrible” and a “lost cause.” The daily pipeline took more than 24 hours to process. Although aware that its big-DBMS-vendor warehouse could probably be tuned much better, Facebook didn’t see that as a path to growing its warehouse more than 100-fold.&nbsp; (But based on my discussion with Cloudera, I gather that vendor’s DBMS is indeed used to run some reporting today.) <p><strong>Reliability of Facebook’s Hadoop/Hive system seems to be so-so.</strong> It’s designed for a few nodes at a time to fail; that’s no biggie. There’s a head node that’s a single-point of failure; while there’s a backup node, I gather failover takes 15 minutes or so, a figure the Facebook guys think they could reduce substantially if they put their minds to it. But users submitting long-running queries don’t seem to mind delays of up to an hour, as long as they don’t have to resubmit their queries. Keeping ETL up is a higher priority than keeping query execution going. Data loss would indeed be intolerable, but at that level Hadoop/Hive seems to be quite trustworthy. <p>There also are occasional longer partial(?) outages, when an upgrade introduces a bug or something, but those don’t seem to be a major concern. <p>Facebook’s variability in node hardware raises an obvious question — <strong>how does Hadoop deal with heterogeneous hardware among its nodes?</strong> Apparently a <em>fair scheduling</em> capability has been built for Hadoop, with Facebook as the first major user and Yahoo apparently moving in that direction as well. As for inputs to the scheduler (or any more primitive workload allocator) — well, that depends on the kind of heterogeneity. <ul> <li>Disk heterogeneity — a distributed file system reports back about disk.  <li>CPU heterogeneity — different nodes can be configured to run different numbers of concurrent tasks each.  <li>RAM heterogeneity — Hadoop does not understand the memory requirements of each task, and does not do a good job of matching tasks to boxes accordingly. But the Hadoop community is working to fix this. </li></ul> <p><strong>Further notes on Hive</strong> <p>Without Hive, some basic Hadoop data manipulations can be a pain in the butt. A GROUP BY or the equivalent could take &gt;100 lines of Java or Python code, and unless the person writing it knew something about database technologically, it could use some pretty sub-optimal algorithms even then. Enter Hive. <p>Hive sets out to fix this problem. Originally developed at Facebook (in Java, like Hadoop is), Hive was open-sourced last summer, by which time its SQL interface was in place, and now has 6 main developers. The essence of Hive seems to be: <ul> <li>An interface that implements a subset of SQL  <li>Compilation of that SQL into a MapReduce configuration file.  <li>An execution engine to run same. </li></ul> <p>The SQL implemented so far seems to, unsurprisingly be, what is most needed to analyze Facebook’s log files. I.e., it’s some basic stuff, plus some timestamp functionality. There also is an extensibility framework, and some ELT functionality. <p>Known users of Hive include Facebook (definitely in production) and hi5 (apparently in production as well). Also, there’s a Hive code committer from Last.fm. <p><em><strong>Other links about huge data warehouses:</strong></em> <ul> <li><a href="http://www.dbms2.com/2009/04/30/ebays-two-enormous-data-warehouses/">eBay</a> has a 6 1/2 petabyte database running on Greenplum and a 2 1/2 petabyte enterprise data warehouse running on Teradata.  <li>Wal-Mart, Bank of America, another financial services company, and Dell also have <a href="http://www.dbms2.com/2009/05/11/2008/10/15/teradatas-petabyte-power-players/">very large Teradata databases</a>.  <li>Yahoo’s web/network events database, running on proprietary software, sounded about <a href="http://www.dbms2.com/2009/05/11/2008/05/29/yahoo-scales-web-analytics-database-petabyte/">1/6th the size of eBay’s Greenplum system</a> when it was described about a year ago.  <li>Fox Interactive Media/MySpace has multi-hundred terabyte databases running on each of <a href="http://www.dbms2.com/2009/05/11/2009/03/05/fox-interactive-medias-multi-hundred-terabyte-database-running-on-greenplum/">Greenplum</a> and Aster Data <a href="http://www.dbms2.com/2009/05/11/2009/03/05/myspaces-multi-hundred-terabyte-database-running-on-aster-data/">nCluster</a>.  <li><a href="http://www.dbms2.com/2009/05/11/2008/05/23/data-warehouse-appliance-power-user-teoco/">TEOCO has 100s of terabytes running on DATAllegro</a>.  <li>To a probably lesser extent, the same is now also true of <a href="http://www.dbms2.com/2009/05/11/2009/03/02/closing-the-book-on-the-datallegro-customer-base/">Dell</a>.  <li><a href="http://www.dbms2.com/2009/05/11/2009/04/25/vertica-pricing-and-customer-metrics/">Vertica has a couple of unnamed customers with databases in the 200 terabyte range</a>. </li></ul><img src ="http://www.cnblogs.com/fanweixiao/aggbug/1455186.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47984/" target="_blank">《商业周刊》:Mozilla的志愿者开发模式被复制</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>编译MVC的views</title><link>http://www.cnblogs.com/fanweixiao/archive/2009/05/09/1453268.html</link><dc:creator>new 维生素C.net()</dc:creator><author>new 维生素C.net()</author><pubDate>Sat, 09 May 2009 09:07:00 GMT</pubDate><guid>http://www.cnblogs.com/fanweixiao/archive/2009/05/09/1453268.html</guid><wfw:comment>http://www.cnblogs.com/fanweixiao/comments/1453268.html</wfw:comment><comments>http://www.cnblogs.com/fanweixiao/archive/2009/05/09/1453268.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/fanweixiao/comments/commentRss/1453268.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/fanweixiao/services/trackbacks/1453268.html</trackback:ping><description><![CDATA[<p>Yes, you can do that. Compile your views for any release build you are trying to do. This will make sure everything compiles nicely and your users don’t see an “Error 500” when accessing a view. Of course, errors can still happen, but at least, it will not be the view’s fault anymore. <p>Here’s how you compile your views: <p>1. Open the project file in a text editor. For example, start Notepad and open the project file for your ASP.NET MVC application (that is, MyMvcApplication.csproj). <p>2. Find the top-most &lt;PropertyGroup&gt; element and add a new element &lt;MvcBuildViews&gt;: <p>&lt;PropertyGroup&gt; <p>... <br>&lt;MvcBuildViews&gt;true&lt;/MvcBuildViews&gt; <p>&lt;/PropertyGroup&gt; <p>3. Scroll down to the end of the file and uncomment the &lt;Target Name="AfterBuild"&gt; element. Update its contents to match the following: <p>&lt;Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"&gt; <p>&lt;AspNetCompiler VirtualPath="temp"<br>PhysicalPath="$(ProjectDir)\..\$(ProjectName)" /&gt; <br>&lt;/Target&gt; <p>4. Save the file and reload the project in Visual Studio. <p>Enabling view compilation may add some extra time to the build process. It is recommended not to enable this during development as a lot of compilation is typically involved during the development process.</p><img src ="http://www.cnblogs.com/fanweixiao/aggbug/1453268.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47977/" target="_blank">Mono 的Virtual PC 虚拟机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Find Last Date Time Updated for Any Table</title><link>http://www.cnblogs.com/fanweixiao/archive/2009/05/09/1453255.html</link><dc:creator>new 维生素C.net()</dc:creator><author>new 维生素C.net()</author><pubDate>Sat, 09 May 2009 08:53:00 GMT</pubDate><guid>http://www.cnblogs.com/fanweixiao/archive/2009/05/09/1453255.html</guid><wfw:comment>http://www.cnblogs.com/fanweixiao/comments/1453255.html</wfw:comment><comments>http://www.cnblogs.com/fanweixiao/archive/2009/05/09/1453255.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/fanweixiao/comments/commentRss/1453255.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/fanweixiao/services/trackbacks/1453255.html</trackback:ping><description><![CDATA[<pre class="brush: sql; toolbar: false;">SELECT OBJECT_NAME(OBJECT_ID) AS DatabaseName, last_user_update,*
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID( 'AdventureWorks')
AND OBJECT_ID=OBJECT_ID('test')
</pre><img src ="http://www.cnblogs.com/fanweixiao/aggbug/1453255.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47977/" target="_blank">Mono 的Virtual PC 虚拟机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>