<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>Pssdiag and Sqldiag Manager</title><link>http://diagmanager.codeplex.com/project/feeds/rss</link><description>This Pssdiag&amp;#47;Sqldiag manager is commonly used by Microsoft CSS SQL support to troubleshoot various SQL issues particular SQL Server performance issues.   It provides data collection for SQL Server 2005, 2008 and 2008 R2.</description><item><title>Source code checked in, #69709</title><link>http://diagmanager.codeplex.com/SourceControl/changeset/changes/69709</link><description>Upgrade&amp;#58; New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link&amp;#58; http&amp;#58;&amp;#47;&amp;#47;go.microsoft.com&amp;#47;fwlink&amp;#47;&amp;#63;LinkId&amp;#61;254563</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 22:10:56 GMT</pubDate><guid isPermaLink="false">Source code checked in, #69709 20121001101056P</guid></item><item><title>Source code checked in, #69708</title><link>http://diagmanager.codeplex.com/SourceControl/changeset/changes/69708</link><description>Checked in by server upgrade</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 22:06:45 GMT</pubDate><guid isPermaLink="false">Source code checked in, #69708 20121001100645P</guid></item><item><title>Reviewed: Diag Manager Release 10.5.1.202 (Jun 28, 2012)</title><link>http://diagmanager.codeplex.com/releases/view/67449#ReviewBy-calvinjohn</link><description>Rated 3 Stars &amp;#40;out of 5&amp;#41; - Do not know whether 64 bit is able to use this program or not.</description><author>calvinjohn</author><pubDate>Thu, 28 Jun 2012 16:40:46 GMT</pubDate><guid isPermaLink="false">Reviewed: Diag Manager Release 10.5.1.202 (Jun 28, 2012) 20120628044046P</guid></item><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>Created Issue: PSSDIAG.LNK Path settings bug toolsbin [21204]</title><link>http://diagmanager.codeplex.com/workitem/21204</link><description>the set toolsbin path is missing a backslash &amp;#92;&lt;br /&gt;&lt;br /&gt;Line currently reads&lt;br /&gt;&lt;br /&gt;if &amp;#34;&amp;#37;toolsbin&amp;#37;&amp;#34;&amp;#61;&amp;#61;&amp;#34;&amp;#34; set toolsbin&amp;#61;C&amp;#58;&amp;#92;Program Files&amp;#92;Microsoft SQL Server&amp;#92;100&amp;#92;Tools&amp;#92;Binn&lt;br /&gt;&lt;br /&gt;Should  be&lt;br /&gt;&lt;br /&gt;if &amp;#34;&amp;#37;toolsbin&amp;#37;&amp;#34;&amp;#61;&amp;#61;&amp;#34;&amp;#34; set toolsbin&amp;#61;C&amp;#58;&amp;#92;Program Files&amp;#92;Microsoft SQL Server&amp;#92;100&amp;#92;Tools&amp;#92;Binn&amp;#92;&lt;br /&gt;&lt;br /&gt;See attached for the corrected file.&lt;br /&gt;</description><author>pgdatawiz</author><pubDate>Wed, 20 Jul 2011 19:56:10 GMT</pubDate><guid isPermaLink="false">Created Issue: PSSDIAG.LNK Path settings bug toolsbin [21204] 20110720075610P</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>Created Release: Diag Manager Release 10.5.1.202 (Jun 01, 2011)</title><link>http://diagmanager.codeplex.com/releases?ReleaseId=67449</link><description>&lt;div class="wikidoc"&gt;This release fixed a bug regarding saving the final package.  If you browse a folder when saving the configured package, the default file name will change back to pssd.exe.  It should be pssd.cab.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jackli</author><pubDate>Wed, 01 Jun 2011 16:40:36 GMT</pubDate><guid isPermaLink="false">Created Release: Diag Manager Release 10.5.1.202 (Jun 01, 2011) 20110601044036P</guid></item><item><title>Released: Diag Manager Release 10.5.1.202 (Jun 01, 2011)</title><link>http://diagmanager.codeplex.com/releases/view/67449</link><description>
&lt;div class="wikidoc"&gt;This release fixed a bug regarding saving the final package. If you browse a folder when saving the configured package, the default file name will change back to pssd.exe. It should be pssd.cab.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
</description><author></author><pubDate>Wed, 01 Jun 2011 16:40:36 GMT</pubDate><guid isPermaLink="false">Released: Diag Manager Release 10.5.1.202 (Jun 01, 2011) 20110601044036P</guid></item><item><title>Source code checked in, #61074</title><link>http://diagmanager.codeplex.com/SourceControl/changeset/changes/61074</link><description>Fixing a bug for cab file&amp;#58;  If you browse a folder to save the package, it will change from pssd.cab to pssd.exe.  The correct behavior is to save as pssd.cab</description><author>jackli</author><pubDate>Wed, 01 Jun 2011 16:34:44 GMT</pubDate><guid isPermaLink="false">Source code checked in, #61074 20110601043444P</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></channel></rss>