microsoft / microsoft/CSS_SQL_Networking_Tools

BID Trace adding a duplicated provider - MSDADIAG -at crtl.guid when using SQLTrace.

Abierto
#99 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
C#
Estrellas
209
Forks
59
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza reproduciendo el problema con BIDProviderList habilitado en SQLTrace.ini y, después, inspecciona el ctrl.guid generado y el registro de SQLTrace. Rastrea cómo la lista de proveedores se convierte en entradas de ctrl.guid y cómo se registran los errores de LOGMAN. Se considera terminado cuando BID Trace se inicia, se genera el archivo .etl, MSDADIAG.ETW aparece una vez y los errores de elementos duplicados se registran como errores.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp
Área
cli
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
58/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.