microsoft / microsoft/CSS_SQL_Networking_Tools
BID Trace adding a duplicated provider - MSDADIAG -at crtl.guid when using SQLTrace.
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C#
- Sterne
- 209
- Forks
- 59
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das Problem mit aktiviertem BIDProviderList in SQLTrace.ini zu reproduzieren, und prüfe anschließend die generierte ctrl.guid und das SQLTrace-Protokoll. Verfolge, wie die Providerliste in ctrl.guid-Einträge umgewandelt wird und wie LOGMAN-Fehler protokolliert werden. Als abgeschlossen gilt die Aufgabe, wenn BID Trace startet, die .etl-Datei erzeugt wird, MSDADIAG.ETW einmal erscheint und Fehler bei doppelten Elementen als Fehler protokolliert werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp
- Bereich
- cli
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 58/100