Do you have a comment or suggestion to improve SQL Server? We’d love to hear it!

Porting SMO Library to .NET Core

SQL Server has been ported to Linux for over a year now and it is time the complete SMO library (or what can be) is ported over to cross-platform as well.

Only 9 or so core files have been ported over to .NET Core and this allowed the sqlserver module to port over a small set of cmdlets to PS Core. This does not work for other modules like dbatools that use a wider berth of the library.

There are plenty of other modules in PowerShell (and applications too) that would like to provide cross-platform support for managing SQL Server enterprises. This cannot be done until SMO is completely ported over.

101 votes
Sign in
(thinking…)
Sign in with: Microsoft
Signed in as (Sign out)

We’ll send you updates on this idea

Shawn Melton (wshawnmelton) shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

4 comments

Sign in
(thinking…)
Sign in with: Microsoft
Signed in as (Sign out)
Submitting...
  • Chrissy LeMaire commented  ·   ·  Flag as inappropriate

    Can we please get core dlls for CMS Registered Servers? it is one of our most popular commands since cms servers can easily be piped in to any command in the toolset

  • AdminMicrosoft SQL Server (Product Manager, Microsoft Azure) commented  ·   ·  Flag as inappropriate

    this is the current list from the v18 NuGet

    Microsoft.SqlServer.ConnectionInfo.dll
    Microsoft.SqlServer.Management.Dmf.dll
    Microsoft.SqlServer.Management.Sdk.Sfc.dll
    Microsoft.SqlServer.Management.SmoMetadataProvider.dll
    Microsoft.SqlServer.Management.XEvent.dll
    Microsoft.SqlServer.Management.XEventDbScoped.dll
    Microsoft.SqlServer.Management.XEventDbScopedEnum.dll
    Microsoft.SqlServer.Management.XEventEnum.dll
    Microsoft.SqlServer.Smo.dll
    Microsoft.SqlServer.SmoExtended.dll
    Microsoft.SqlServer.SqlEnum.dll

  • Chrissy LeMaire commented  ·   ·  Flag as inappropriate

    Yes, please! This is one of our most common requests. Here's what we currently support in dbatools, if there's some sort of priority needed.

    Backup and Restore
    Databases
    Diagnostics and Performance
    Export (Right click -> Export)
    High Availability (Availability Groups and Mirroring)
    Log Shipping
    Login and User Management
    Mail and logging
    Policy-Based Management
    Registered Servers
    Replication
    Resource Governor
    Security and Encryption
    Services
    Snapshots
    sp_configure
    SQL Agent
    SSIS
    Traces, Profiler and Extended Events
    Utilities
    Writing to SQL Tables

    Our most popular commands revolve around migrations and exports of:
    Databases
    Logins
    AgentServer
    Credentials
    LinkedServers
    SpConfigure
    CentralManagementServer
    DatabaseMail
    SysDbUserObjects
    SystemTriggers
    BackupDevices
    Audits
    Endpoints
    ExtendedEvents
    PolicyManagement
    ResourceGovernor
    ServerAuditSpecifications
    CustomErrors
    ServerRoles
    SupportDbs
    AvailabilityGroups
    ReplicationSettings

Feedback and Knowledge Base