<?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>SQL Server Urban Legends Discussed</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx</link><description>I have been answering questions on two of the most misunderstood &amp;#8216;SQL Server Urban Legends&amp;#8217; frequently again so I decided to make a post about them. &amp;#183; &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SQL Server Uses One Thread Per Data</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: SQL Server Urban Legends Discussed</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#1737147</link><pubDate>Wed, 21 Feb 2007 23:28:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1737147</guid><dc:creator>Wesley Backelant</dc:creator><description>&lt;p&gt;Bob,&lt;/p&gt;
&lt;p&gt;When you say &amp;quot;unique disk drive&amp;quot;, what does this mean for mountpoints?&lt;/p&gt;
&lt;p&gt;And a second question, when you talk about NUMA there is 1 I/O thread per NUMA node. &amp;nbsp;Do I understand correctly when I say that the &amp;quot;real&amp;quot; I/O in SQL Server is done by a single thread (or as many as there are NUMA nodes) while the workers just post async I/O requests for this thread to handle?&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Wesley Backelant&lt;/p&gt;
</description></item><item><title>re: SQL Server Urban Legends Discussed</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#1764459</link><pubDate>Mon, 26 Feb 2007 20:42:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1764459</guid><dc:creator>psssql</dc:creator><description>&lt;p&gt;The unique disk disk logic that I have looked at in the code was the drive letter. &amp;nbsp; I have not looked at mount point logic. &amp;nbsp; I assume a unique mount point would work like a unique disk letter.&lt;/p&gt;
&lt;p&gt;For NUMA the IO works the same as non-NUMA installations. &amp;nbsp; Each worker will issue its own I/O.&lt;/p&gt;
&lt;p&gt;What you are thinking of is that each node has a lazy writer thread to monitor and handle LW activity for the node. &amp;nbsp;When checkpoint executes it assigns the I/Os to the LW associated with the NUMA node. &amp;nbsp;&lt;/p&gt;
</description></item><item><title>re: SQL Server Urban Legends Discussed</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#1787041</link><pubDate>Fri, 02 Mar 2007 14:59:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1787041</guid><dc:creator>Wesley Backelant</dc:creator><description>&lt;p&gt;Thanks for the explanation.&lt;/p&gt;
&lt;p&gt;I'm a bit confused because the documentation states the I/O thread and the lazy writer thread separately.&lt;/p&gt;
&lt;p&gt;&amp;quot;The benefits of soft-NUMA include reducing I/O and lazy writer bottlenecks on computers with many CPUs and no hardware NUMA. There is a single I/O thread and a single lazy writer thread for each NUMA node.&amp;quot;&lt;/p&gt;
</description></item><item><title>re: SQL Server Urban Legends Discussed</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#2246315</link><pubDate>Mon, 23 Apr 2007 16:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2246315</guid><dc:creator>Wesley Backelant</dc:creator><description>&lt;P&gt;Bob,&lt;/P&gt;
&lt;P&gt;Another article that speaks about one thread per file is this: &lt;A href="http://www.microsoft.com/technet/prodtechnol/sql/70/reskit/part2/sqc01.mspx?mfr=true" target=_new rel=nofollow&gt;http://www.microsoft.com/technet/prodtechnol/sql/70/reskit/part2/sqc01.mspx?mfr=true&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;It says: "Whenever a data object (table) is accessed sequentially, a separate thread is created for each file in parallel. Therefore, a tablescan for a table that is assigned to a filegroup with four files uses four separate threads to read the data in parallel."&lt;/P&gt;
&lt;P&gt;[RDORR] This is part of the&amp;nbsp;problem with the myth.&amp;nbsp; It does not work this way.&amp;nbsp; If you have a partitioned view it is possible that a worker could be assigned to each partition and you get something like this.&amp;nbsp;&amp;nbsp; Again, that would be no different than a parallel query using multiple workers to scan the data.&amp;nbsp;&amp;nbsp; They each post I/O request for the pages they need.&amp;nbsp; No seperate threads are created.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>re: SQL Server Urban Legends Discussed</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#4388620</link><pubDate>Tue, 14 Aug 2007 22:51:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4388620</guid><dc:creator>CindyGross</dc:creator><description>&lt;p&gt;•	For most user databases (this is explicitly not including TempDB) there is no performance advantage in multiple files or multiple file groups unless each file is on a separate IO path. The only exception would be the highly unusual case of a user database with many object drops and/or creates per second, which might benefit from multiple files. There can be a manageability benefit from multiple files/filegroups.&lt;/p&gt;
&lt;p&gt;•	None of this changes just because with table partitioning you have each partition on a separate file group. (Yes, there are now multiple files, but it’s because of the partitioning, not directly as a performance gain).&lt;/p&gt;</description></item><item><title>re: SQL Server Urban Legends Discussed</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#4388678</link><pubDate>Tue, 14 Aug 2007 22:55:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4388678</guid><dc:creator>CindyGross</dc:creator><description>&lt;p&gt;This statement in the below article is incorrect for user databases (though it is still true for tempdb). The real advantage of multiple files is managability and spreading files over multiple IO paths (controllers, LUNs, etc.).&lt;/p&gt;
&lt;p&gt;Physical Database Storage Design&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.microsoft.com/technet/prodtechnol/sql/2005/physdbstor.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/sql/2005/physdbstor.mspx&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;quot;The number of data files within a single filegroup should equal to the number of CPU cores.&amp;quot;&lt;/p&gt;
</description></item><item><title>Disk Queue Length: Some Data Points may Help!</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#6154619</link><pubDate>Tue, 13 Nov 2007 01:47:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6154619</guid><dc:creator>Linchi Shea</dc:creator><description>&lt;p&gt;There has been much discussion on the usefulness of disk queue length as an indicator of a disk I/O bottleneck.&lt;/p&gt;
</description></item><item><title>SQL Server Myths - Disk Queue length a bit like buying Guiness</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#6299956</link><pubDate>Fri, 16 Nov 2007 14:58:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6299956</guid><dc:creator>SimonS Blog on SQL Server Stuff</dc:creator><description>&lt;p&gt;If you attended SQLBits you may have seen my SQL Myths session. One of the myths I didn't cover was that&lt;/p&gt;
</description></item><item><title>Predeployment I/O Best Practices</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#6458441</link><pubDate>Wed, 21 Nov 2007 22:18:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6458441</guid><dc:creator>Whitepapers</dc:creator><description>&lt;p&gt;Published: June 5, 2007 Writer: Mike Ruthruff Contributors: Michael Thomassy, Prem Mehra Technical Reviewers&lt;/p&gt;
</description></item><item><title>Lenda Urbana: tabelas temporárias são escritas diretamente em disco</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#6778934</link><pubDate>Sat, 15 Dec 2007 20:59:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6778934</guid><dc:creator>LUTI @ Microsoft</dc:creator><description>&lt;p&gt;Usualmente eu leio alguns blogs de SQL Server e certa vez eu me deparei com um artigo muito legal e detalhado,&lt;/p&gt;
</description></item><item><title>Lenda Urbana: tabelas temporárias são escritas diretamente em disco</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#6782472</link><pubDate>Sun, 16 Dec 2007 14:23:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6782472</guid><dc:creator>LUTI @ Microsoft</dc:creator><description>&lt;p&gt;Usualmente eu leio alguns blogs de SQL Server e certa vez eu me deparei com um artigo muito legal e detalhado,&lt;/p&gt;
</description></item><item><title>Lenda Urbana: tabelas temporárias são escritas diretamente em disco</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#6782485</link><pubDate>Sun, 16 Dec 2007 14:27:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6782485</guid><dc:creator>Noticias externas</dc:creator><description>&lt;p&gt;Usualmente eu leio alguns blogs de SQL Server e certa vez eu me deparei com um artigo muito legal e detalhado&lt;/p&gt;
</description></item><item><title>配置前の I/O のベスト プラクティス (英語)</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#6785718</link><pubDate>Mon, 17 Dec 2007 04:57:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6785718</guid><dc:creator>Japanese Whitepapers</dc:creator><description>&lt;p&gt;公開日 : 2007 年 6 月 5 日 執筆者 : Mike Ruthruff 執筆協力者 : Michael Thomassy、Prem Mehra テクニカル レビュー担当者 : Robert Dorr&lt;/p&gt;
</description></item><item><title>re: SQL Server Urban Legends Discussed</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#7110512</link><pubDate>Mon, 14 Jan 2008 21:43:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7110512</guid><dc:creator>kirchner</dc:creator><description>&lt;P&gt;Bob,&lt;/P&gt;
&lt;P&gt;Frequently we see posts talking about debugging processes, finding problems, etc.&lt;/P&gt;
&lt;P&gt;Surely I know how to debug my own programs in VS and alike, but how to do this when we have no source / debug symbols?&lt;/P&gt;
&lt;P&gt;Can you point out some resources about it, or show us how to debug a "real" problem on SQL Server?&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[rdorr Jan 23, 2008]&lt;/P&gt;
&lt;P&gt;You can use WinDbg (&lt;A href="http://www.microsoft.com/whdc/devtools/debugging/whatsnew.mspx"&gt;http://www.microsoft.com/whdc/devtools/debugging/whatsnew.mspx&lt;/A&gt;&amp;nbsp;) and the Microsoft public symbols.&amp;nbsp; These symbols are stripped but you can see symbolized call stacks and some other details.&amp;nbsp; This can take you quite far.&lt;/P&gt;
&lt;P&gt;I also&amp;nbsp;know that Ken Henderson outlined how to use the public symbols to look at the SQL Server engine in his SQL 2000 publication.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>I/O 前期部署最佳实践 (Predeployment, zh-cn)</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#7289719</link><pubDate>Mon, 28 Jan 2008 19:29:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7289719</guid><dc:creator>中文（简体）白皮书</dc:creator><description>&lt;p&gt;发布日期 : 2007 年 6 月 5 日 作者 : Mike Ruthruff 投稿人 : Michael Thomassy, Prem Mehra 技术评论家 : Robert Dorr, Stuart&lt;/p&gt;
</description></item><item><title>Fragmentation Station - Stop #4 - How to avoid it</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#7681742</link><pubDate>Thu, 14 Feb 2008 01:32:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7681742</guid><dc:creator>Chad Boyd</dc:creator><description>&lt;p&gt;In the prior post , we discussed the major causes for each type of fragmentation, which followed posts&lt;/p&gt;
</description></item><item><title>Tempdb and I/O misconceptions</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#8808850</link><pubDate>Sun, 03 Aug 2008 01:15:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8808850</guid><dc:creator>LUTI @ Microsoft</dc:creator><description>&lt;p&gt;function showDiv(post, lingua) { if (document.getElementById) { // DOM3 = IE5, NS6 document.getElementById(post&lt;/p&gt;
</description></item><item><title>re: SQL Server Urban Legends Discussed</title><link>http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx#9088442</link><pubDate>Sat, 15 Nov 2008 08:45:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9088442</guid><dc:creator>ncorp</dc:creator><description>&lt;p&gt;Could you please expand on this paragraph from the above post?&lt;/p&gt;
&lt;p&gt;&amp;lt;i&amp;gt;&amp;quot;Microsoft has seen that tempdb is an exception to the common rules here. &amp;nbsp; Tempdb can be a high contention point for internal tracking structures. &amp;nbsp; It is often better to create multiple files for tempdb so the internal latching and other activities achieve better separation (per file) so all the workers don’t cause a resource contention on a single tempdb file. &amp;nbsp; &amp;nbsp;This type of contention would be extremely rare to see on a user database and I have not seen that issue in a user database.&amp;quot;&amp;lt;/i&amp;gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
</description></item></channel></rss>