microsoft / microsoft/CSS_SQL_Networking_Tools
BID Trace adding a duplicated provider - MSDADIAG -at crtl.guid when using SQLTrace.
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C#
- Star
- 209
- Fork
- 59
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện sự cố khi BIDProviderList được bật trong SQLTrace.ini, sau đó kiểm tra ctrl.guid được tạo ra và nhật ký SQLTrace. Theo dõi cách danh sách provider được chuyển thành các mục ctrl.guid và cách các lỗi của LOGMAN được ghi vào nhật ký. Được xem là hoàn tất khi BID Trace khởi động, tệp .etl được tạo, MSDADIAG.ETW xuất hiện một lần và các lỗi do mục trùng lặp được ghi nhận là lỗi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- csharp
- Lĩnh vực
- cli
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 58/100