Skip to content

Support SqlDataSourceEnumerator on Linux #3700

Description

@edwardneal

Is your feature request related to a problem? Please describe.

SqlClientFactory.Instance.GetDataSources uses Microsoft.Data.Sql.SqlDataSourceEnumerator to get a list of all SQL Server instances which a server's SQL Server Browser service announces on the local network using SQL Server Resolution Protocol.

SqlDataSourceEnumerator does this using the native SNI, but doesn't have any fallback in managed code, which means that Linux clients (and anything using the managed SNI) can't use it.

Describe the solution you'd like

I'd like the managed SNI to support SSRP discovery.

Describe alternatives you've considered

Users could implement their own SSRP client, such as this one.

Additional context

I'm currently working on support for this, I'm just raising the issue so that I don't submit new functionality with 2-3 large PRs out of the blue.

This is slightly different to comments in #17 (which covered making the API surface available, but didn't extend to Linux compatibility.)

Activity

  1. added
    Up-for-Grabs 🙌Issues that are ready to be picked up for anyone interested. Please self-assign and remove the label
    on Oct 21, 2025
  2. moved this from To triage to Backlog in SqlClient Boardon Oct 21, 2025
  3. added
    Approval NeededIssues/PRs that require approval from the maintainers before changes will be accepted.
    and removed
    Up-for-Grabs 🙌Issues that are ready to be picked up for anyone interested. Please self-assign and remove the label
    on Dec 5, 2025
  4. priyankatiwari08 commented on Sep 17, 2026

    @priyankatiwari08
    Contributor

    /triage

  5. github-actions commented on Sep 17, 2026

    @github-actions

    🔍 Triage Summary (on-demand re-triage)

    Check Result
    Issue type Feature
    Environment Not applicable (feature request, no environment details required)
    Area Area\Managed SNI
    Duplicates None found (related but distinct: #2119 "Implement SqlDataSource"; #17 covers API surface only, not Linux SSRP support, as noted by the reporter)
    Regression Not indicated

    Analysis

    This is a feature request to extend the managed SNI implementation to support SQL Server Resolution Protocol (SSRP) discovery, enabling SqlDataSourceEnumerator/SqlClientFactory.Instance.GetDataSources to work on Linux and other non-Windows platforms using managed SNI. Today this relies on native SNI only, so Linux/managed-SNI clients cannot enumerate SQL Server Browser-announced instances. The reporter states they are actively working on an implementation. Severity/priority: P2 (cross-platform feature parity gap, not a regression or crash), likely straightforward to review once a PR is submitted since the reporter has design intent already.

    Next Steps

    • No environment validation needed since this is a feature request rather than a bug report.
    • Maintainers should confirm scope/design alignment with the reporter before large PRs land — the reporter explicitly asked for this via the issue to avoid unreviewed "2-3 large PRs out of the blue." Consider replying to acknowledge the approach and request a design sketch or draft PR for early feedback.
    • Review issue Implement SqlDataSource #2119 ("Implement SqlDataSource") for potential overlap in data-source enumeration design, and issues Design and implement SSRPHandler #2643/Implement DAC port lookup via SSRP( for SSRPHandler) #2704/Add SSRPHandler #2819 (closed SSRPHandler design/implementation issues) for prior art and any relevant discussion/decisions on SSRP handling in this codebase.
    • Given the reporter's stated intent to submit code, this is a good candidate to keep as Approval Needed until a maintainer confirms direction, then track incoming PR(s) against this issue.

    Note: This triage summary is auto-generated by an AI agent. The analysis and suggestions above have not been verified by a human maintainer. Please treat as preliminary guidance only.

    Generated by SqlClient Issue Auto-Triage for #3700 · copilot · auto · 63.6 AIC · ⌖ 13.1 AIC · ⊞ 11.9K · ◷

  6. mdaigle commented on Sep 18, 2026

    @mdaigle
    Contributor

    @cheenamalhotra, this feature is awaiting approval/rejection

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Approval NeededIssues/PRs that require approval from the maintainers before changes will be accepted.

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions