Quantcast
Channel: Pssdiag and Sqldiag Manager
Viewing all 63 articles
Browse latest View live

Updated Wiki: Home

$
0
0

What is Pssdiag/Sqldiag Manager?

Pssdiag/Sqldiag Manager is a graphic interface that provides customization capabilities to collect data for SQL Server using sqldiag collector engine. The data collected can be used bySQL Nexus tool  which help you troubleshoot SQL Server performance problems.  This is the same tool Microsoft SQL Server support engineers use to for data collection to troubleshoot customer's performance problems.

Release 12.0.0.1001

What's New

This version support SQL Server 2012 and 2014

Requirements

  1. Diag Manager requirements
    • Windows 7 or above (32 or 64 bit)
    • .NET framework 2.0 installed
  2. Data collection
    • The collector can only run on a machine that has SQL Server with targeted version (either client tools only or full version) installed

Training Videos

  1. Downloading and Installing Diag Manager
  2. Configuring and customizing pssdiag packages using Diag Manager
  3. Running pssdiag package
  4. PSSDIAG performance considerations

How it works

This tool lets you customize what you want to collect and then let you create a data collection package. You extract the package and run SQLdiag data collector engine on the SQL Server you are troubleshooting.

Feature Highlights

  1. Powerful data collection capabilities:  The tool relies on SQLdiag collector engine to provide collection of perfmon, profiler trace, msinfo32, errorlogs, Windows event logs, TSQL script output and registry exports.
  2. Default templates: You can choose SQL Server version and platform (32 bit or 64 bit). The tool will automatically choose a default template for the combination. This will have default set of perfmon counters, profiler traces.
  3. Shipped with ready to use Custom collectors:  Most commonly usedcustom collectors include SQL Server 2005, 2008 or 2008 R2 performance collector. 
  4. Customization/Extensibility:  You can customize what perfmon and profiler trace events you want to collect.   Additionally, you can create your own custom collectors with TSQL Scripts, batch files and utilities.   See customization guide
  5. Packaging: With a single click of save, the tool will package all your files into a single cab so that you can ship to the machine where you intend to run on. 
  6. Integration with SQL Nexus:  The custom collectors shipped will collect data that can be analyzed bySQL Nexus Tool.

Common Tasks

  1. Step-by-step tasks:  This page tells you how to use the tool including installation, configuration and running the tool
  2. Collecting Data for SQL Nexus.
  3. Customization guide:  This page tells you how you can create you own custom collector to use in addition to default collectors shipped.
  4. Frequently Asked Questions (FAQ):  This page will answer most commonly asked questions.
  5. Common Issues:  this page will document most commonly encoutered issues and errors

Requirement/Supported Versions

  1. Requirements of this configuration tool:
    • .NET framework 2.0 (SQL Server 2005 and 2008 install this by default).  This tool can be easily compiled to target .NET framework version beyond 2.0.  We target 2.0 to minimize .NET framework installation because 2005, 2008 and 2008 R2 all install .NET framework 2.0. 
    • Operating system: Windows 2003 Server/XP and above
  2. Requirement of running data collection package:
    • The final data collection package generated by this configuration tool needs to run on a machine that has target SQL Server installed.  For example, if you have configured a package for an SQL Server 2008 instance, it can only run on a machine which SQL Server 2008 is installed.
  3. Supported Versions
    • SQL Server 2005
    • SQL Server 2008
    • SQL Server 2008 R2
    • For SQL Server 2012
    • SQL Server 2014

Updated Wiki: FAQ

$
0
0

 

Fequently asked questions (FAQ)

I received an error, what should I do?

SeeCommon Issues section.

How do I run pssdiag on AlwaysOn instances?

see [[Running pssdiag on AlwaysOn]]

I saw many different files in the output folder, what are these files?

This page has information on what these files are and naming conventions  

What happened to SQL Server 2000 and 7.0 collector?
Pssdiag for SQL Server 2000 and 70 is available athttp://support.microsoft.com/kb/830232. This codeplex release intends to support SQL Server 2005 and beyond. 

How do I tell PSSDIAG to shut down automatically after a certain amount of time?
You can use the /E command line parameter. For example:

PSSDIAG.CMD /E21:00:00 - Shut down at 9pm (current day, or following day if current time is >9pm)
PSSDIAG.CMD /E+10:00:00 - Start, collect data for 10 hours, then shut down automatically

I need to collect data from an IA64/x64/x86 SQL instance. Is there anything I need to do differently?
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.  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.

PSSDIAG was killed abruptly with kill.exe/taskman, orphaning the profiler trace. What do I do?
Run the following to stop any active profiler trace (usesp_trace09 on a SQL 2005 instance):

EXEC tempdb.dbo.sp_trace10 'OFF' -- For SQL Server 2008 and above
OR
EXEC tempdb.dbo.sp_trace09 'OFF' -- For SQL Server 2005

Run "logman query -ets" from a command prompt to identify any orphaned ETW perfmon logs. Run "logman stop <tracename> -ets" to stop them (replace "<tracename>" with the appropriate trace name). Reference: Logman. Note that PSSDIAG automatically performs these steps when it starts to clear up any orphaned traces and perfmon logs. Check the "##srv__SQL_Base_ClearOrphanedBLGs_Startup.OUT" output file for any orphaned perfmon .BLG files. This file is created every time you spawn a PSSDIAG capture.If you have SQL Server 2005/2008 Perf Stats script, running. Kill sqlcmd.exe. If it restarts, you need to useprocess explorer 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.

Can I run PSSDIAG on a remote machine to minimize the load on the server being monitored?
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, so there is no way to offload profiler trace-related work to a remote machine. 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.

How do I import the perf stats script output and profiler traces that PSSDIAG collects?
The data collected by PSSDIAG (.trc and .out files) can be imported by SQL Nexus into a SQL Server database.

I need to collect data for a long time but there isn't enough disk space. What can I do?
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:

  • Enable NTFS compression in PSSDIAG by using /C1 to PSSDIAG.CMD as a command line parameter. When the /C1 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.
  • Eliminate Profiler tracing if a trace is not required. The SQL profiler trace makes up the large majority of the data collected by PSSDIAG. To turn off profiler tracing, simply uncheck the"Profiler Trace" checkbox in the Diag Manager GUI when configuring the package. If you areNOT capturing a Profiler trace, you can run PSSDIAG from a remote machine if a secondary machine with more disk space is available.
  • If a Profiler trace is required, minimize the size of the trace -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.
  • Enable the "Delete Old Trace Files" custom task groupin 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 theoutput 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 thePSSD.CAB package, the configuration application will ask you how many trace flies/perfmon files you want to keep.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.
  • Consider using PSSDIAG’s /E and /L command line parameter to restart collection each night. 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 "/E 03:00:00" tells PSSDIAG to automatically stop collection at 3:00am every morning, and the"/L" (run continuously) tells PSSDIAG to automatically restart collection instead of exiting when the shutdown time is reached. The /Q (quiet mode) parameter suppresses the "Do you want to overwrite existing files?" prompt. Also added/N2 to automatically create a new folder as opposed to overwriting existing one.

    PSSDIAG.CMD /E 03:00:00 /L /Q /N2

  • If you have PSSDIAG reuse the same output folder like this, it will overwrite the previous day’s data each morning. This may be desirable, but if you would prefer to archive the previous day’s output and manually delete it if the problem hasn’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’ output folders will be named OUTPUT_00000, OUTPUT_00001, ...).
  • If you want to run PSSDiag for a specific amount of time (say 3 hours) from the start you can use

    PSSDiag.CMD /E +03:00:00

  • 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

    PSSDiag.CMD /B +03:00:00

  • NOTE

    PSSDIAG is too "heavy". My server slows down when we are capturing data.
    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:

    • Always capture a server side trace and not using the profiler.exe GUI interface. PSSDIAG uses server side tracing. SeeKB929728 for details.
    • Always trace to a locally attached (or SAN) disk, never to a network share. See KB307786.
    • Never trace to a UNC path, even if the UNC points to a local disk.
    • 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 foundhere.
    • 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.
    • Be aware that with certain workloads, even a fairly basic trace of just RPC/Batch Starting & Completed events can hurt performance if you haven't allocated fast enough disks to the trace.
    • Trace filtering can dramatically reduce .TRC file size and the I/O cost of tracing, but you should be aware that it can actuallyincrease 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’t remove a significant portion of the trace events (say, >10%), it probably isn’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:
      • Initialize PSSDIAG on the server Find out the Trace ID of the profiler trace running usingfn_trace_getinfo function or sys.traces view.
      • Use the Trace ID obtained from the above step, and use thesp_trace_setfilter stored procedure to set the filter. Refer "SQL Profiler Data Columns" under SQL Server Books Online for theData Column numbers and "sp_trace_setfilter" topic for finding out the values of the logical and comparison operators.
      • To verfiy that the filter is active, use thefn_trace_filterinfo function.

Updated Wiki: Running pssdiag on an AlwaysOn instance

$
0
0
Even though you didn't cluster you AlwaysOn SQL instance, AlwaysOn requires Windows cluster to work. This will trigger extra code check for pssdiag. If you specify . as machine name (which is default), pssdiag may not work. If it doesn't work, you need to specify the node name as machine name for AlwaysOn instance.

Updated Wiki: FAQ

$
0
0

 

Fequently asked questions (FAQ)

I received an error, what should I do?

SeeCommon Issues section.

How do I run pssdiag on AlwaysOn instances?

see Running pssdiag on AlwaysOn

I saw many different files in the output folder, what are these files?

This page has information on what these files are and naming conventions  

What happened to SQL Server 2000 and 7.0 collector?
Pssdiag for SQL Server 2000 and 70 is available athttp://support.microsoft.com/kb/830232. This codeplex release intends to support SQL Server 2005 and beyond. 

How do I tell PSSDIAG to shut down automatically after a certain amount of time?
You can use the /E command line parameter. For example:

PSSDIAG.CMD /E21:00:00 - Shut down at 9pm (current day, or following day if current time is >9pm)
PSSDIAG.CMD /E+10:00:00 - Start, collect data for 10 hours, then shut down automatically

I need to collect data from an IA64/x64/x86 SQL instance. Is there anything I need to do differently?
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.  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.

PSSDIAG was killed abruptly with kill.exe/taskman, orphaning the profiler trace. What do I do?
Run the following to stop any active profiler trace (usesp_trace09 on a SQL 2005 instance):

EXEC tempdb.dbo.sp_trace10 'OFF' -- For SQL Server 2008 and above
OR
EXEC tempdb.dbo.sp_trace09 'OFF' -- For SQL Server 2005

Run "logman query -ets" from a command prompt to identify any orphaned ETW perfmon logs. Run "logman stop <tracename> -ets" to stop them (replace "<tracename>" with the appropriate trace name). Reference: Logman. Note that PSSDIAG automatically performs these steps when it starts to clear up any orphaned traces and perfmon logs. Check the "##srv__SQL_Base_ClearOrphanedBLGs_Startup.OUT" output file for any orphaned perfmon .BLG files. This file is created every time you spawn a PSSDIAG capture.If you have SQL Server 2005/2008 Perf Stats script, running. Kill sqlcmd.exe. If it restarts, you need to useprocess explorer 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.

Can I run PSSDIAG on a remote machine to minimize the load on the server being monitored?
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, so there is no way to offload profiler trace-related work to a remote machine. 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.

How do I import the perf stats script output and profiler traces that PSSDIAG collects?
The data collected by PSSDIAG (.trc and .out files) can be imported by SQL Nexus into a SQL Server database.

I need to collect data for a long time but there isn't enough disk space. What can I do?
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:

  • Enable NTFS compression in PSSDIAG by using /C1 to PSSDIAG.CMD as a command line parameter. When the /C1 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.
  • Eliminate Profiler tracing if a trace is not required. The SQL profiler trace makes up the large majority of the data collected by PSSDIAG. To turn off profiler tracing, simply uncheck the "Profiler Trace" checkbox in the Diag Manager GUI when configuring the package. If you are NOT capturing a Profiler trace, you can run PSSDIAG from a remote machine if a secondary machine with more disk space is available.
  • If a Profiler trace is required, minimize the size of the trace - 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.
  • Enable the "Delete Old Trace Files" custom task groupin 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 theoutput 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 thePSSD.CAB package, the configuration application will ask you how many trace flies/perfmon files you want to keep.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.
  • Consider using PSSDIAG’s /E and /L command line parameter to restart collection each night. 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 "/E 03:00:00" tells PSSDIAG to automatically stop collection at 3:00am every morning, and the"/L" (run continuously) tells PSSDIAG to automatically restart collection instead of exiting when the shutdown time is reached. The /Q (quiet mode) parameter suppresses the "Do you want to overwrite existing files?" prompt. Also added/N2 to automatically create a new folder as opposed to overwriting existing one.

    PSSDIAG.CMD /E 03:00:00 /L /Q /N2

  • If you have PSSDIAG reuse the same output folder like this, it will overwrite the previous day’s data each morning. This may be desirable, but if you would prefer to archive the previous day’s output and manually delete it if the problem hasn’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’ output folders will be named OUTPUT_00000, OUTPUT_00001, ...).
  • If you want to run PSSDiag for a specific amount of time (say 3 hours) from the start you can use

    PSSDiag.CMD /E +03:00:00

  • 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

    PSSDiag.CMD /B +03:00:00

  • NOTE

    PSSDIAG is too "heavy". My server slows down when we are capturing data.
    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:

    • Always capture a server side trace and not using the profiler.exe GUI interface. PSSDIAG uses server side tracing. SeeKB929728 for details.
    • Always trace to a locally attached (or SAN) disk, never to a network share. See KB307786.
    • Never trace to a UNC path, even if the UNC points to a local disk.
    • 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 foundhere.
    • 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.
    • Be aware that with certain workloads, even a fairly basic trace of just RPC/Batch Starting & Completed events can hurt performance if you haven't allocated fast enough disks to the trace.
    • Trace filtering can dramatically reduce .TRC file size and the I/O cost of tracing, but you should be aware that it can actuallyincrease 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’t remove a significant portion of the trace events (say, >10%), it probably isn’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:
      • Initialize PSSDIAG on the server Find out the Trace ID of the profiler trace running usingfn_trace_getinfo function or sys.traces view.
      • Use the Trace ID obtained from the above step, and use thesp_trace_setfilter stored procedure to set the filter. Refer "SQL Profiler Data Columns" under SQL Server Books Online for theData Column numbers and "sp_trace_setfilter" topic for finding out the values of the logical and comparison operators.
      • To verfiy that the filter is active, use thefn_trace_filterinfo function.

Reviewed: Diag Manager Release 12.0.0.1001 (Jul 29, 2015)

$
0
0
Rated 4 Stars (out of 5) - I downloaded the Setup.zip and extracted the zip files. It only showed SetupX86.msi and I ran in Window 8 64 bit O/S. It failed because it did not support 64 bits O/S. Where is the Setupx64.msi 64 bit version? Please help and advice. Very appreciated. Thank you. Edwin

Reviewed: Diag Manager Release 12.0.0.1001 (Jul 29, 2015)

$
0
0
Rated 4 Stars (out of 5) - I downloaded the Setup.zip and extracted the zip files. It only showed SetupX86.msi and I ran in Window 7 64 bit O/S. It failed because it did not support 64 bits O/S. Where is the Setupx64.msi 64 bit version? Please help and advice. Very appreciated. Thank you. Edwin

Reviewed: Diag Manager Release 12.0.0.1001 (Jul 29, 2015)

$
0
0
Rated 4 Stars (out of 5) - Fixed the issues

New Post: PSSDiag installed but wont create any output

$
0
0
Hi,
I have SQL 2014, installed PSSDiag version 12 from this web site, chose sql2014 in the tool.

In the Machine name: tried both the name and a . dot. and also for the instance tried * and the instance/machine name (sql detault instance)
Created a cab file, and then ran the PSSDIAG.CMD

Pulling my hair out, why its not creating any out files in the output folder.

Can someone please help?

Thanks,
Austin

Created Unassigned: PSSDIAG trace file recycling issue [65164]

$
0
0
Hi,
Could you please check if there is an issue when you run the pssdiag for long and it has to recycle the counters, it is failing to do so not at the time of run but when you try to load the data in SQL nexus. It fails with error ,
" multiple roots, xml line reference number ''xxxx'' has an error.

I have to modify the PSSDIA.xml in internal folder delete the extra node created created with <SQLDIag> forms half node with incorrect spelling </SQLDIAG>erform **counter list***

PerfmonCounter name="\FailedQueries/sec" enabled=

* no ending , no proper formation of XML.

Thanks for the support.

Commented Unassigned: PSSDIAG trace file recycling issue [65164]

$
0
0
Hi,
Could you please check if there is an issue when you run the pssdiag for long and it has to recycle the counters, it is failing to do so not at the time of run but when you try to load the data in SQL nexus. It fails with error ,
" multiple roots, xml line reference number ''xxxx'' has an error.

I have to modify the PSSDIA.xml in internal folder delete the extra node created created with <SQLDIag> forms half node with incorrect spelling </SQLDIAG>erform **counter list***

PerfmonCounter name="\FailedQueries/sec" enabled=

* no ending , no proper formation of XML.

Thanks for the support.
Comments: ** Comment from web user: zygonr **

adding the XML File

Created Unassigned: trace file not geneating [65220]

$
0
0
Hi,

I have VM where non cluster SQL Server 2012 configured.

Now in VM machine I have local admin access and can access machine via login ID say "Administrator".

Now in SQL Server 2012 I can login via selecting SQL authorisation via login ID say "SA" who has "SYSADM" privileges. But I am unable to login when I select window authentication.

Now I have installed latest version of pssdiag 12.0.0.1001 and can configure for:

1. ADM 64
2. SQL Server 2012
3. Connecting using: SA Not windows authentication
4. Others by default

Save it default location.

Then I move to folder where pssdiag is installed then run pssdiag.cmd under build folder.

After green signal till ctrl + C not error popup. then after few min I stopped it and navigate to ouput folder but .trc file was not their.

____Question 1. Why trc file not generated.____

Other way when I select windows authentication is pssdiag I got attached message. Refer Image1.

To fix this I added windows login ID "Authentication" in SQL server user and given sysadm role.

__Then again when I select windows authentication is pssdiag I have not got above message in image file but again .trc file not generated.__

Please help. and I also want to know in pssdiag, is machine name is host name? and instance name in DB instance?

Updated Wiki: SQL 2016 workaround

$
0
0

SQL Server 2016 workaround

 

We are still actively working on a release for SQL Server 2016. For now, you can use the following workaround. It will capture same trace files and perf stats scripts without major enhancements. But it will work with SQL Nexus.

  1. Choose SQL 2014 template and configure pssdiag package
  2. put the package on your SQL Server 2016 machine
  3. Extract the package.  
  4. Open pssdiag.xml and change ssver from 12 to 13
  5. run pssdiag.cmd

 

Updated Wiki: Home

$
0
0

What is Pssdiag/Sqldiag Manager?

Pssdiag/Sqldiag Manager is a graphic interface that provides customization capabilities to collect data for SQL Server using sqldiag collector engine. The data collected can be used bySQL Nexus tool  which help you troubleshoot SQL Server performance problems.  This is the same tool Microsoft SQL Server support engineers use to for data collection to troubleshoot customer's performance problems.

Release 12.0.0.1001

What's New

This version support SQL Server 2012 and 2014

For SQL Server 2016, use this workaround for now.

Requirements

  1. Diag Manager requirements
    • Windows 7 or above (32 or 64 bit)
    • .NET framework 2.0 installed
  2. Data collection
    • The collector can only run on a machine that has SQL Server with targeted version (either client tools only or full version) installed

Training Videos

  1. Downloading and Installing Diag Manager
  2. Configuring and customizing pssdiag packages using Diag Manager
  3. Running pssdiag package
  4. PSSDIAG performance considerations

How it works

This tool lets you customize what you want to collect and then let you create a data collection package. You extract the package and run SQLdiag data collector engine on the SQL Server you are troubleshooting.

Feature Highlights

  1. Powerful data collection capabilities:  The tool relies on SQLdiag collector engine to provide collection of perfmon, profiler trace, msinfo32, errorlogs, Windows event logs, TSQL script output and registry exports.
  2. Default templates: You can choose SQL Server version and platform (32 bit or 64 bit). The tool will automatically choose a default template for the combination. This will have default set of perfmon counters, profiler traces.
  3. Shipped with ready to use Custom collectors:  Most commonly usedcustom collectors include SQL Server 2005, 2008 or 2008 R2 performance collector. 
  4. Customization/Extensibility:  You can customize what perfmon and profiler trace events you want to collect.   Additionally, you can create your own custom collectors with TSQL Scripts, batch files and utilities.   See customization guide
  5. Packaging: With a single click of save, the tool will package all your files into a single cab so that you can ship to the machine where you intend to run on. 
  6. Integration with SQL Nexus:  The custom collectors shipped will collect data that can be analyzed bySQL Nexus Tool.

Common Tasks

  1. Step-by-step tasks:  This page tells you how to use the tool including installation, configuration and running the tool
  2. Collecting Data for SQL Nexus.
  3. Customization guide:  This page tells you how you can create you own custom collector to use in addition to default collectors shipped.
  4. Frequently Asked Questions (FAQ):  This page will answer most commonly asked questions.
  5. Common Issues:  this page will document most commonly encoutered issues and errors

Requirement/Supported Versions

  1. Requirements of this configuration tool:
    • .NET framework 2.0 (SQL Server 2005 and 2008 install this by default).  This tool can be easily compiled to target .NET framework version beyond 2.0.  We target 2.0 to minimize .NET framework installation because 2005, 2008 and 2008 R2 all install .NET framework 2.0. 
    • Operating system: Windows 2003 Server/XP and above
  2. Requirement of running data collection package:
    • The final data collection package generated by this configuration tool needs to run on a machine that has target SQL Server installed.  For example, if you have configured a package for an SQL Server 2008 instance, it can only run on a machine which SQL Server 2008 is installed.
  3. Supported Versions
    • SQL Server 2005
    • SQL Server 2008
    • SQL Server 2008 R2
    • For SQL Server 2012
    • SQL Server 2014
    • For SQL 2016, use this workaround for now.

Released: Diag Manager Release 12.0.0.1001 (Apr 13, 2015)

$
0
0
!What's New
This version support SQL Server 2012 and 2014.
Please go to the home page for training and requirements

Updated Release: Diag Manager Release 12.0.0.1001 (Apr 13, 2015)

$
0
0
!What's New
This version support SQL Server 2012 and 2014.
Please go to the home page for training and requirements

Patch Uploaded: #18512

$
0
0

jackli has uploaded a patch.

Description:
updated a minor issue to include "profiler traces.sql" that reports all active traces and extended events

Patch Applied: #18512

Updated Wiki: Home

$
0
0

Pssdiag and Sqldiag Manager has been moved to GitHub.  It now supports SQL Server 2016

https://github.com/Microsoft/DiagManager. 

Updated Wiki: Home

Created Release: Diagmanger for sql 2016 (Jan 11, 2017)

$
0
0
New DiagManager is moved to https://github.com/Microsoft/DiagManager
Viewing all 63 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>