Deploying a SSDT project

Everyday we work on schemas and views in a SSDT project in Visual Studio for SQL Server databases.

We also use the publishing profiles to deploy the database locally, and sometimes to the dev server if deployment pipelines are not in place. 

I want to accomplish the same thing in Rider 2023.2. However it does not appear that Rider supports this. We want to accomplish this with Rider in Windows and non-Windows environments like Ubuntu. 

We can accomplish this on our Github Actions as follows:

      - name: Build database
        shell: cmd
        run: dotnet build DataAccessProjects\\DataAccess.Data\\DataAccess.Data.sqlproj /p:NetCoreBuild=true /p:NETCoreTargetsPath=C:\\actions-sql\\BuildDirectory

      - name: Deploy database
        shell: cmd
        run:  sqlpackage /Action:Publish /SourceFile:DataAccessProjects\\DataAccess.Data\\bin\\Debug\\DataAccess.Data.dacpac /Profile:DataAccessProjects\\DataAccess.Data\\Dev.Data.publish.xml /TargetPassword:${{ secrets.SA_PASS }}

 

Even Visual Studio Code can do this cross platform. Actually this is how we do it on Ubuntu, through VS Code. 

 

How can we accomplish this in Rider? This is not something proprietary any more. This is one of the very last things that is keeping us from using Rider daily as we keep on having to jump back to Visual Studio whenever we do database work. 

 

 

0
8 comments

Hi,

Unfortunately, this is not implemented yet: https://youtrack.jetbrains.com/issue/RIDER-89767/SQL-Server-Project-Support-option-to-publish-database-projects-to-SQL-Server. As for the ETA, I cannot promise it will be delivered in the upcoming half of year, but I drew the team's attention to this issue.

I'm sorry for the inconvenience.

0

As a workaround you can try using .NET Native Executable run configurations in Rider:

-open Run configuration settings (menu Run -> Edit configurations)

-create 2 .NET executable configurations for each run command (build and deploy) with the corresponding parameters  from those commands

Then you can run them within Rider. Please let me know if this can help.

0

Has there been any movement on this? We still have to fall back to VSCode (on Linux) or stay with VS (on Windows) to perform SSDT project publishes. 

0

Hello Dylan,

It is supposed to work. Does it fail on the stage of building?

Would you mind sharing additional information as described below, so that we can take a deeper look?

  • Set the option Settings | Build, Execution, Deployment | Toolset and Build | Build logging | Write MSBuild log to file | Verbosity of file logger to Diagnostic; (do not forget to set it back in the end)
  • Right-click on the SQL project in Solution Explorer and select Advanced Build Actions | Rebuild selected project with Diagnostics;
  • Ensure the issue is reproduced. (Reproduce the issue if it didn't reproduce with such steps);
  • Share a screenshot that demonstrates the problem; (Or make a recording);
  • Upload files (logs, screenshot/recording) to the Upload Service and let me know the Upload ID.
  • Share the GUID of the problematic project (check it in the .sln file):

Hope to hear from you soon!

0

Please see recording and all the information you requested. Upload id: 2025_10_16_VrTBXdqBGPFpDVY6MZ1m9N (files: Screencast From 2025-10-16 20-49-16.mp4 and 5 more)

It's easy to repo:

  • Delete the database project's bin and obj folders
  • Open Rider, it will moan that “The reference assemblies for .NETFramework,Version=v4.8 were not found”. This prevents the project from building or publishing. 
  • Open VS Code and build the database project so that there are now files in the bin and obj folders. 
  • Go back to Rider and you'll notice the errors have gone away and the database project can build and be deployed. 

 

So if you build the database project in VS Code so that there are files in the bin dir, then everything in Rider works (build and publish).

Please do let me know if you need any more information.

```
JetBrains Rider 2025.2.3
Build #RD-252.26830.109, built on October 3, 2025
Source revision: 6e3129e3afea8
Licensed to Trial User
Subscription is active until November 12, 2025.
Runtime version: 21.0.8+9-b1038.72 amd64 (JCEF 122.1.9)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.X11.XToolkit
Linux 6.16.11-200.fc42.x86_64
Fedora Linux 42 (Workstation Edition); glibc: 2.41
.NET Core v8.0.11 x64 (Server GC)
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 2048M
Cores: 16
Registry:
 ide.experimental.ui=true
 idea.islands.feedback2.enabled=false
 llm.show.ai.promotion.window.on.start=false
Current Desktop: GNOME
```

 

VS Code build output:

```
Executing task: dotnet build /home/dylan/Projects/KYCPack/DataAccessProjects/DataAccess.Data/DataAccess.Data.sqlproj /p:NetCoreBuild=true /p:SystemDacpacsLocation="/home/dylan/.vscode/extensions/ms-mssql.sql-database-projects-vscode-1.5.4/BuildDirectory" /p:NETCoreTargetsPath="/home/dylan/.vscode/extensions/ms-mssql.sql-database-projects-vscode-1.5.4/BuildDirectory" -v:detailed

Restore complete (0.7s)
   Determining projects to restore...
   Restored /home/dylan/Projects/KYCPack/DataAccessProjects/DataAccess.Data/DataAccess.Data.sqlproj (in 493 ms).
 DataAccess.Data succeeded with 1 warning(s) (3.2s) → bin/Debug/DataAccess.Data.dacpac
   Creating a model to represent the project...
   Loading project references...
   Loading project files...
   Building the project model and resolving object interdependencies...
   Validating the project model...
   Writing model to /home/dylan/Projects/KYCPack/DataAccessProjects/DataAccess.Data/obj/Debug/Model.xml...
   Creating a model to represent the project...
   Loading project references...
   Loading project files...
   Building the project model and resolving object interdependencies...
   Validating the project model...
   One problem has been detected.
   The results are saved in /home/dylan/Projects/KYCPack/DataAccessProjects/DataAccess.Data/bin/Debug/DataAccess.Data.StaticCodeAnalysis.Results.xml.
   /home/dylan/Projects/KYCPack/DataAccessProjects/DataAccess.Data/dbo/Tables/Country.sql(9,13,9,13): StaticCodeAnalysis warning SR0009: Microsoft.Rules.Data : Avoid VARCHAR of only 2 elements.

Build succeeded with 1 warning(s) in 4.1s
*  Terminal will be reused by tasks, press any key to close it. 
```

0

Hello Dylan,

Thank you for the details shared. It is very helpful. We are looking into it. Once I have any news, I'll let you know.

Have a nice day!

0

Hello Dylan,

We found the cause of the issue and fixed it in the development branch: RIDER-131467 Old style .sqlproj fails to build on non-Windows platforms

The fix will be delivered with the upcoming 2025.3 release. 

Have a nice day!

0

Thank you Dmitry. Amazing work.

0

Please sign in to leave a comment.