microsoft / microsoft/CSS_SQL_Networking_Tools
BID Trace adding a duplicated provider - MSDADIAG -at crtl.guid when using SQLTrace.
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 209
- Forks
- 59
- PR merge metrics
- No merged PRs in 30d
Description
Issue: .ETL file for BID Trace not being generated. No failures are reported while running SQLTrace. SQLTrace then starts and stops successfully. This was first observed after the fact by reviewing the SQLTrace.log file.
Impact: The BID Trace collection fails to start, preventing the BID Trace .etl file from being generated. In the BID Trace output folder, only the ctrl.guid file is present and no BID Trace .etl file is created.
Frequency of the error: 100% reproducible. The issue occurs on every BID Trace execution.
Repro steps:
- This can be reproduced on any computer.
- At the SQLTrace.ini file, uncomment the BIDProviderList parameter under # All BID trace points . Leave all other BIDProviderList parameters commented.
- Start SQLTrace (in powershell as administrator): .\SQLTrace -start
- When prompted to restart the applications, just hit ENTER.
- Then allow it to get started. It is not needed to wait after started.
- Stop SQLTrace: .\SQLTrace -stop
Once the collection is completed, open the SQLTRace.log file that is generated under the SQLTrace output folder: SQLTrace_
At the log file look for this line (the timestamp is the timestamp of the collection I did while reproducing this for this post):
2026/08/20 09:16:37.375 INFO Starting BID Traces ...
2026/08/20 09:16:37.656 INFO LOGMAN: Error: Duplicate items are not allowed.
These messages indicate that BID Trace failed to start. Additionally, the LOGMAN error is logged with the severity level INFO, making the issue harder to identify during troubleshooting.
BIDProviderList Validation:
- at the SQLTrace.log:
The configured BID provider list contains no obvious duplicate entries:
2026/08/20 09:16:11.160 INFO Read the ini file: SQLTrace.ini
2026/08/20 09:16:11.167 INFO
2026/08/20 09:16:11.177 INFO BIDTrace Yes
2026/08/20 09:16:11.187 INFO BIDWow Both
2026/08/20 09:16:11.195 INFO BIDProviderList System.Data System.Data.SNI System.Data.OracleClient OLEDB SQLOLEDB DBNETLIB SQLNCLI SQLNCLI10 SQLNCLI11 MSOLEDBSQL MSOLEDBSQL19 ODBC SQLSRV32 MSODBCSQL11 MSODBCSQL13 MSODBCSQL17 MSODBCSQL18 MSDADIAG ADODB ADOMD BCP BCP10 MSADCE MSADCF MSADCO MSADDS MSADOX MSDAORA MSDAPRST MSDAREM MSDART MSDATL3 ODBCBCP RowsetHelper SQLBROWSER System.Data.Entity SQLJDBC_XA
At first glance, there are no duplicated provider names in the configured BIDProviderList.
- at the ctrl.guid:
However, the generated ctrl.guid file contains the MSDADIAG.ETW provider twice:
{1c95126e-7eea-49a9-a3fe-a378b03ddb4d} 0xc0001ffff0000100 0x04 Microsoft-Windows-DNS-Client
{8B98D3F2-3CC6-0B9C-6651-9649CCE5C752} 0x630ff 0 MSDADIAG.ETW
{914ABDE2-171E-C600-3348-C514171DE148} 0x630ff 0 System.Data.1
{C9996FA5-C06F-F20C-8A20-69B3BA392315} 0x630ff 0 System.Data.SNI.1
{DCD90923-4953-20C2-8708-01976FB15287} 0x630ff 0 System.Data.OracleClient.1
{0DD082C4-66F2-271F-74BA-2BF1F9F65C66} 0x630ff 0 OLEDB.1
{C5BFFE2E-9D87-D568-A09E-08FC83D0C7C2} 0x630ff 0 SQLOLEDB.1
{BD568F20-FCCD-B948-054E-DB3421115D61} 0x630ff 0 DBNETLIB.1
{BA798F36-2325-EC5B-ECF8-76958A2AF9B5} 0x630ff 0 SQLNCLI.1
{A9377239-477A-DD22-6E21-75912A95FD08} 0x630ff 0 SQLNCLI10.1
{2DA81B52-908E-7DB6-EF81-76856BB47C4F} 0x630ff 0 SQLNCLI11.1
{EE7FB59C-D3E8-9684-AEAC-B214EFD91B31} 0x630ff 0 MSOLEDBSQL.1
{699773CA-18E7-57DF-5718-C244760A9F44} 0x630ff 0 MSOLEDBSQL19.1
{F34765F6-A1BE-4B9D-1400-B8A12921F704} 0x630ff 0 ODBC.1
{4B647745-F438-0A42-F870-5DBD29949C99} 0x630ff 0 SQLSRV32.1
{7C360F7F-7102-250A-A233-F9BEBB9875C2} 0x630ff 0 MSODBCSQL11.1
{85DC6E48-9394-F805-45C9-C8B2ACA2E7FE} 0x630ff 0 MSODBCSQL13.1
{053A11C4-BC2B-F7CE-4A10-9D2602643DA0} 0x630ff 0 MSODBCSQL17.1
{1a1283ad-c65d-28ef-d729-39794ffdab32} 0x630ff 0 MSODBCSQL18.1
{8B98D3F2-3CC6-0B9C-6651-9649CCE5C752} 0x630ff 0 MSDADIAG.ETW
{04C8A86F-3369-12F8-4769-24E484A9E725} 0x630ff 0 ADODB.1
{7EA56435-3F2F-3F63-A829-F0B35B5CAD41} 0x630ff 0 ADOMD.1
{24722B88-DF97-4FF6-E395-DB533AC42A1E} 0x630ff 0 BCP.1
{ED303448-5479-CA3F-5686-E020BA4F47F9} 0x630ff 0 BCP10.1
{76DBA919-5A36-FC80-2CAD-3185532B7CB1} 0x630ff 0 MSADCE.1
{101C0E21-EBBA-A60A-EC3D-58797788928A} 0x630ff 0 MSADCF.1
{5C6CE734-1B3E-705E-C2AB-B272D99AAF8F} 0x630ff 0 MSADCO.1
{13CD7F92-5BAA-8C7C-3D72-B69FAC139A46} 0x630ff 0 MSADDS.1
{6C770D53-0441-AFD4-DCAB-1D89155FECFC} 0x630ff 0 MSADOX.1
{F02A5DAC-6DB2-F77F-F6A8-6404FE697B7D} 0x630ff 0 MSDAORA.1
{64A552E0-6C60-B907-E59C-10F1DFF76B0D} 0x630ff 0 MSDAPRST.1
{564F1E24-FC86-28E1-74F8-5CA0D950BEE0} 0x630ff 0 MSDAREM.1
{CEB7253C-BB96-9DFE-51D1-53D966D0CF8B} 0x630ff 0 MSDART.1
{87B93A44-1F73-EC83-7261-2DFC972D9B1E} 0x630ff 0 MSDATL3.1
{932B59F1-90C2-D8BA-0956-3975C344AE2B} 0x630ff 0 ODBCBCP.1
{74A75B02-36D8-EDE6-D10E-95B691503408} 0x630ff 0 RowsetHelper.1
{FC9F92E6-D521-9C9A-1D8C-D8980B9978A9} 0x630ff 0 SQLBROWSER.1
{A68D8BB7-4F92-9A7A-D50B-CEC0F44C4808} 0x630ff 0 System.Data.Entity.1
{172E580D-9BEF-D154-EABB-83429A6F3718} 0x630ff 0 SQLJDBC_XA.1
This appears to result in duplicate provider entries being passed to LOGMAN, which then returns: Error: Duplicate items are not allowed.
Expected Result:
-
BID Trace should start successfully and generate the BID Trace .etl file.
-
The generated ctrl.guid file should not contain duplicate provider entries.
Suspected Root Cause:
- SQLTrace appears to add the MSDADIAG.ETW provider twice when generating ctrl.guid while using the "All BID trace points" provider list.
Requests for the SQLTrace Development Team:
-
Prevent SQLTrace from adding duplicate provider entries to ctrl.guid. Specifically, ensure that MSDADIAG.ETW is added only once.
-
Improve error reporting severity for LOGMAN failures.
For example:
Current: 2026/08/20 09:16:37.656 INFO LOGMAN: Error: Duplicate items are not allowed.
Suggested: 2026/08/20 09:16:37.656 ERROR LOGMAN: Error: Duplicate items are not allowed.
This would make troubleshooting significantly easier and better reflect the actual failure condition.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with BIDProviderList enabled in SQLTrace.ini, then inspect the generated ctrl.guid and SQLTrace log. Trace how the provider list is turned into ctrl.guid entries and how LOGMAN failures are logged. Done means BID Trace starts, the .etl file is generated, MSDADIAG.ETW appears once, and duplicate-item failures are logged as errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100