<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>DiagManager Wiki Rss Feed</title><link>http://diagmanager.codeplex.com/</link><description>DiagManager Wiki Rss Description</description><item><title>Updated Wiki: FAQ</title><link>http://diagmanager.codeplex.com/wikipage?title=FAQ&amp;version=14</link><description>&lt;div class="wikidoc"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;em&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:20pt"&gt;Fequently asked questions (FAQ)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I received an error, what should I do?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;span style="color:black; font-size:10pt"&gt;See
&lt;a href="http://diagmanager.codeplex.com/wikipage?title=COMMON_ISSUES"&gt;Common Issues&lt;/a&gt; section.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I saw many different files in the output folder,&amp;nbsp;what are these files?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Data%20Collection%20Output%20Files"&gt;This page&lt;/a&gt; has&amp;nbsp;information on what these files
 are and naming conventions&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;What happened to SQL Server 2000 and 7.0 collector?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Pssdiag for SQL Server 2000 and 70 is available at
&lt;a href="http://support.microsoft.com/kb/830232"&gt;&lt;span style="color:blue"&gt;http://support.microsoft.com/kb/830232&lt;/span&gt;&lt;/a&gt;. This codeplex release intends to support SQL Server 2005 and beyond.&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;How do I tell PSSDIAG to shut down automatically after a certain amount of time?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;You can use the /E command line parameter. For example:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;PSSDIAG.CMD /E21:00:00 &lt;/span&gt;
&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;- Shut down at 9pm (current day, or following day if current time is &amp;gt;9pm)&lt;br&gt;
&lt;strong&gt;PSSDIAG.CMD /E&amp;#43;10:00:00 &lt;/strong&gt;- Start, collect data for 10 hours, then shut down automatically&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I need to collect data from an IA64/x64/x86 SQL instance. Is there anything I need to do differently?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Be sure to select the CPU platform (see the 32-bit Pentium, Itanium, or x64 buttons on the left pane of Diag Manager UI) before making other selections -- selecting a new platform loads new defaults
 for the rest of the form.&amp;nbsp; Note that you should select the platform that matches the version of sqlservr.exe that you are targeting. For example, for a 32-bit SQL instance running in the WOW64 layer on x64 Windows, you should select 32-bit Pentium/x86.
 Select the AMD64 option only for native x64 SQL 2005 instances.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;PSSDIAG was killed abruptly with kill.exe/taskman, orphaning the profiler trace. What do I do?
&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Run the following to stop any active profiler trace (use
&lt;em&gt;sp_trace09 &lt;/em&gt;on a SQL 2005 instance):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;EXEC tempdb.dbo.sp_trace10 'OFF' -- For SQL Server 2008 and above&lt;/strong&gt;&lt;br&gt;
OR&lt;br&gt;
&lt;strong&gt;EXEC tempdb.dbo.sp_trace09 'OFF' -- For SQL Server 2005&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;Run &amp;quot;&lt;strong&gt;logman query -ets&lt;/strong&gt;&amp;quot; from a command prompt to identify any orphaned ETW perfmon logs. Run &amp;quot;&lt;strong&gt;logman stop &amp;lt;tracename&amp;gt; -ets&lt;/strong&gt;&amp;quot; to stop them (replace &amp;quot;&amp;lt;tracename&amp;gt;&amp;quot; with the
 appropriate trace name). Reference: &lt;a href="http://technet.microsoft.com/en-us/library/cc753820(WS.10).aspx"&gt;
Logman&lt;/a&gt;. &lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;Note that PSSDIAG automatically performs these steps when it starts to clear up any orphaned traces and perfmon logs. Check the &amp;quot;&lt;strong&gt;##&lt;em&gt;srv&lt;/em&gt;__SQL_Base_ClearOrphanedBLGs_Startup.OUT&lt;/strong&gt;&amp;quot;
 output file for any orphaned perfmon .BLG files. This file is created every time you spawn a PSSDIAG capture.
&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;If you have &lt;strong&gt;SQL Server 2005/2008 Perf Stats script&lt;/strong&gt;, running. Kill sqlcmd.exe. If it restarts, you need to use
&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;process explorer&lt;/a&gt; to identify parent cmd.exe and kill that cmd.exe. If you don't want to use process explorer to find out process parent/child tree, you can kill all cmd.exe processes
 if this doesn't affect other operators/operations. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;Can I run PSSDIAG on a remote machine to minimize the load on the server being monitored?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
If you are not capturing a profiler trace, yes, you can run the collector on a remote machine. If you need to capture a profiler trace, it is srongly recommended to run the collector on the server being monitored. SQL Server itself always captures the profiler
 trace, &lt;span style="color:#ff0000"&gt;so there is no way to offload profiler trace-related work to a remote machine&lt;/span&gt;. Because the primary performance impact of data collection is typically caused by the profiler trace, and because the trace is always captured
 by sqlservr.exe regardless of where PSSDIAG is running, there are generally no performance advantages to be gained by running the collector remotely.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;How do I import the perf stats script output and profiler traces that PSSDIAG collects?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
The data collected by PSSDIAG (.trc and .out files) can be imported by &lt;a href="http://sqlnexus.codeplex.com/"&gt;
SQL Nexus&lt;/a&gt; into a SQL Server database.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;I need to collect data for a long time but there isn't enough disk space. What can I do?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
Limited disk space is usually the biggest obstacle to long-term data collection. Before configuring a PSSDIAG package, find out from how much free disk space is available on the server to be monitored. The free disk space must be on a locally attached disk
 (or SAN) if you are collecting a Profiler trace. If you are not collecting a Profiler trace you have other options, including capturing the data on a remote machine. If you are collecting Profiler, the server will typically need an appropriate local disk with
 at least several GB free. The rate at which Profiler trace data is generated is entirely dependent on the application workload. It may vary from a few MB per minute up to several GB per minute for a heavily loaded server that services thousands of queries
 each second. You could do the following for a long term data collection using PSSDIAG:&lt;/span&gt;&lt;/p&gt;
&lt;li&gt;&lt;strong&gt;Enable NTFS compression in PSSDIAG&lt;/strong&gt; by using &lt;strong&gt;/C1 &lt;/strong&gt;
to&amp;nbsp;PSSDIAG.CMD as a command line parameter. When the &lt;strong&gt;/C1 &lt;/strong&gt;parameter is provided, PSSDIAG will turn on NTFS compression for all perfmon log and profiler trace rollover files. This is done on a low priority background thread and has a negligible
 additional impact on the server. &lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;Eliminate Profiler tracing if a trace is not required&lt;/strong&gt;. The SQL profiler trace makes up the large majority of the data collected by PSSDIAG. To turn off profiler tracing, simply uncheck the
 &amp;quot;&lt;strong&gt;Profiler Trace&lt;/strong&gt;&amp;quot; checkbox in the Diag Manager GUI when configuring the package. If you are
&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOT&lt;/strong&gt;&lt;/span&gt; capturing a Profiler trace, you can run PSSDIAG from a remote machine if a secondary machine with more disk space is available.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;If a Profiler trace is required, minimize the size of the trace -
&lt;/strong&gt;Depending on the issue that you are collecting data for, you can reduce the amount of data collected for a Profiler trace by eliminating high frequency events (refer section below for more details.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Enable the &amp;quot;Delete Old Trace Files&amp;quot; custom task group
&lt;/strong&gt;in PSSDIAG. This is a checkbox in the lower right quadrant of the Diag Manager GUI. When enabled, PSSDIAG will run a background job that deletes all but the X most recent profiler .TRC and perfmon .BLG files in the
&lt;strong&gt;output &lt;/strong&gt;directory. This may be a reasonable way to keep the trace data under control, assuming that you only care about the data captured during the problem period and a few minutes immediately preceding the problem. When you generate the
&lt;strong&gt;PSSD.CAB&lt;/strong&gt; package, the configuration application will ask you how many trace flies/perfmon files you want to keep.
&lt;em&gt;You will have to ensure that your customer can stop PSSDIAG soon enough after the problem occurrence to avoid losing trace data you need to troubleshoot the issue.&lt;/em&gt;&lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Consider using PSSDIAG&amp;rsquo;s /E and /L command line parameter to restart collection each night&lt;/strong&gt;. This can be very useful if you need to trace for many
 days or weeks, and also helps keep the SQL Server Perf Stats script .OUT file and other .OUT files from growing too large. In the example command line below, the &amp;quot;/E 03:00:00&amp;quot; tells PSSDIAG to automatically stop collection at 3:00am every morning, and the
 &amp;quot;/L&amp;quot; (run continuously) tells PSSDIAG to automatically restart collection instead of exiting when the shutdown time is reached. The /Q (quiet mode) parameter suppresses the &amp;quot;Do you want to overwrite existing files?&amp;quot; prompt. Also added
&lt;strong&gt;/N2 &lt;/strong&gt;to automatically create a new folder as opposed to overwriting existing one.
&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:30px"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDIAG.CMD /E 03:00:00 /L /Q /N2&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you have PSSDIAG reuse the same output folder like this, it will overwrite the previous day&amp;rsquo;s data each morning. This may be desirable, but if you would prefer to archive
 the previous day&amp;rsquo;s output and manually delete it if the problem hasn&amp;rsquo;t occurred, also add the /N2 command line parameter to tell PSSDIAG to rename the existing output folder when restarting collection each morning (previous days&amp;rsquo; output folders
 will be named OUTPUT_00000, OUTPUT_00001, ...).&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to run PSSDiag for a specific amount of time (say 3 hours) from the start you can use&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;PSSDiag.CMD /E &amp;#43;03:00:00&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to delay the start of the PSSDiag collection for a specific amount of time (say 3 hours)
 from now you can use&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDiag.CMD /B &amp;#43;03:00:00&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;&lt;/span&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;PSSDIAG is too &amp;quot;heavy&amp;quot;. My server slows down when we are capturing data.
&lt;br&gt;
&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;The set of data that PSSDIAG/SQLDIAG captures is completely configurable. The impact of data collection is equal to the combined impacts of the various log types that you configure for collection using
 the Diag Manager to capture (the collector itself has a negligible impact on the machine), which means that if a PSSDIAG/SQLDIAG data capture hurts performance on a server it is almost certainly due to the log types and trace events that were selected. Generally
 speaking, the only log type that commonly causes performance problems is the profiler trace. Note that there is no more efficient way to capture a profiler trace than the method that PSSDIAG/SQLDIAG uses. You can capture certain information using XEvents starting
 from SQL Server 2008 but a profiler trace is required for most common performance issues that we are dealing with up to SQL Server 2008 R2 release. Nevertheless, a profiler trace can be an intrusive log type to capture. You should not capture a profiler trace
 unless you need one, be careful not to select high volume events unless they are essential, and always keep in mind the following points:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always capture a server side trace and not using the profiler.exe GUI interface. PSSDIAG uses server side tracing. See
&lt;a href="http://support.microsoft.com/kb/929728"&gt;&lt;span style="color:blue"&gt;KB929728&lt;/span&gt;&lt;/a&gt; for details.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always trace to a locally attached (or SAN) disk, never to a network share. See KB
&lt;a href="http://support.microsoft.com/kb/307786"&gt;&lt;span style="color:blue"&gt;307786&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#ff0000"&gt;&lt;span style="font-size:10pt"&gt;Never trace to a UNC path, even if the UNC points to a local disk.&lt;/span&gt;&lt;span style="font-size:10pt"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Don't capture extremely high frequency events like Object:Opened, Lock:Acquired/Released, etc on a production server. Some servers have a workload that is sufficiently low-volume to capture these events, but there
 is no easy way to know in advance whether this is the case. More information on high frequency events can be found
&lt;a href="http://troubleshootingsql.com/2010/12/23/profiler-why-do-you-collect-so-much-data/"&gt;
&lt;span style="color:blue"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Direct the trace to the fastest available volume that isn't already being used by the data or log files. Tracing is write-intensive, so of course avoid RAID-5 whenever possible.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Be aware that with certain workloads, even a fairly basic trace of just RPC/Batch Starting &amp;amp; Completed events can hurt performance if you haven't allocated fast enough disks to the trace.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Trace filtering can dramatically reduce .TRC file size and the I/O cost of tracing, but you should be aware that it can actually
&lt;em&gt;increase &lt;/em&gt;the CPU burden of tracing. To minimize the extra CPU use, filtering should be performed on an integer column (dbid, duration, etc) instead of a text column (database name, textdata, etc) whenever possible. If a filter doesn&amp;rsquo;t remove
 a significant portion of the trace events (say, &amp;gt;10%), it probably isn&amp;rsquo;t worth it, and might actually introduce more overhead than it prevents. While configuring PSSDIAG/SQLDIAG for SQL Server, you cannot add Profiler Trace Filters. Even if you do
 so from the GUI, it would not be included in the PSSDIAG.INI file. To set filters for profiler traces collected with PSSDIAG/SQLDIAG, you need to:
&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Initialize PSSDIAG on the server Find out the Trace ID of the profiler trace running using
&lt;strong&gt;fn_trace_getinfo&lt;/strong&gt; function or &lt;strong&gt;sys.traces &lt;/strong&gt;view. &lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Use the Trace ID obtained from the above step, and use the
&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt; stored procedure to set the filter. Refer &amp;quot;&lt;strong&gt;SQL Profiler Data Columns&lt;/strong&gt;&amp;quot; under SQL Server Books Online for the
&lt;strong&gt;Data Column numbers&lt;/strong&gt; and &amp;quot;&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt;&amp;quot; topic for finding out the values of the logical and comparison operators.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;To verfiy that the filter is active, use the
&lt;strong&gt;fn_trace_filterinfo&lt;/strong&gt; function.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt; &amp;#65279;
&lt;/span&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>amitban</author><pubDate>Mon, 05 Dec 2011 14:54:45 GMT</pubDate><guid isPermaLink="false">Updated Wiki: FAQ 20111205025445P</guid></item><item><title>New Comment on "FAQ"</title><link>http://diagmanager.codeplex.com/wikipage?title=FAQ&amp;ANCHOR#C21797</link><description>Answered your question here&amp;#58; http&amp;#58;&amp;#47;&amp;#47;sqlnexus.codeplex.com&amp;#47;discussions&amp;#47;281521</description><author>amitban</author><pubDate>Mon, 05 Dec 2011 14:49:54 GMT</pubDate><guid isPermaLink="false">New Comment on "FAQ" 20111205024954P</guid></item><item><title>New Comment on "FAQ"</title><link>http://diagmanager.codeplex.com/wikipage?title=FAQ&amp;ANCHOR#C21756</link><description>I have a question about setting filters to PSSDIAG trace. I read the steps above to add filter, but I am not sure if it is possible to accomplish it. I start pssDiag trace and get the traceid to add filter using &amp;#34;sp_trace_setfilter&amp;#34; but I get an error saying that the trace must be stopped before I can add a filter. But if I stop pssdiag trace, then it says no trace found with the provided traceid. Am I missing something&amp;#63; What do you mean by &amp;#34;Initialize PSSDIAG on the server ...&amp;#34; how do I do that.&amp;#10;Thanks,&amp;#10;_Uday &amp;#10;sqltimes.wordpress.com</description><author>udayhere</author><pubDate>Wed, 30 Nov 2011 19:05:45 GMT</pubDate><guid isPermaLink="false">New Comment on "FAQ" 20111130070545P</guid></item><item><title>New Comment on "FAQ"</title><link>http://diagmanager.codeplex.com/wikipage?title=FAQ&amp;ANCHOR#C21755</link><description>I have a question about setting filters to PSSDIAG trace. I read the steps above to add filter, but I am not sure if it is possible to accomplish it. I start pssDiag trace and get the traceid to add filter using &amp;#34;sp_trace_setfilter&amp;#34; but I get an error saying that the trace must be stopped before I can add a filter. But if I stop pssdiag trace, then it says no trace found with the provided traceid. Am I missing something&amp;#63; What do you mean by &amp;#34;Initialize PSSDIAG on the server ...&amp;#34; how do I do that. &amp;#10;Thanks,&amp;#10;_Uday</description><author>udayhere</author><pubDate>Wed, 30 Nov 2011 19:04:53 GMT</pubDate><guid isPermaLink="false">New Comment on "FAQ" 20111130070453P</guid></item><item><title>New Comment on "FAQ"</title><link>http://diagmanager.codeplex.com/wikipage?title=FAQ&amp;ANCHOR#C21754</link><description>I have a question about setting filters to PSSDIAG trace. I read the steps above to add filter, but I am not sure if it is possible to accomplish it. I start pssDiag trace and get the traceid to add filter using &amp;#34;sp_trace_setfilter&amp;#34; but I get an error saying that the trace must be stopped before I can add a filter. But if I stop pssdiag trace, then it says no trace found with the provided traceid. Am I missing something&amp;#63;</description><author>udayhere</author><pubDate>Wed, 30 Nov 2011 18:45:43 GMT</pubDate><guid isPermaLink="false">New Comment on "FAQ" 20111130064543P</guid></item><item><title>New Comment on "COMMON_ISSUES"</title><link>http://diagmanager.codeplex.com/wikipage?title=COMMON_ISSUES&amp;ANCHOR#C19928</link><description>The pssdiag.cmd references &amp;#39;diagutil.exe&amp;#39; which is not valid.  I assume it is supopsed to be SQLDiag.exe but when I changed it and ran it it hung and did not collect anything. I added a pause command after the &amp;#39;if &amp;#34;&amp;#37;toolsbin&amp;#37;&amp;#34;&amp;#61;&amp;#61;&amp;#34;&amp;#34; set toolsbin&amp;#61;&amp;#39; command and never got the prompt so I know it&amp;#39;s hanging before this.  If I remove the lines containing the &amp;#34;for &amp;#47;F &amp;#34;tokens&amp;#61;1,2 delims&amp;#61;&amp;#61;&amp;#126;&amp;#34;  &amp;#37;&amp;#37;i IN &amp;#40;&amp;#39;SQLdiag.exe&amp;#39;&amp;#41;&amp;#34;  commands, it works but not until I manually copied the pssdiag.xml from the cab file to the same location as pssdiag.cmd.</description><author>crossman</author><pubDate>Thu, 09 Jun 2011 19:36:39 GMT</pubDate><guid isPermaLink="false">New Comment on "COMMON_ISSUES" 20110609073639P</guid></item><item><title>New Comment on "COMMON_ISSUES"</title><link>http://diagmanager.codeplex.com/wikipage?title=COMMON_ISSUES&amp;ANCHOR#C19927</link><description>The pssdiag.cmd references &amp;#39;diagutil.exe&amp;#39; which is not valid.  I assume it is supopsed to be SQLDiag.exe but when I changed it and ran it it hung and did not collect anything.  I added a pause command after the &amp;#39;if &amp;#34;&amp;#37;toolsbin&amp;#37;&amp;#34;&amp;#61;&amp;#61;&amp;#34;&amp;#34; set toolsbin&amp;#61;&amp;#39;  command and never got the prompt so I know it&amp;#39;s hanging before this.</description><author>crossman</author><pubDate>Thu, 09 Jun 2011 19:04:12 GMT</pubDate><guid isPermaLink="false">New Comment on "COMMON_ISSUES" 20110609070412P</guid></item><item><title>Updated Wiki: COMMON_ISSUES</title><link>http://diagmanager.codeplex.com/wikipage?title=COMMON_ISSUES&amp;version=10</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Common Issues&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Instance_Error&amp;referringTitle=COMMON_ISSUES"&gt;Why am I receiving &amp;#34;There are no instances of version 10 on this computer&amp;#34;&amp;#63;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Appname_Error&amp;referringTitle=COMMON_ISSUES"&gt;Why am I encountering &amp;#34;There already exists one sqldiag appname as SQLDIAG&amp;#34;&amp;#63;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=The%20version%20of%20this%20file%20is%20not%20compatible%20with%20the%20version%20of%20Windows%20you%27re%20running.%20%20Check%20your%20commputer&amp;referringTitle=COMMON_ISSUES"&gt;I received error The version of this file is not compatible with the version of Windows you&amp;#39;re running.  Check your commputer...&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Wed, 25 May 2011 20:04:53 GMT</pubDate><guid isPermaLink="false">Updated Wiki: COMMON_ISSUES 20110525080453P</guid></item><item><title>Updated Wiki: COMMON_ISSUES</title><link>http://diagmanager.codeplex.com/wikipage?title=COMMON_ISSUES&amp;version=9</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Common Issues&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Instance_Error&amp;referringTitle=COMMON_ISSUES"&gt;Why am I receiving &amp;#34;There are no instances of version 10 on this computer&amp;#34;&amp;#63;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Appname_Error&amp;referringTitle=COMMON_ISSUES"&gt;Why am I encountering &amp;#34;There already exists one sqldiag appname as SQLDIAG&amp;#34;&amp;#63;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=The%20version%20of%20this%20file%20is%20not%20compatible%20with%20the%20version%20of%20Windows%20you%27re%20running.%20%20Check%20your%20commputer&amp;referringTitle=COMMON_ISSUES"&gt;I received error The version of this file is not compatible with the version of Windows you&amp;#39;re running.  Check your commputer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Wed, 25 May 2011 20:04:31 GMT</pubDate><guid isPermaLink="false">Updated Wiki: COMMON_ISSUES 20110525080431P</guid></item><item><title>Updated Wiki: FAQ</title><link>http://diagmanager.codeplex.com/wikipage?title=FAQ&amp;version=13</link><description>&lt;div class="wikidoc"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;em&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:20pt"&gt;Fequently asked questions (FAQ)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I received an error, what should I do?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;span style="color:black; font-size:10pt"&gt;See
&lt;a href="http://diagmanager.codeplex.com/wikipage?title=COMMON_ISSUES"&gt;Common Issues&lt;/a&gt; section.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I saw many differnt files in the output folder,&amp;nbsp;what are these files?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Data%20Collection%20Output%20Files"&gt;This page&lt;/a&gt; has&amp;nbsp;information on what these files
 are and naming conventions&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;What happened to SQL Server 2000 and 7.0 collector?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Pssdiag for SQL Server 2000 and 70 is available at
&lt;a href="http://support.microsoft.com/kb/830232"&gt;&lt;span style="color:blue"&gt;http://support.microsoft.com/kb/830232&lt;/span&gt;&lt;/a&gt;. This codeplex release intends to support SQL Server 2005 and beyond.&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;How do I tell PSSDIAG to shut down automatically after a certain amount of time?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;You can use the /E command line parameter. For example:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;PSSDIAG.CMD /E21:00:00 &lt;/span&gt;
&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;- Shut down at 9pm (current day, or following day if current time is &amp;gt;9pm)&lt;br&gt;
&lt;strong&gt;PSSDIAG.CMD /E&amp;#43;10:00:00 &lt;/strong&gt;- Start, collect data for 10 hours, then shut down automatically&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I need to collect data from an IA64/x64/x86 SQL instance. Is there anything I need to do differently?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Be sure to select the CPU platform (see the 32-bit Pentium, Itanium, or x64 buttons on the left pane of Diag Manager UI) before making other selections -- selecting a new platform loads new defaults
 for the rest of the form.&amp;nbsp; Note that you should select the platform that matches the version of sqlservr.exe that you are targeting. For example, for a 32-bit SQL instance running in the WOW64 layer on x64 Windows, you should select 32-bit Pentium/x86.
 Select the AMD64 option only for native x64 SQL 2005 instances.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;PSSDIAG was killed abruptly with kill.exe/taskman, orphaning the profiler trace. What do I do?
&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Run the following to stop any active profiler trace (use
&lt;em&gt;sp_trace09 &lt;/em&gt;on a SQL 2005 instance):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;EXEC tempdb.dbo.sp_trace10 'OFF' -- For SQL Server 2008 and above&lt;/strong&gt;&lt;br&gt;
OR&lt;br&gt;
&lt;strong&gt;EXEC tempdb.dbo.sp_trace09 'OFF' -- For SQL Server 2005&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;Run &amp;quot;&lt;strong&gt;logman query -ets&lt;/strong&gt;&amp;quot; from a command prompt to identify any orphaned ETW perfmon logs. Run &amp;quot;&lt;strong&gt;logman stop &amp;lt;tracename&amp;gt; -ets&lt;/strong&gt;&amp;quot; to stop them (replace &amp;quot;&amp;lt;tracename&amp;gt;&amp;quot; with the
 appropriate trace name). Reference: &lt;a href="http://technet.microsoft.com/en-us/library/cc753820(WS.10).aspx"&gt;
Logman&lt;/a&gt;. &lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;Note that PSSDIAG automatically performs these steps when it starts to clear up any orphaned traces and perfmon logs. Check the &amp;quot;&lt;strong&gt;##&lt;em&gt;srv&lt;/em&gt;__SQL_Base_ClearOrphanedBLGs_Startup.OUT&lt;/strong&gt;&amp;quot;
 output file for any orphaned perfmon .BLG files. This file is created every time you spawn a PSSDIAG capture.
&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;If you have &lt;strong&gt;SQL Server 2005/2008 Perf Stats script&lt;/strong&gt;, running. Kill sqlcmd.exe. If it restarts, you need to use
&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;process explorer&lt;/a&gt; to identify parent cmd.exe and kill that cmd.exe. If you don't want to use process explorer to find out process parent/child tree, you can kill all cmd.exe processes
 if this doesn't affect other operators/operations. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;Can I run PSSDIAG on a remote machine to minimize the load on the server being monitored?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
If you are not capturing a profiler trace, yes, you can run the collector on a remote machine. If you need to capture a profiler trace, it is srongly recommended to run the collector on the server being monitored. SQL Server itself always captures the profiler
 trace, &lt;span style="color:#ff0000"&gt;so there is no way to offload profiler trace-related work to a remote machine&lt;/span&gt;. Because the primary performance impact of data collection is typically caused by the profiler trace, and because the trace is always captured
 by sqlservr.exe regardless of where PSSDIAG is running, there are generally no performance advantages to be gained by running the collector remotely.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;How do I import the perf stats script output and profiler traces that PSSDIAG collects?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
The data collected by PSSDIAG (.trc and .out files) can be imported by &lt;a href="http://sqlnexus.codeplex.com/"&gt;
SQL Nexus&lt;/a&gt; into a SQL Server database.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;I need to collect data for a long time but there isn't enough disk space. What can I do?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
Limited disk space is usually the biggest obstacle to long-term data collection. Before configuring a PSSDIAG package, find out from how much free disk space is available on the server to be monitored. The free disk space must be on a locally attached disk
 (or SAN) if you are collecting a Profiler trace. If you are not collecting a Profiler trace you have other options, including capturing the data on a remote machine. If you are collecting Profiler, the server will typically need an appropriate local disk with
 at least several GB free. The rate at which Profiler trace data is generated is entirely dependent on the application workload. It may vary from a few MB per minute up to several GB per minute for a heavily loaded server that services thousands of queries
 each second. You could do the following for a long term data collection using PSSDIAG:&lt;/span&gt;&lt;/p&gt;
&lt;li&gt;&lt;strong&gt;Enable NTFS compression in PSSDIAG&lt;/strong&gt; by using &lt;strong&gt;/C1 &lt;/strong&gt;
to&amp;nbsp;PSSDIAG.CMD as a command line parameter. When the &lt;strong&gt;/C1 &lt;/strong&gt;parameter is provided, PSSDIAG will turn on NTFS compression for all perfmon log and profiler trace rollover files. This is done on a low priority background thread and has a negligible
 additional impact on the server. &lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;Eliminate Profiler tracing if a trace is not required&lt;/strong&gt;. The SQL profiler trace makes up the large majority of the data collected by PSSDIAG. To turn off profiler tracing, simply uncheck the
 &amp;quot;&lt;strong&gt;Profiler Trace&lt;/strong&gt;&amp;quot; checkbox in the Diag Manager GUI when configuring the package. If you are
&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOT&lt;/strong&gt;&lt;/span&gt; capturing a Profiler trace, you can run PSSDIAG from a remote machine if a secondary machine with more disk space is available.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;If a Profiler trace is required, minimize the size of the trace -
&lt;/strong&gt;Depending on the issue that you are collecting data for, you can reduce the amount of data collected for a Profiler trace by eliminating high frequency events (refer section below for more details.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Enable the &amp;quot;Delete Old Trace Files&amp;quot; custom task group
&lt;/strong&gt;in PSSDIAG. This is a checkbox in the lower right quadrant of the Diag Manager GUI. When enabled, PSSDIAG will run a background job that deletes all but the X most recent profiler .TRC and perfmon .BLG files in the
&lt;strong&gt;output &lt;/strong&gt;directory. This may be a reasonable way to keep the trace data under control, assuming that you only care about the data captured during the problem period and a few minutes immediately preceding the problem. When you generate the
&lt;strong&gt;PSSD.CAB&lt;/strong&gt; package, the configuration application will ask you how many trace flies/perfmon files you want to keep.
&lt;em&gt;You will have to ensure that your customer can stop PSSDIAG soon enough after the problem occurrence to avoid losing trace data you need to troubleshoot the issue.&lt;/em&gt;&lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Consider using PSSDIAG&amp;rsquo;s /E and /L command line parameter to restart collection each night&lt;/strong&gt;. This can be very useful if you need to trace for many
 days or weeks, and also helps keep the SQL Server Perf Stats script .OUT file and other .OUT files from growing too large. In the example command line below, the &amp;quot;/E 03:00:00&amp;quot; tells PSSDIAG to automatically stop collection at 3:00am every morning, and the
 &amp;quot;/L&amp;quot; (run continuously) tells PSSDIAG to automatically restart collection instead of exiting when the shutdown time is reached. The /Q (quiet mode) parameter suppresses the &amp;quot;Do you want to overwrite existing files?&amp;quot; prompt. Also added
&lt;strong&gt;/N2 &lt;/strong&gt;to automatically create a new folder as opposed to overwriting existing one.
&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:30px"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDIAG.CMD /E 03:00:00 /L /Q /N2&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you have PSSDIAG reuse the same output folder like this, it will overwrite the previous day&amp;rsquo;s data each morning. This may be desirable, but if you would prefer to archive
 the previous day&amp;rsquo;s output and manually delete it if the problem hasn&amp;rsquo;t occurred, also add the /N2 command line parameter to tell PSSDIAG to rename the existing output folder when restarting collection each morning (previous days&amp;rsquo; output folders
 will be named OUTPUT_00000, OUTPUT_00001, ...).&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to run PSSDiag for a specific amount of time (say 3 hours) from the start you can use&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;PSSDiag.CMD /E &amp;#43;03:00:00&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to delay the start of the PSSDiag collection for a specific amount of time (say 3 hours)
 from now you can use&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDiag.CMD /B &amp;#43;03:00:00&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;&lt;/span&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;PSSDIAG is too &amp;quot;heavy&amp;quot;. My server slows down when we are capturing data.
&lt;br&gt;
&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;The set of data that PSSDIAG/SQLDIAG captures is completely configurable. The impact of data collection is equal to the combined impacts of the various log types that you configure for collection using
 the Diag Manager to capture (the collector itself has a negligible impact on the machine), which means that if a PSSDIAG/SQLDIAG data capture hurts performance on a server it is almost certainly due to the log types and trace events that were selected. Generally
 speaking, the only log type that commonly causes performance problems is the profiler trace. Note that there is no more efficient way to capture a profiler trace than the method that PSSDIAG/SQLDIAG uses. You can capture certain information using XEvents starting
 from SQL Server 2008 but a profiler trace is required for most common performance issues that we are dealing with up to SQL Server 2008 R2 release. Nevertheless, a profiler trace can be an intrusive log type to capture. You should not capture a profiler trace
 unless you need one, be careful not to select high volume events unless they are essential, and always keep in mind the following points:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always capture a server side trace and not using the profiler.exe GUI interface. PSSDIAG uses server side tracing. See
&lt;a href="http://support.microsoft.com/kb/929728"&gt;&lt;span style="color:blue"&gt;KB929728&lt;/span&gt;&lt;/a&gt; for details.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always trace to a locally attached (or SAN) disk, never to a network share. See KB
&lt;a href="http://support.microsoft.com/kb/307786"&gt;&lt;span style="color:blue"&gt;307786&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#ff0000"&gt;&lt;span style="font-size:10pt"&gt;Never trace to a UNC path, even if the UNC points to a local disk.&lt;/span&gt;&lt;span style="font-size:10pt"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Don't capture extremely high frequency events like Object:Opened, Lock:Acquired/Released, etc on a production server. Some servers have a workload that is sufficiently low-volume to capture these events, but there
 is no easy way to know in advance whether this is the case. More information on high frequency events can be found
&lt;a href="http://troubleshootingsql.com/2010/12/23/profiler-why-do-you-collect-so-much-data/"&gt;
&lt;span style="color:blue"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Direct the trace to the fastest available volume that isn't already being used by the data or log files. Tracing is write-intensive, so of course avoid RAID-5 whenever possible.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Be aware that with certain workloads, even a fairly basic trace of just RPC/Batch Starting &amp;amp; Completed events can hurt performance if you haven't allocated fast enough disks to the trace.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Trace filtering can dramatically reduce .TRC file size and the I/O cost of tracing, but you should be aware that it can actually
&lt;em&gt;increase &lt;/em&gt;the CPU burden of tracing. To minimize the extra CPU use, filtering should be performed on an integer column (dbid, duration, etc) instead of a text column (database name, textdata, etc) whenever possible. If a filter doesn&amp;rsquo;t remove
 a significant portion of the trace events (say, &amp;gt;10%), it probably isn&amp;rsquo;t worth it, and might actually introduce more overhead than it prevents. While configuring PSSDIAG/SQLDIAG for SQL Server, you cannot add Profiler Trace Filters. Even if you do
 so from the GUI, it would not be included in the PSSDIAG.INI file. To set filters for profiler traces collected with PSSDIAG/SQLDIAG, you need to:
&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Initialize PSSDIAG on the server Find out the Trace ID of the profiler trace running using
&lt;strong&gt;fn_trace_getinfo&lt;/strong&gt; function or &lt;strong&gt;sys.traces &lt;/strong&gt;view. &lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Use the Trace ID obtained from the above step, and use the
&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt; stored procedure to set the filter. Refer &amp;quot;&lt;strong&gt;SQL Profiler Data Columns&lt;/strong&gt;&amp;quot; under SQL Server Books Online for the
&lt;strong&gt;Data Column numbers&lt;/strong&gt; and &amp;quot;&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt;&amp;quot; topic for finding out the values of the logical and comparison operators.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;To verfiy that the filter is active, use the
&lt;strong&gt;fn_trace_filterinfo&lt;/strong&gt; function.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt; &amp;#65279;
&lt;/span&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Wed, 25 May 2011 20:00:08 GMT</pubDate><guid isPermaLink="false">Updated Wiki: FAQ 20110525080008P</guid></item><item><title>Updated Wiki: FAQ</title><link>http://diagmanager.codeplex.com/wikipage?title=FAQ&amp;version=12</link><description>&lt;div class="wikidoc"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;em&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:20pt"&gt;Fequently asked questions (FAQ)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I received an error, what should I do?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Data%20Collection%20Output%20Files"&gt;See Common Issues&lt;/a&gt;.&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I saw many differnt files in the output folder,&amp;nbsp;what are these files?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Data%20Collection%20Output%20Files"&gt;This page&lt;/a&gt; has&amp;nbsp;information on what these files
 are and naming conventions&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;What happened to SQL Server 2000 and 7.0 collector?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Pssdiag for SQL Server 2000 and 70 is available at
&lt;a href="http://support.microsoft.com/kb/830232"&gt;&lt;span style="color:blue"&gt;http://support.microsoft.com/kb/830232&lt;/span&gt;&lt;/a&gt;. This codeplex release intends to support SQL Server 2005 and beyond.&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;How do I tell PSSDIAG to shut down automatically after a certain amount of time?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;You can use the /E command line parameter. For example:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;PSSDIAG.CMD /E21:00:00 &lt;/span&gt;
&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;- Shut down at 9pm (current day, or following day if current time is &amp;gt;9pm)&lt;br&gt;
&lt;strong&gt;PSSDIAG.CMD /E&amp;#43;10:00:00 &lt;/strong&gt;- Start, collect data for 10 hours, then shut down automatically&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I need to collect data from an IA64/x64/x86 SQL instance. Is there anything I need to do differently?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Be sure to select the CPU platform (see the 32-bit Pentium, Itanium, or x64 buttons on the left pane of Diag Manager UI) before making other selections -- selecting a new platform loads new defaults
 for the rest of the form.&amp;nbsp; Note that you should select the platform that matches the version of sqlservr.exe that you are targeting. For example, for a 32-bit SQL instance running in the WOW64 layer on x64 Windows, you should select 32-bit Pentium/x86.
 Select the AMD64 option only for native x64 SQL 2005 instances.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;PSSDIAG was killed abruptly with kill.exe/taskman, orphaning the profiler trace. What do I do?
&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Run the following to stop any active profiler trace (use
&lt;em&gt;sp_trace09 &lt;/em&gt;on a SQL 2005 instance):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;EXEC tempdb.dbo.sp_trace10 'OFF' -- For SQL Server 2008 and above&lt;/strong&gt;&lt;br&gt;
OR&lt;br&gt;
&lt;strong&gt;EXEC tempdb.dbo.sp_trace09 'OFF' -- For SQL Server 2005&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;Run &amp;quot;&lt;strong&gt;logman query -ets&lt;/strong&gt;&amp;quot; from a command prompt to identify any orphaned ETW perfmon logs. Run &amp;quot;&lt;strong&gt;logman stop &amp;lt;tracename&amp;gt; -ets&lt;/strong&gt;&amp;quot; to stop them (replace &amp;quot;&amp;lt;tracename&amp;gt;&amp;quot; with the
 appropriate trace name). Reference: &lt;a href="http://technet.microsoft.com/en-us/library/cc753820(WS.10).aspx"&gt;
Logman&lt;/a&gt;. &lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;Note that PSSDIAG automatically performs these steps when it starts to clear up any orphaned traces and perfmon logs. Check the &amp;quot;&lt;strong&gt;##&lt;em&gt;srv&lt;/em&gt;__SQL_Base_ClearOrphanedBLGs_Startup.OUT&lt;/strong&gt;&amp;quot;
 output file for any orphaned perfmon .BLG files. This file is created every time you spawn a PSSDIAG capture.
&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;If you have &lt;strong&gt;SQL Server 2005/2008 Perf Stats script&lt;/strong&gt;, running. Kill sqlcmd.exe. If it restarts, you need to use
&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;process explorer&lt;/a&gt; to identify parent cmd.exe and kill that cmd.exe. If you don't want to use process explorer to find out process parent/child tree, you can kill all cmd.exe processes
 if this doesn't affect other operators/operations. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;Can I run PSSDIAG on a remote machine to minimize the load on the server being monitored?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
If you are not capturing a profiler trace, yes, you can run the collector on a remote machine. If you need to capture a profiler trace, it is srongly recommended to run the collector on the server being monitored. SQL Server itself always captures the profiler
 trace, &lt;span style="color:#ff0000"&gt;so there is no way to offload profiler trace-related work to a remote machine&lt;/span&gt;. Because the primary performance impact of data collection is typically caused by the profiler trace, and because the trace is always captured
 by sqlservr.exe regardless of where PSSDIAG is running, there are generally no performance advantages to be gained by running the collector remotely.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;How do I import the perf stats script output and profiler traces that PSSDIAG collects?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
The data collected by PSSDIAG (.trc and .out files) can be imported by &lt;a href="http://sqlnexus.codeplex.com/"&gt;
SQL Nexus&lt;/a&gt; into a SQL Server database.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;I need to collect data for a long time but there isn't enough disk space. What can I do?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
Limited disk space is usually the biggest obstacle to long-term data collection. Before configuring a PSSDIAG package, find out from how much free disk space is available on the server to be monitored. The free disk space must be on a locally attached disk
 (or SAN) if you are collecting a Profiler trace. If you are not collecting a Profiler trace you have other options, including capturing the data on a remote machine. If you are collecting Profiler, the server will typically need an appropriate local disk with
 at least several GB free. The rate at which Profiler trace data is generated is entirely dependent on the application workload. It may vary from a few MB per minute up to several GB per minute for a heavily loaded server that services thousands of queries
 each second. You could do the following for a long term data collection using PSSDIAG:&lt;/span&gt;&lt;/p&gt;
&lt;li&gt;&lt;strong&gt;Enable NTFS compression in PSSDIAG&lt;/strong&gt; by using &lt;strong&gt;/C1 &lt;/strong&gt;
to&amp;nbsp;PSSDIAG.CMD as a command line parameter. When the &lt;strong&gt;/C1 &lt;/strong&gt;parameter is provided, PSSDIAG will turn on NTFS compression for all perfmon log and profiler trace rollover files. This is done on a low priority background thread and has a negligible
 additional impact on the server. &lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;Eliminate Profiler tracing if a trace is not required&lt;/strong&gt;. The SQL profiler trace makes up the large majority of the data collected by PSSDIAG. To turn off profiler tracing, simply uncheck the
 &amp;quot;&lt;strong&gt;Profiler Trace&lt;/strong&gt;&amp;quot; checkbox in the Diag Manager GUI when configuring the package. If you are
&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOT&lt;/strong&gt;&lt;/span&gt; capturing a Profiler trace, you can run PSSDIAG from a remote machine if a secondary machine with more disk space is available.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;If a Profiler trace is required, minimize the size of the trace -
&lt;/strong&gt;Depending on the issue that you are collecting data for, you can reduce the amount of data collected for a Profiler trace by eliminating high frequency events (refer section below for more details.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Enable the &amp;quot;Delete Old Trace Files&amp;quot; custom task group
&lt;/strong&gt;in PSSDIAG. This is a checkbox in the lower right quadrant of the Diag Manager GUI. When enabled, PSSDIAG will run a background job that deletes all but the X most recent profiler .TRC and perfmon .BLG files in the
&lt;strong&gt;output &lt;/strong&gt;directory. This may be a reasonable way to keep the trace data under control, assuming that you only care about the data captured during the problem period and a few minutes immediately preceding the problem. When you generate the
&lt;strong&gt;PSSD.CAB&lt;/strong&gt; package, the configuration application will ask you how many trace flies/perfmon files you want to keep.
&lt;em&gt;You will have to ensure that your customer can stop PSSDIAG soon enough after the problem occurrence to avoid losing trace data you need to troubleshoot the issue.&lt;/em&gt;&lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Consider using PSSDIAG&amp;rsquo;s /E and /L command line parameter to restart collection each night&lt;/strong&gt;. This can be very useful if you need to trace for many
 days or weeks, and also helps keep the SQL Server Perf Stats script .OUT file and other .OUT files from growing too large. In the example command line below, the &amp;quot;/E 03:00:00&amp;quot; tells PSSDIAG to automatically stop collection at 3:00am every morning, and the
 &amp;quot;/L&amp;quot; (run continuously) tells PSSDIAG to automatically restart collection instead of exiting when the shutdown time is reached. The /Q (quiet mode) parameter suppresses the &amp;quot;Do you want to overwrite existing files?&amp;quot; prompt. Also added
&lt;strong&gt;/N2 &lt;/strong&gt;to automatically create a new folder as opposed to overwriting existing one.
&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:30px"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDIAG.CMD /E 03:00:00 /L /Q /N2&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you have PSSDIAG reuse the same output folder like this, it will overwrite the previous day&amp;rsquo;s data each morning. This may be desirable, but if you would prefer to archive
 the previous day&amp;rsquo;s output and manually delete it if the problem hasn&amp;rsquo;t occurred, also add the /N2 command line parameter to tell PSSDIAG to rename the existing output folder when restarting collection each morning (previous days&amp;rsquo; output folders
 will be named OUTPUT_00000, OUTPUT_00001, ...).&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to run PSSDiag for a specific amount of time (say 3 hours) from the start you can use&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;PSSDiag.CMD /E &amp;#43;03:00:00&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to delay the start of the PSSDiag collection for a specific amount of time (say 3 hours)
 from now you can use&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDiag.CMD /B &amp;#43;03:00:00&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;&lt;/span&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;PSSDIAG is too &amp;quot;heavy&amp;quot;. My server slows down when we are capturing data.
&lt;br&gt;
&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;The set of data that PSSDIAG/SQLDIAG captures is completely configurable. The impact of data collection is equal to the combined impacts of the various log types that you configure for collection using
 the Diag Manager to capture (the collector itself has a negligible impact on the machine), which means that if a PSSDIAG/SQLDIAG data capture hurts performance on a server it is almost certainly due to the log types and trace events that were selected. Generally
 speaking, the only log type that commonly causes performance problems is the profiler trace. Note that there is no more efficient way to capture a profiler trace than the method that PSSDIAG/SQLDIAG uses. You can capture certain information using XEvents starting
 from SQL Server 2008 but a profiler trace is required for most common performance issues that we are dealing with up to SQL Server 2008 R2 release. Nevertheless, a profiler trace can be an intrusive log type to capture. You should not capture a profiler trace
 unless you need one, be careful not to select high volume events unless they are essential, and always keep in mind the following points:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always capture a server side trace and not using the profiler.exe GUI interface. PSSDIAG uses server side tracing. See
&lt;a href="http://support.microsoft.com/kb/929728"&gt;&lt;span style="color:blue"&gt;KB929728&lt;/span&gt;&lt;/a&gt; for details.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always trace to a locally attached (or SAN) disk, never to a network share. See KB
&lt;a href="http://support.microsoft.com/kb/307786"&gt;&lt;span style="color:blue"&gt;307786&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#ff0000"&gt;&lt;span style="font-size:10pt"&gt;Never trace to a UNC path, even if the UNC points to a local disk.&lt;/span&gt;&lt;span style="font-size:10pt"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Don't capture extremely high frequency events like Object:Opened, Lock:Acquired/Released, etc on a production server. Some servers have a workload that is sufficiently low-volume to capture these events, but there
 is no easy way to know in advance whether this is the case. More information on high frequency events can be found
&lt;a href="http://troubleshootingsql.com/2010/12/23/profiler-why-do-you-collect-so-much-data/"&gt;
&lt;span style="color:blue"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Direct the trace to the fastest available volume that isn't already being used by the data or log files. Tracing is write-intensive, so of course avoid RAID-5 whenever possible.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Be aware that with certain workloads, even a fairly basic trace of just RPC/Batch Starting &amp;amp; Completed events can hurt performance if you haven't allocated fast enough disks to the trace.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Trace filtering can dramatically reduce .TRC file size and the I/O cost of tracing, but you should be aware that it can actually
&lt;em&gt;increase &lt;/em&gt;the CPU burden of tracing. To minimize the extra CPU use, filtering should be performed on an integer column (dbid, duration, etc) instead of a text column (database name, textdata, etc) whenever possible. If a filter doesn&amp;rsquo;t remove
 a significant portion of the trace events (say, &amp;gt;10%), it probably isn&amp;rsquo;t worth it, and might actually introduce more overhead than it prevents. While configuring PSSDIAG/SQLDIAG for SQL Server, you cannot add Profiler Trace Filters. Even if you do
 so from the GUI, it would not be included in the PSSDIAG.INI file. To set filters for profiler traces collected with PSSDIAG/SQLDIAG, you need to:
&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Initialize PSSDIAG on the server Find out the Trace ID of the profiler trace running using
&lt;strong&gt;fn_trace_getinfo&lt;/strong&gt; function or &lt;strong&gt;sys.traces &lt;/strong&gt;view. &lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Use the Trace ID obtained from the above step, and use the
&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt; stored procedure to set the filter. Refer &amp;quot;&lt;strong&gt;SQL Profiler Data Columns&lt;/strong&gt;&amp;quot; under SQL Server Books Online for the
&lt;strong&gt;Data Column numbers&lt;/strong&gt; and &amp;quot;&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt;&amp;quot; topic for finding out the values of the logical and comparison operators.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;To verfiy that the filter is active, use the
&lt;strong&gt;fn_trace_filterinfo&lt;/strong&gt; function.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt; &amp;#65279;
&lt;/span&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Wed, 25 May 2011 19:59:06 GMT</pubDate><guid isPermaLink="false">Updated Wiki: FAQ 20110525075906P</guid></item><item><title>Updated Wiki: FAQ</title><link>http://diagmanager.codeplex.com/wikipage?title=FAQ&amp;version=11</link><description>&lt;div class="wikidoc"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;em&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:20pt"&gt;Fequently asked questions (FAQ)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I received an error, what should I do?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Data%20Collection%20Output%20Files"&gt;See Common Issues&lt;/a&gt;.&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I saw many differnt files in the output folder,&amp;nbsp;what are these files?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Data%20Collection%20Output%20Files"&gt;This page&lt;/a&gt; has&amp;nbsp;information on what these files
 are and naming conventions&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;What happened to SQL Server 2000 and 7.0 collector?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Pssdiag for SQL Server 2000 and 70 is available at
&lt;a href="http://support.microsoft.com/kb/830232"&gt;&lt;span style="color:blue"&gt;http://support.microsoft.com/kb/830232&lt;/span&gt;&lt;/a&gt;. This codeplex release intends to support SQL Server 2005 and beyond.&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;How do I tell PSSDIAG to shut down automatically after a certain amount of time?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;You can use the /E command line parameter. For example:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;PSSDIAG.CMD /E21:00:00 &lt;/span&gt;
&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;- Shut down at 9pm (current day, or following day if current time is &amp;gt;9pm)&lt;br&gt;
&lt;strong&gt;PSSDIAG.CMD /E&amp;#43;10:00:00 &lt;/strong&gt;- Start, collect data for 10 hours, then shut down automatically&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I need to collect data from an IA64/x64/x86 SQL instance. Is there anything I need to do differently?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Be sure to select the CPU platform (see the 32-bit Pentium, Itanium, or x64 buttons on the left pane of Diag Manager UI) before making other selections -- selecting a new platform loads new defaults
 for the rest of the form.&amp;nbsp; Note that you should select the platform that matches the version of sqlservr.exe that you are targeting. For example, for a 32-bit SQL instance running in the WOW64 layer on x64 Windows, you should select 32-bit Pentium/x86.
 Select the AMD64 option only for native x64 SQL 2005 instances.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;PSSDIAG was killed abruptly with kill.exe/taskman, orphaning the profiler trace. What do I do?
&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Run the following to stop any active profiler trace (use
&lt;em&gt;sp_trace09 &lt;/em&gt;on a SQL 2005 instance):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;EXEC tempdb.dbo.sp_trace10 'OFF' -- For SQL Server 2008 and above&lt;/strong&gt;&lt;br&gt;
OR&lt;br&gt;
&lt;strong&gt;EXEC tempdb.dbo.sp_trace09 'OFF' -- For SQL Server 2005&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;Run &amp;quot;&lt;strong&gt;logman query -ets&lt;/strong&gt;&amp;quot; from a command prompt to identify any orphaned ETW perfmon logs. Run &amp;quot;&lt;strong&gt;logman stop &amp;lt;tracename&amp;gt; -ets&lt;/strong&gt;&amp;quot; to stop them (replace &amp;quot;&amp;lt;tracename&amp;gt;&amp;quot; with the
 appropriate trace name). Reference: &lt;a href="http://technet.microsoft.com/en-us/library/cc753820(WS.10).aspx"&gt;
Logman&lt;/a&gt;. &lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;Note that PSSDIAG automatically performs these steps when it starts to clear up any orphaned traces and perfmon logs. Check the &amp;quot;&lt;strong&gt;##&lt;em&gt;srv&lt;/em&gt;__SQL_Base_ClearOrphanedBLGs_Startup.OUT&lt;/strong&gt;&amp;quot;
 output file for any orphaned perfmon .BLG files. This file is created every time you spawn a PSSDIAG capture.
&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;If you have &lt;strong&gt;SQL Server 2005/2008 Perf Stats script&lt;/strong&gt;, running. Kill sqlcmd.exe. If it restarts, you need to use
&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;process explorer&lt;/a&gt; to identify parent cmd.exe and kill that cmd.exe. If you don't want to use process explorer to find out process parent/child tree, you can kill all cmd.exe processes
 if this doesn't affect other operators/operations. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;Can I run PSSDIAG on a remote machine to minimize the load on the server being monitored?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
If you are not capturing a profiler trace, yes, you can run the collector on a remote machine. If you need to capture a profiler trace, it is srongly recommended to run the collector on the server being monitored. SQL Server itself always captures the profiler
 trace, &lt;span style="color:#ff0000"&gt;so there is no way to offload profiler trace-related work to a remote machine&lt;/span&gt;. Because the primary performance impact of data collection is typically caused by the profiler trace, and because the trace is always captured
 by sqlservr.exe regardless of where PSSDIAG is running, there are generally no performance advantages to be gained by running the collector remotely.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;How do I import the perf stats script output and profiler traces that PSSDIAG collects?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
The data collected by PSSDIAG (.trc and .out files) can be imported by &lt;a href="http://sqlnexus.codeplex.com/"&gt;
SQL Nexus&lt;/a&gt; into a SQL Server database.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;I need to collect data for a long time but there isn't enough disk space. What can I do?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
Limited disk space is usually the biggest obstacle to long-term data collection. Before configuring a PSSDIAG package, find out from how much free disk space is available on the server to be monitored. The free disk space must be on a locally attached disk
 (or SAN) if you are collecting a Profiler trace. If you are not collecting a Profiler trace you have other options, including capturing the data on a remote machine. If you are collecting Profiler, the server will typically need an appropriate local disk with
 at least several GB free. The rate at which Profiler trace data is generated is entirely dependent on the application workload. It may vary from a few MB per minute up to several GB per minute for a heavily loaded server that services thousands of queries
 each second. You could do the following for a long term data collection using PSSDIAG:&lt;/span&gt;&lt;/p&gt;
&lt;li&gt;&lt;strong&gt;Enable NTFS compression in PSSDIAG&lt;/strong&gt; by using &lt;strong&gt;/C1 &lt;/strong&gt;
to&amp;nbsp;PSSDIAG.CMD as a command line parameter. When the &lt;strong&gt;/C1 &lt;/strong&gt;parameter is provided, PSSDIAG will turn on NTFS compression for all perfmon log and profiler trace rollover files. This is done on a low priority background thread and has a negligible
 additional impact on the server. &lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;Eliminate Profiler tracing if a trace is not required&lt;/strong&gt;. The SQL profiler trace makes up the large majority of the data collected by PSSDIAG. To turn off profiler tracing, simply uncheck the
 &amp;quot;&lt;strong&gt;Profiler Trace&lt;/strong&gt;&amp;quot; checkbox in the Diag Manager GUI when configuring the package. If you are
&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOT&lt;/strong&gt;&lt;/span&gt; capturing a Profiler trace, you can run PSSDIAG from a remote machine if a secondary machine with more disk space is available.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;If a Profiler trace is required, minimize the size of the trace -
&lt;/strong&gt;Depending on the issue that you are collecting data for, you can reduce the amount of data collected for a Profiler trace by eliminating high frequency events (refer section below for more details.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Enable the &amp;quot;Delete Old Trace Files&amp;quot; custom task group
&lt;/strong&gt;in PSSDIAG. This is a checkbox in the lower right quadrant of the Diag Manager GUI. When enabled, PSSDIAG will run a background job that deletes all but the X most recent profiler .TRC and perfmon .BLG files in the
&lt;strong&gt;output &lt;/strong&gt;directory. This may be a reasonable way to keep the trace data under control, assuming that you only care about the data captured during the problem period and a few minutes immediately preceding the problem. When you generate the
&lt;strong&gt;PSSD.CAB&lt;/strong&gt; package, the configuration application will ask you how many trace flies/perfmon files you want to keep.
&lt;em&gt;You will have to ensure that your customer can stop PSSDIAG soon enough after the problem occurrence to avoid losing trace data you need to troubleshoot the issue.&lt;/em&gt;&lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Consider using PSSDIAG&amp;rsquo;s /E and /L command line parameter to restart collection each night&lt;/strong&gt;. This can be very useful if you need to trace for many
 days or weeks, and also helps keep the SQL Server Perf Stats script .OUT file and other .OUT files from growing too large. In the example command line below, the &amp;quot;/E 03:00:00&amp;quot; tells PSSDIAG to automatically stop collection at 3:00am every morning, and the
 &amp;quot;/L&amp;quot; (run continuously) tells PSSDIAG to automatically restart collection instead of exiting when the shutdown time is reached. The /Q (quiet mode) parameter suppresses the &amp;quot;Do you want to overwrite existing files?&amp;quot; prompt. Also added
&lt;strong&gt;/N2 &lt;/strong&gt;to automatically create a new folder as opposed to overwriting existing one.
&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:30px"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDIAG.CMD /E 03:00:00 /L /Q /N2&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you have PSSDIAG reuse the same output folder like this, it will overwrite the previous day&amp;rsquo;s data each morning. This may be desirable, but if you would prefer to archive
 the previous day&amp;rsquo;s output and manually delete it if the problem hasn&amp;rsquo;t occurred, also add the /N2 command line parameter to tell PSSDIAG to rename the existing output folder when restarting collection each morning (previous days&amp;rsquo; output folders
 will be named OUTPUT_00000, OUTPUT_00001, ...).&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to run PSSDiag for a specific amount of time (say 3 hours) from the start you can use&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;PSSDiag.CMD /E &amp;#43;03:00:00&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to delay the start of the PSSDiag collection for a specific amount of time (say 3 hours)
 from now you can use&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDiag.CMD /B &amp;#43;03:00:00&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;&lt;/span&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;PSSDIAG is too &amp;quot;heavy&amp;quot;. My server slows down when we are capturing data.
&lt;br&gt;
&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;The set of data that PSSDIAG/SQLDIAG captures is completely configurable. The impact of data collection is equal to the combined impacts of the various log types that you configure for collection using
 the Diag Manager to capture (the collector itself has a negligible impact on the machine), which means that if a PSSDIAG/SQLDIAG data capture hurts performance on a server it is almost certainly due to the log types and trace events that were selected. Generally
 speaking, the only log type that commonly causes performance problems is the profiler trace. Note that there is no more efficient way to capture a profiler trace than the method that PSSDIAG/SQLDIAG uses. You can capture certain information using XEvents starting
 from SQL Server 2008 but a profiler trace is required for most common performance issues that we are dealing with up to SQL Server 2008 R2 release. Nevertheless, a profiler trace can be an intrusive log type to capture. You should not capture a profiler trace
 unless you need one, be careful not to select high volume events unless they are essential, and always keep in mind the following points:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always capture a server side trace and not using the profiler.exe GUI interface. PSSDIAG uses server side tracing. See
&lt;a href="http://support.microsoft.com/kb/929728"&gt;&lt;span style="color:blue"&gt;KB929728&lt;/span&gt;&lt;/a&gt; for details.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always trace to a locally attached (or SAN) disk, never to a network share. See KB
&lt;a href="http://support.microsoft.com/kb/307786"&gt;&lt;span style="color:blue"&gt;307786&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#ff0000"&gt;&lt;span style="font-size:10pt"&gt;Never trace to a UNC path, even if the UNC points to a local disk.&lt;/span&gt;&lt;span style="font-size:10pt"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Don't capture extremely high frequency events like Object:Opened, Lock:Acquired/Released, etc on a production server. Some servers have a workload that is sufficiently low-volume to capture these events, but there
 is no easy way to know in advance whether this is the case. More information on high frequency events can be found
&lt;a href="http://troubleshootingsql.com/2010/12/23/profiler-why-do-you-collect-so-much-data/"&gt;
&lt;span style="color:blue"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Direct the trace to the fastest available volume that isn't already being used by the data or log files. Tracing is write-intensive, so of course avoid RAID-5 whenever possible.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Be aware that with certain workloads, even a fairly basic trace of just RPC/Batch Starting &amp;amp; Completed events can hurt performance if you haven't allocated fast enough disks to the trace.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Trace filtering can dramatically reduce .TRC file size and the I/O cost of tracing, but you should be aware that it can actually
&lt;em&gt;increase &lt;/em&gt;the CPU burden of tracing. To minimize the extra CPU use, filtering should be performed on an integer column (dbid, duration, etc) instead of a text column (database name, textdata, etc) whenever possible. If a filter doesn&amp;rsquo;t remove
 a significant portion of the trace events (say, &amp;gt;10%), it probably isn&amp;rsquo;t worth it, and might actually introduce more overhead than it prevents. While configuring PSSDIAG/SQLDIAG for SQL Server, you cannot add Profiler Trace Filters. Even if you do
 so from the GUI, it would not be included in the PSSDIAG.INI file. To set filters for profiler traces collected with PSSDIAG/SQLDIAG, you need to:
&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Initialize PSSDIAG on the server Find out the Trace ID of the profiler trace running using
&lt;strong&gt;fn_trace_getinfo&lt;/strong&gt; function or &lt;strong&gt;sys.traces &lt;/strong&gt;view. &lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Use the Trace ID obtained from the above step, and use the
&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt; stored procedure to set the filter. Refer &amp;quot;&lt;strong&gt;SQL Profiler Data Columns&lt;/strong&gt;&amp;quot; under SQL Server Books Online for the
&lt;strong&gt;Data Column numbers&lt;/strong&gt; and &amp;quot;&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt;&amp;quot; topic for finding out the values of the logical and comparison operators.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;To verfiy that the filter is active, use the
&lt;strong&gt;fn_trace_filterinfo&lt;/strong&gt; function.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt; &amp;#65279;
&lt;/span&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Wed, 25 May 2011 19:58:38 GMT</pubDate><guid isPermaLink="false">Updated Wiki: FAQ 20110525075838P</guid></item><item><title>Updated Wiki: The version of this file is not compatible with the version of Windows you're running.  Check your commputer</title><link>http://diagmanager.codeplex.com/wikipage?title=The version of this file is not compatible with the version of Windows you're running.  Check your commputer&amp;version=1</link><description>&lt;div class="wikidoc"&gt;You may receive the following error:&lt;br /&gt;&amp;quot;The version of this file is not compatible with the version of Windows you&amp;#39;re running.  Check your computer&amp;#39;s system information to see whether you need an x86(32-bit) or x64(64-bit) version of the program, and then contact the software publisher.&amp;quot;&lt;br /&gt;&lt;br /&gt;We have had users how mistakenly name the final package as pssd.exe.   Current version only supports cab file.  When you create the package, you need to name it pssd.cab.    Windows XP and beyond can extract cab files without requiring  a zip utility.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Wed, 25 May 2011 19:55:27 GMT</pubDate><guid isPermaLink="false">Updated Wiki: The version of this file is not compatible with the version of Windows you're running.  Check your commputer 20110525075527P</guid></item><item><title>Updated Wiki: COMMON_ISSUES</title><link>http://diagmanager.codeplex.com/wikipage?title=COMMON_ISSUES&amp;version=8</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Common Issues&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Instance_Error&amp;referringTitle=COMMON_ISSUES"&gt;Why am I receiving &amp;#34;There are no instances of version 10 on this computer&amp;#34;&amp;#63;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Appname_Error&amp;referringTitle=COMMON_ISSUES"&gt;Why am I encountering &amp;#34;There already exists one sqldiag appname as SQLDIAG&amp;#34;&amp;#63;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=The%20version%20of%20this%20file%20is%20not%20compatible%20with%20the%20version%20of%20Windows%20you%27re%20running.%20%20Check%20your%20commputer&amp;referringTitle=COMMON_ISSUES"&gt;The version of this file is not compatible with the version of Windows you&amp;#39;re running.  Check your commputer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Wed, 25 May 2011 19:52:31 GMT</pubDate><guid isPermaLink="false">Updated Wiki: COMMON_ISSUES 20110525075231P</guid></item><item><title>Updated Wiki: FAQ</title><link>http://diagmanager.codeplex.com/wikipage?title=FAQ&amp;version=10</link><description>&lt;div class="wikidoc"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;em&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:20pt"&gt;Fequently asked questions (FAQ)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I saw many differnt files in the output folder,&amp;nbsp;what are these files?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Data%20Collection%20Output%20Files"&gt;This page&lt;/a&gt; has&amp;nbsp;information on what these files
 are and naming conventions&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;What happened to SQL Server 2000 and 7.0 collector?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Pssdiag for SQL Server 2000 and 70 is available at
&lt;a href="http://support.microsoft.com/kb/830232"&gt;&lt;span style="color:blue"&gt;http://support.microsoft.com/kb/830232&lt;/span&gt;&lt;/a&gt;. This codeplex release intends to support SQL Server 2005 and beyond.&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;How do I tell PSSDIAG to shut down automatically after a certain amount of time?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;You can use the /E command line parameter. For example:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;PSSDIAG.CMD /E21:00:00 &lt;/span&gt;
&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;- Shut down at 9pm (current day, or following day if current time is &amp;gt;9pm)&lt;br&gt;
&lt;strong&gt;PSSDIAG.CMD /E&amp;#43;10:00:00 &lt;/strong&gt;- Start, collect data for 10 hours, then shut down automatically&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I need to collect data from an IA64/x64/x86 SQL instance. Is there anything I need to do differently?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Be sure to select the CPU platform (see the 32-bit Pentium, Itanium, or x64 buttons on the left pane of Diag Manager UI) before making other selections -- selecting a new platform loads new defaults
 for the rest of the form.&amp;nbsp; Note that you should select the platform that matches the version of sqlservr.exe that you are targeting. For example, for a 32-bit SQL instance running in the WOW64 layer on x64 Windows, you should select 32-bit Pentium/x86.
 Select the AMD64 option only for native x64 SQL 2005 instances.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;PSSDIAG was killed abruptly with kill.exe/taskman, orphaning the profiler trace. What do I do?
&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Run the following to stop any active profiler trace (use
&lt;em&gt;sp_trace09 &lt;/em&gt;on a SQL 2005 instance):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;EXEC tempdb.dbo.sp_trace10 'OFF' -- For SQL Server 2008 and above&lt;/strong&gt;&lt;br&gt;
OR&lt;br&gt;
&lt;strong&gt;EXEC tempdb.dbo.sp_trace09 'OFF' -- For SQL Server 2005&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;Run &amp;quot;&lt;strong&gt;logman query -ets&lt;/strong&gt;&amp;quot; from a command prompt to identify any orphaned ETW perfmon logs. Run &amp;quot;&lt;strong&gt;logman stop &amp;lt;tracename&amp;gt; -ets&lt;/strong&gt;&amp;quot; to stop them (replace &amp;quot;&amp;lt;tracename&amp;gt;&amp;quot; with the
 appropriate trace name). Reference: &lt;a href="http://technet.microsoft.com/en-us/library/cc753820(WS.10).aspx"&gt;
Logman&lt;/a&gt;. &lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;Note that PSSDIAG automatically performs these steps when it starts to clear up any orphaned traces and perfmon logs. Check the &amp;quot;&lt;strong&gt;##&lt;em&gt;srv&lt;/em&gt;__SQL_Base_ClearOrphanedBLGs_Startup.OUT&lt;/strong&gt;&amp;quot;
 output file for any orphaned perfmon .BLG files. This file is created every time you spawn a PSSDIAG capture.
&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;If you have &lt;strong&gt;SQL Server 2005/2008 Perf Stats script&lt;/strong&gt;, running. Kill sqlcmd.exe. If it restarts, you need to use
&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;process explorer&lt;/a&gt; to identify parent cmd.exe and kill that cmd.exe. If you don't want to use process explorer to find out process parent/child tree, you can kill all cmd.exe processes
 if this doesn't affect other operators/operations. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;Can I run PSSDIAG on a remote machine to minimize the load on the server being monitored?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
If you are not capturing a profiler trace, yes, you can run the collector on a remote machine. If you need to capture a profiler trace, it is srongly recommended to run the collector on the server being monitored. SQL Server itself always captures the profiler
 trace, &lt;span style="color:#ff0000"&gt;so there is no way to offload profiler trace-related work to a remote machine&lt;/span&gt;. Because the primary performance impact of data collection is typically caused by the profiler trace, and because the trace is always captured
 by sqlservr.exe regardless of where PSSDIAG is running, there are generally no performance advantages to be gained by running the collector remotely.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;How do I import the perf stats script output and profiler traces that PSSDIAG collects?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
The data collected by PSSDIAG (.trc and .out files) can be imported by &lt;a href="http://sqlnexus.codeplex.com/"&gt;
SQL Nexus&lt;/a&gt; into a SQL Server database.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;I need to collect data for a long time but there isn't enough disk space. What can I do?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
Limited disk space is usually the biggest obstacle to long-term data collection. Before configuring a PSSDIAG package, find out from how much free disk space is available on the server to be monitored. The free disk space must be on a locally attached disk
 (or SAN) if you are collecting a Profiler trace. If you are not collecting a Profiler trace you have other options, including capturing the data on a remote machine. If you are collecting Profiler, the server will typically need an appropriate local disk with
 at least several GB free. The rate at which Profiler trace data is generated is entirely dependent on the application workload. It may vary from a few MB per minute up to several GB per minute for a heavily loaded server that services thousands of queries
 each second. You could do the following for a long term data collection using PSSDIAG:&lt;/span&gt;&lt;/p&gt;
&lt;li&gt;&lt;strong&gt;Enable NTFS compression in PSSDIAG&lt;/strong&gt; by using &lt;strong&gt;/C1 &lt;/strong&gt;
to&amp;nbsp;PSSDIAG.CMD as a command line parameter. When the &lt;strong&gt;/C1 &lt;/strong&gt;parameter is provided, PSSDIAG will turn on NTFS compression for all perfmon log and profiler trace rollover files. This is done on a low priority background thread and has a negligible
 additional impact on the server. &lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;Eliminate Profiler tracing if a trace is not required&lt;/strong&gt;. The SQL profiler trace makes up the large majority of the data collected by PSSDIAG. To turn off profiler tracing, simply uncheck the
 &amp;quot;&lt;strong&gt;Profiler Trace&lt;/strong&gt;&amp;quot; checkbox in the Diag Manager GUI when configuring the package. If you are
&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOT&lt;/strong&gt;&lt;/span&gt; capturing a Profiler trace, you can run PSSDIAG from a remote machine if a secondary machine with more disk space is available.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;If a Profiler trace is required, minimize the size of the trace -
&lt;/strong&gt;Depending on the issue that you are collecting data for, you can reduce the amount of data collected for a Profiler trace by eliminating high frequency events (refer section below for more details.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Enable the &amp;quot;Delete Old Trace Files&amp;quot; custom task group
&lt;/strong&gt;in PSSDIAG. This is a checkbox in the lower right quadrant of the Diag Manager GUI. When enabled, PSSDIAG will run a background job that deletes all but the X most recent profiler .TRC and perfmon .BLG files in the
&lt;strong&gt;output &lt;/strong&gt;directory. This may be a reasonable way to keep the trace data under control, assuming that you only care about the data captured during the problem period and a few minutes immediately preceding the problem. When you generate the
&lt;strong&gt;PSSD.CAB&lt;/strong&gt; package, the configuration application will ask you how many trace flies/perfmon files you want to keep.
&lt;em&gt;You will have to ensure that your customer can stop PSSDIAG soon enough after the problem occurrence to avoid losing trace data you need to troubleshoot the issue.&lt;/em&gt;&lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Consider using PSSDIAG&amp;rsquo;s /E and /L command line parameter to restart collection each night&lt;/strong&gt;. This can be very useful if you need to trace for many
 days or weeks, and also helps keep the SQL Server Perf Stats script .OUT file and other .OUT files from growing too large. In the example command line below, the &amp;quot;/E 03:00:00&amp;quot; tells PSSDIAG to automatically stop collection at 3:00am every morning, and the
 &amp;quot;/L&amp;quot; (run continuously) tells PSSDIAG to automatically restart collection instead of exiting when the shutdown time is reached. The /Q (quiet mode) parameter suppresses the &amp;quot;Do you want to overwrite existing files?&amp;quot; prompt. Also added
&lt;strong&gt;/N2 &lt;/strong&gt;to automatically create a new folder as opposed to overwriting existing one.
&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:30px"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDIAG.CMD /E 03:00:00 /L /Q /N2&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you have PSSDIAG reuse the same output folder like this, it will overwrite the previous day&amp;rsquo;s data each morning. This may be desirable, but if you would prefer to archive
 the previous day&amp;rsquo;s output and manually delete it if the problem hasn&amp;rsquo;t occurred, also add the /N2 command line parameter to tell PSSDIAG to rename the existing output folder when restarting collection each morning (previous days&amp;rsquo; output folders
 will be named OUTPUT_00000, OUTPUT_00001, ...).&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to run PSSDiag for a specific amount of time (say 3 hours) from the start you can use&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;PSSDiag.CMD /E &amp;#43;03:00:00&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to delay the start of the PSSDiag collection for a specific amount of time (say 3 hours)
 from now you can use&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDiag.CMD /B &amp;#43;03:00:00&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;&lt;/span&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;PSSDIAG is too &amp;quot;heavy&amp;quot;. My server slows down when we are capturing data.
&lt;br&gt;
&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;The set of data that PSSDIAG/SQLDIAG captures is completely configurable. The impact of data collection is equal to the combined impacts of the various log types that you configure for collection using
 the Diag Manager to capture (the collector itself has a negligible impact on the machine), which means that if a PSSDIAG/SQLDIAG data capture hurts performance on a server it is almost certainly due to the log types and trace events that were selected. Generally
 speaking, the only log type that commonly causes performance problems is the profiler trace. Note that there is no more efficient way to capture a profiler trace than the method that PSSDIAG/SQLDIAG uses. You can capture certain information using XEvents starting
 from SQL Server 2008 but a profiler trace is required for most common performance issues that we are dealing with up to SQL Server 2008 R2 release. Nevertheless, a profiler trace can be an intrusive log type to capture. You should not capture a profiler trace
 unless you need one, be careful not to select high volume events unless they are essential, and always keep in mind the following points:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always capture a server side trace and not using the profiler.exe GUI interface. PSSDIAG uses server side tracing. See
&lt;a href="http://support.microsoft.com/kb/929728"&gt;&lt;span style="color:blue"&gt;KB929728&lt;/span&gt;&lt;/a&gt; for details.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always trace to a locally attached (or SAN) disk, never to a network share. See KB
&lt;a href="http://support.microsoft.com/kb/307786"&gt;&lt;span style="color:blue"&gt;307786&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#ff0000"&gt;&lt;span style="font-size:10pt"&gt;Never trace to a UNC path, even if the UNC points to a local disk.&lt;/span&gt;&lt;span style="font-size:10pt"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Don't capture extremely high frequency events like Object:Opened, Lock:Acquired/Released, etc on a production server. Some servers have a workload that is sufficiently low-volume to capture these events, but there
 is no easy way to know in advance whether this is the case. More information on high frequency events can be found
&lt;a href="http://troubleshootingsql.com/2010/12/23/profiler-why-do-you-collect-so-much-data/"&gt;
&lt;span style="color:blue"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Direct the trace to the fastest available volume that isn't already being used by the data or log files. Tracing is write-intensive, so of course avoid RAID-5 whenever possible.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Be aware that with certain workloads, even a fairly basic trace of just RPC/Batch Starting &amp;amp; Completed events can hurt performance if you haven't allocated fast enough disks to the trace.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Trace filtering can dramatically reduce .TRC file size and the I/O cost of tracing, but you should be aware that it can actually
&lt;em&gt;increase &lt;/em&gt;the CPU burden of tracing. To minimize the extra CPU use, filtering should be performed on an integer column (dbid, duration, etc) instead of a text column (database name, textdata, etc) whenever possible. If a filter doesn&amp;rsquo;t remove
 a significant portion of the trace events (say, &amp;gt;10%), it probably isn&amp;rsquo;t worth it, and might actually introduce more overhead than it prevents. While configuring PSSDIAG/SQLDIAG for SQL Server, you cannot add Profiler Trace Filters. Even if you do
 so from the GUI, it would not be included in the PSSDIAG.INI file. To set filters for profiler traces collected with PSSDIAG/SQLDIAG, you need to:
&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Initialize PSSDIAG on the server Find out the Trace ID of the profiler trace running using
&lt;strong&gt;fn_trace_getinfo&lt;/strong&gt; function or &lt;strong&gt;sys.traces &lt;/strong&gt;view. &lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Use the Trace ID obtained from the above step, and use the
&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt; stored procedure to set the filter. Refer &amp;quot;&lt;strong&gt;SQL Profiler Data Columns&lt;/strong&gt;&amp;quot; under SQL Server Books Online for the
&lt;strong&gt;Data Column numbers&lt;/strong&gt; and &amp;quot;&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt;&amp;quot; topic for finding out the values of the logical and comparison operators.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;To verfiy that the filter is active, use the
&lt;strong&gt;fn_trace_filterinfo&lt;/strong&gt; function.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt; &amp;#65279;
&lt;/span&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>amitban</author><pubDate>Tue, 24 May 2011 23:19:33 GMT</pubDate><guid isPermaLink="false">Updated Wiki: FAQ 20110524111933P</guid></item><item><title>Updated Wiki: Data Collection Output Files</title><link>http://diagmanager.codeplex.com/wikipage?title=Data Collection Output Files&amp;version=9</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Data Collection Output Files&lt;/h1&gt;
&lt;h2&gt;Where are output files&lt;/h2&gt;There will be an &lt;b&gt;output&lt;/b&gt; folder from where you run you pssdiag package.&lt;br /&gt;If you plan to use the data for  &lt;a href="http://sqlnexus.codeplex.com" class="externalLink"&gt;SQL Nexus&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, all you need to do is to point  &lt;a href="http://sqlnexus.codeplex.com" class="externalLink"&gt;SQL Nexus&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to the output folder.  &lt;a href="http://sqlnexus.codeplex.com" class="externalLink"&gt;SQL Nexus&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; will figure out what to do with each file.&lt;br /&gt;
&lt;h2&gt;File types&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;.trc:  profiler trace file&lt;/li&gt;
&lt;li&gt;.blg: perfmon capture&lt;/li&gt;
&lt;li&gt;.out: these are output file from TSQL Script run.&lt;/li&gt;
&lt;li&gt;.mdmp: userdump from SQL Server process&lt;/li&gt;
&lt;li&gt;.reg: registry export&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;File naming conventions&lt;/h2&gt;A file can contain serveral things including machine name, SQL Server instance name, startup or shutdown key words.&lt;br /&gt;Generally it&amp;#39;s in format &amp;lt;machine name&amp;gt;_&amp;lt;instance name&amp;gt;_&amp;lt;data collector name&amp;gt;_startup(or shutdown)&lt;br /&gt;Example: 
&lt;ul&gt;&lt;li&gt;Server1_KJ64BIT_SQL_2008_Perf_Stats_Startup.OUT means that the data was collected from Server1, SQL Server instance KJ64bit.  The data came from collector SQL_2008_Perf_stats.  The collector was started from the beginning.&lt;/li&gt;
&lt;li&gt;Server1_KJ64BIT_SQL_2008_Perf_Stats_Snapshot_Shutdown.OUT means that the data was collected from server1, SQL Server instance KJ64bit.  The data came from collector SQL_2008_Perf_Stats_Snapshot.   It was started at end of the data collection.  &lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Internal Files&lt;/h2&gt;For 2005, in the &lt;b&gt;output&lt;/b&gt; folder, there are files beginning ##.  These are internal files.&lt;br /&gt;For 2008 and 2008 R2, there will be an &lt;b&gt;internal&lt;/b&gt; subfolder within the &lt;b&gt;output&lt;/b&gt; folder.  All the files are internal files.&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Tue, 24 May 2011 15:29:03 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Data Collection Output Files 20110524032903P</guid></item><item><title>Updated Wiki: FAQ</title><link>http://diagmanager.codeplex.com/wikipage?title=FAQ&amp;version=9</link><description>&lt;div class="wikidoc"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;em&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:20pt"&gt;Fequently asked questions (FAQ)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I saw many differnt files in the output folder,&amp;nbsp;what are these files?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Data%20Collection%20Output%20Files"&gt;This page&lt;/a&gt; has&amp;nbsp;information on what theyse
 files are and naming conventions&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;What happened to SQL Server 2000 and 7.0 collector?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Pssdiag for SQL Server 2000 and 70 is available at
&lt;a href="http://support.microsoft.com/kb/830232"&gt;&lt;span style="color:blue"&gt;http://support.microsoft.com/kb/830232&lt;/span&gt;&lt;/a&gt;. This codeplex release intends to support SQL Server 2005 and beyond.&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;How do I tell PSSDIAG to shut down automatically after a certain amount of time?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;You can use the /E command line parameter. For example:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;PSSDIAG.CMD /E21:00:00 &lt;/span&gt;
&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;- Shut down at 9pm (current day, or following day if current time is &amp;gt;9pm)&lt;br&gt;
&lt;strong&gt;PSSDIAG.CMD /E&amp;#43;10:00:00 &lt;/strong&gt;- Start, collect data for 10 hours, then shut down automatically&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;I need to collect data from an IA64/x64/x86 SQL instance. Is there anything I need to do differently?&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Be sure to select the CPU platform (see the 32-bit Pentium, Itanium, or x64 buttons on the left pane of Diag Manager UI) before making other selections -- selecting a new platform loads new defaults
 for the rest of the form.&amp;nbsp; Note that you should select the platform that matches the version of sqlservr.exe that you are targeting. For example, for a 32-bit SQL instance running in the WOW64 layer on x64 Windows, you should select 32-bit Pentium/x86.
 Select the AMD64 option only for native x64 SQL 2005 instances.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;PSSDIAG was killed abruptly with kill.exe/taskman, orphaning the profiler trace. What do I do?
&lt;/span&gt;&lt;br&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:black; font-size:10pt"&gt;Run the following to stop any active profiler trace (use
&lt;em&gt;sp_trace09 &lt;/em&gt;on a SQL 2005 instance):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;EXEC tempdb.dbo.sp_trace10 'OFF' -- For SQL Server 2008 and above&lt;/strong&gt;&lt;br&gt;
OR&lt;br&gt;
&lt;strong&gt;EXEC tempdb.dbo.sp_trace09 'OFF' -- For SQL Server 2005&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;Run &amp;quot;&lt;strong&gt;logman query -ets&lt;/strong&gt;&amp;quot; from a command prompt to identify any orphaned ETW perfmon logs. Run &amp;quot;&lt;strong&gt;logman stop &amp;lt;tracename&amp;gt; -ets&lt;/strong&gt;&amp;quot; to stop them (replace &amp;quot;&amp;lt;tracename&amp;gt;&amp;quot; with the
 appropriate trace name). Reference: &lt;a href="http://technet.microsoft.com/en-us/library/cc753820(WS.10).aspx"&gt;
Logman&lt;/a&gt;. &lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;Note that PSSDIAG automatically performs these steps when it starts to clear up any orphaned traces and perfmon logs. Check the &amp;quot;&lt;strong&gt;##&lt;em&gt;srv&lt;/em&gt;__SQL_Base_ClearOrphanedBLGs_Startup.OUT&lt;/strong&gt;&amp;quot;
 output file for any orphaned perfmon .BLG files. This file is created every time you spawn a PSSDIAG capture.
&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;If you have &lt;strong&gt;SQL Server 2005/2008 Perf Stats script&lt;/strong&gt;, running. Kill sqlcmd.exe. If it restarts, you need to use
&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;process explorer&lt;/a&gt; to identify parent cmd.exe and kill that cmd.exe. If you don't want to use process explorer to find out process parent/child tree, you can kill all cmd.exe processes
 if this doesn't affect other operators/operations. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;Can I run PSSDIAG on a remote machine to minimize the load on the server being monitored?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
If you are not capturing a profiler trace, yes, you can run the collector on a remote machine. If you need to capture a profiler trace, it is srongly recommended to run the collector on the server being monitored. SQL Server itself always captures the profiler
 trace, &lt;span style="color:#ff0000"&gt;so there is no way to offload profiler trace-related work to a remote machine&lt;/span&gt;. Because the primary performance impact of data collection is typically caused by the profiler trace, and because the trace is always captured
 by sqlservr.exe regardless of where PSSDIAG is running, there are generally no performance advantages to be gained by running the collector remotely.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;How do I import the perf stats script output and profiler traces that PSSDIAG collects?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
The data collected by PSSDIAG (.trc and .out files) can be imported by &lt;a href="http://sqlnexus.codeplex.com/"&gt;
SQL Nexus&lt;/a&gt; into a SQL Server database.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;I need to collect data for a long time but there isn't enough disk space. What can I do?&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;
Limited disk space is usually the biggest obstacle to long-term data collection. Before configuring a PSSDIAG package, find out from how much free disk space is available on the server to be monitored. The free disk space must be on a locally attached disk
 (or SAN) if you are collecting a Profiler trace. If you are not collecting a Profiler trace you have other options, including capturing the data on a remote machine. If you are collecting Profiler, the server will typically need an appropriate local disk with
 at least several GB free. The rate at which Profiler trace data is generated is entirely dependent on the application workload. It may vary from a few MB per minute up to several GB per minute for a heavily loaded server that services thousands of queries
 each second. You could do the following for a long term data collection using PSSDIAG:&lt;/span&gt;&lt;/p&gt;
&lt;li&gt;&lt;strong&gt;Enable NTFS compression in PSSDIAG&lt;/strong&gt; by using &lt;strong&gt;/C1 &lt;/strong&gt;
to&amp;nbsp;PSSDIAG.CMD as a command line parameter. When the &lt;strong&gt;/C1 &lt;/strong&gt;parameter is provided, PSSDIAG will turn on NTFS compression for all perfmon log and profiler trace rollover files. This is done on a low priority background thread and has a negligible
 additional impact on the server. &lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;Eliminate Profiler tracing if a trace is not required&lt;/strong&gt;. The SQL profiler trace makes up the large majority of the data collected by PSSDIAG. To turn off profiler tracing, simply uncheck the
 &amp;quot;&lt;strong&gt;Profiler Trace&lt;/strong&gt;&amp;quot; checkbox in the Diag Manager GUI when configuring the package. If you are
&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOT&lt;/strong&gt;&lt;/span&gt; capturing a Profiler trace, you can run PSSDIAG from a remote machine if a secondary machine with more disk space is available.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;/span&gt;&lt;strong&gt;If a Profiler trace is required, minimize the size of the trace -
&lt;/strong&gt;Depending on the issue that you are collecting data for, you can reduce the amount of data collected for a Profiler trace by eliminating high frequency events (refer section below for more details.
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Enable the &amp;quot;Delete Old Trace Files&amp;quot; custom task group
&lt;/strong&gt;in PSSDIAG. This is a checkbox in the lower right quadrant of the Diag Manager GUI. When enabled, PSSDIAG will run a background job that deletes all but the X most recent profiler .TRC and perfmon .BLG files in the
&lt;strong&gt;output &lt;/strong&gt;directory. This may be a reasonable way to keep the trace data under control, assuming that you only care about the data captured during the problem period and a few minutes immediately preceding the problem. When you generate the
&lt;strong&gt;PSSD.CAB&lt;/strong&gt; package, the configuration application will ask you how many trace flies/perfmon files you want to keep.
&lt;em&gt;You will have to ensure that your customer can stop PSSDIAG soon enough after the problem occurrence to avoid losing trace data you need to troubleshoot the issue.&lt;/em&gt;&lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&amp;#65279;&lt;strong&gt;Consider using PSSDIAG&amp;rsquo;s /E and /L command line parameter to restart collection each night&lt;/strong&gt;. This can be very useful if you need to trace for many
 days or weeks, and also helps keep the SQL Server Perf Stats script .OUT file and other .OUT files from growing too large. In the example command line below, the &amp;quot;/E 03:00:00&amp;quot; tells PSSDIAG to automatically stop collection at 3:00am every morning, and the
 &amp;quot;/L&amp;quot; (run continuously) tells PSSDIAG to automatically restart collection instead of exiting when the shutdown time is reached. The /Q (quiet mode) parameter suppresses the &amp;quot;Do you want to overwrite existing files?&amp;quot; prompt. Also added
&lt;strong&gt;/N2 &lt;/strong&gt;to automatically create a new folder as opposed to overwriting existing one.
&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:30px"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;span style="color:black; font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDIAG.CMD /E 03:00:00 /L /Q /N2&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you have PSSDIAG reuse the same output folder like this, it will overwrite the previous day&amp;rsquo;s data each morning. This may be desirable, but if you would prefer to archive
 the previous day&amp;rsquo;s output and manually delete it if the problem hasn&amp;rsquo;t occurred, also add the /N2 command line parameter to tell PSSDIAG to rename the existing output folder when restarting collection each morning (previous days&amp;rsquo; output folders
 will be named OUTPUT_00000, OUTPUT_00001, ...).&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to run PSSDiag for a specific amount of time (say 3 hours) from the start you can use&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;PSSDiag.CMD /E &amp;#43;03:00:00&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;If you want to delay the start of the PSSDiag collection for a specific amount of time (say 3 hours)
 from now you can use&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p style="padding-left:60px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;PSSDiag.CMD /B &amp;#43;03:00:00&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;li style="padding-left:30px"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;span style="color:#008000"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#008000"&gt;&lt;strong&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:#000000; font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="text-decoration:underline"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;&lt;/span&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;PSSDIAG is too &amp;quot;heavy&amp;quot;. My server slows down when we are capturing data.
&lt;br&gt;
&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;The set of data that PSSDIAG/SQLDIAG captures is completely configurable. The impact of data collection is equal to the combined impacts of the various log types that you configure for collection using
 the Diag Manager to capture (the collector itself has a negligible impact on the machine), which means that if a PSSDIAG/SQLDIAG data capture hurts performance on a server it is almost certainly due to the log types and trace events that were selected. Generally
 speaking, the only log type that commonly causes performance problems is the profiler trace. Note that there is no more efficient way to capture a profiler trace than the method that PSSDIAG/SQLDIAG uses. You can capture certain information using XEvents starting
 from SQL Server 2008 but a profiler trace is required for most common performance issues that we are dealing with up to SQL Server 2008 R2 release. Nevertheless, a profiler trace can be an intrusive log type to capture. You should not capture a profiler trace
 unless you need one, be careful not to select high volume events unless they are essential, and always keep in mind the following points:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always capture a server side trace and not using the profiler.exe GUI interface. PSSDIAG uses server side tracing. See
&lt;a href="http://support.microsoft.com/kb/929728"&gt;&lt;span style="color:blue"&gt;KB929728&lt;/span&gt;&lt;/a&gt; for details.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Always trace to a locally attached (or SAN) disk, never to a network share. See KB
&lt;a href="http://support.microsoft.com/kb/307786"&gt;&lt;span style="color:blue"&gt;307786&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#ff0000"&gt;&lt;span style="font-size:10pt"&gt;Never trace to a UNC path, even if the UNC points to a local disk.&lt;/span&gt;&lt;span style="font-size:10pt"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Don't capture extremely high frequency events like Object:Opened, Lock:Acquired/Released, etc on a production server. Some servers have a workload that is sufficiently low-volume to capture these events, but there
 is no easy way to know in advance whether this is the case. More information on high frequency events can be found
&lt;a href="http://troubleshootingsql.com/2010/12/23/profiler-why-do-you-collect-so-much-data/"&gt;
&lt;span style="color:blue"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Direct the trace to the fastest available volume that isn't already being used by the data or log files. Tracing is write-intensive, so of course avoid RAID-5 whenever possible.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Be aware that with certain workloads, even a fairly basic trace of just RPC/Batch Starting &amp;amp; Completed events can hurt performance if you haven't allocated fast enough disks to the trace.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt;
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Trace filtering can dramatically reduce .TRC file size and the I/O cost of tracing, but you should be aware that it can actually
&lt;em&gt;increase &lt;/em&gt;the CPU burden of tracing. To minimize the extra CPU use, filtering should be performed on an integer column (dbid, duration, etc) instead of a text column (database name, textdata, etc) whenever possible. If a filter doesn&amp;rsquo;t remove
 a significant portion of the trace events (say, &amp;gt;10%), it probably isn&amp;rsquo;t worth it, and might actually introduce more overhead than it prevents. While configuring PSSDIAG/SQLDIAG for SQL Server, you cannot add Profiler Trace Filters. Even if you do
 so from the GUI, it would not be included in the PSSDIAG.INI file. To set filters for profiler traces collected with PSSDIAG/SQLDIAG, you need to:
&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Initialize PSSDIAG on the server Find out the Trace ID of the profiler trace running using
&lt;strong&gt;fn_trace_getinfo&lt;/strong&gt; function or &lt;strong&gt;sys.traces &lt;/strong&gt;view. &lt;/span&gt;
&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;Use the Trace ID obtained from the above step, and use the
&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt; stored procedure to set the filter. Refer &amp;quot;&lt;strong&gt;SQL Profiler Data Columns&lt;/strong&gt;&amp;quot; under SQL Server Books Online for the
&lt;strong&gt;Data Column numbers&lt;/strong&gt; and &amp;quot;&lt;strong&gt;sp_trace_setfilter&lt;/strong&gt;&amp;quot; topic for finding out the values of the logical and comparison operators.
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:black; font-size:10pt"&gt;To verfiy that the filter is active, use the
&lt;strong&gt;fn_trace_filterinfo&lt;/strong&gt; function.&lt;/span&gt;&lt;span style="color:black; font-size:10pt"&gt; &amp;#65279;
&lt;/span&gt;&lt;span style="color:#800000"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Tue, 24 May 2011 15:27:25 GMT</pubDate><guid isPermaLink="false">Updated Wiki: FAQ 20110524032725P</guid></item><item><title>Updated Wiki: Collecting Data for SQL Nexus</title><link>http://diagmanager.codeplex.com/wikipage?title=Collecting Data for SQL Nexus&amp;version=6</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Collecting Data For SQL Nexus&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://diagmanager.codeplex.com/wikipage?title=Step%20by%20Step%20tasks&amp;referringTitle=Collecting%20Data%20for%20SQL%20Nexus"&gt;Step by Step tasks&lt;/a&gt; has detailed info on how to collect data.&lt;/li&gt;
&lt;li&gt;For SQL Nexus, just choose version, platform and leave everything else as default.  SQL Nexus will be able to analyze the data collected.  SQL Nexus just need you to point to the output folder. For the curious &lt;a href="http://diagmanager.codeplex.com/wikipage?title=Data%20Collection%20Output%20Files&amp;referringTitle=Collecting%20Data%20for%20SQL%20Nexus"&gt;this page&lt;/a&gt; has more information about output files.&lt;/li&gt;
&lt;li&gt;Alternatively, you can choose a detailed trace template.  The screenshot below let you choose either &lt;i&gt;GeneralPerformance10.xml or &lt;/i&gt;DetailedPerformance10.xml.  If you choose _DetailedPerformance10.xml for tracing, more trace events will be captured but it can add load to your system in terms of IO requirement.&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=DiagManager&amp;DownloadId=241811" alt="template_for_sqlnexus.jpg" title="template_for_sqlnexus.jpg" /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Tue, 24 May 2011 15:24:27 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Collecting Data for SQL Nexus 20110524032427P</guid></item></channel></rss>