{"id":7018,"date":"2026-04-27T11:20:58","date_gmt":"2026-04-27T18:20:58","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/azure-sql\/?p=7018"},"modified":"2026-04-30T14:29:35","modified_gmt":"2026-04-30T21:29:35","slug":"azure-data-studio-is-retired-move-your-azure-sql-workflow-to-vs-code-in-10-minutes","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azure-sql\/azure-data-studio-is-retired-move-your-azure-sql-workflow-to-vs-code-in-10-minutes\/","title":{"rendered":"Azure Data Studio is retired: Move your Azure SQL workflow to VS Code in 10 minutes"},"content":{"rendered":"<p>Azure Data Studio (ADS) retired on February 6, 2025, and support ended on February 28, 2026. The recommended path forward is Visual Studio Code with the MSSQL extension. If you used ADS daily, this guide gets you productive quickly in VS Code. The focus is on importing your existing setup, restoring familiar shortcuts like F5, and getting SQL Database Projects working so you can build and publish schema changes confidently from the editor.<\/p>\n<blockquote><p><b>TL; DR<\/b><\/p>\n<ul>\n<li>Install the MSSQL extension in VS Code<\/li>\n<li>Use the ADS transition flow to import connections and install the keymap so F5 works as expected<\/li>\n<li>Install SQL Database Projects plus .NET 8 SDK so build and publish work smoothly<\/li>\n<li>Publish using the Publish dialog to preview the script before deploying to Azure SQL<\/li>\n<\/ul>\n<p><strong>Why this matters for Azure SQL developers<\/strong>\nRunning queries is only part of the job. Most teams need repeatable workflows for schema change review, CI validation, and safer deployments. SQL Database Projects supports that style of work with schema as code, build validation, and a guided publish experience inside VS Code.<\/p><\/blockquote>\n<p><strong>Step 1: Install the core VS Code SQL tools<\/strong><\/p>\n<ul>\n<li><strong>MSSQL extension<\/strong>\nYour main query, connection, and database workflow in VS Code. Search SQL Server (mssql) in the VS Code Marketplace.<\/li>\n<li><strong>SQL Database Projects<\/strong>\nAdds the project system and the build and publish workflow for schema as code. Search SQL Database Projects in the Marketplace.<\/li>\n<li><strong>.NET 8 SDK<\/strong>\nSQL Database Projects depends on the .NET SDK to build. Install it from dotnet.microsoft.com before your first build. The extension will prompt you if it needs to be installed but having it ready upfront saves a restart.<\/li>\n<\/ul>\n<p><strong>Step 2: Import your ADS setup<\/strong><\/p>\n<p>The mssql extension includes an ADS Migration Toolkit that brings over your saved connections, connection groups, settings, and key bindings in one guided flow. Open the extension and follow the toolkit walkthrough.\n<strong>Restore F5 muscle memory: Install<\/strong> the MSSQL Database Management Keymap extension. It adds ADS-style key bindings including F5 to run a query. Refer to the Customize keyboard shortcuts documentation for the full list.<\/p>\n<p><strong>Step 3: Get SQL Database Projects working end to end<\/strong><\/p>\n<p>1. Create or open a SQL project: Open an existing SQL project folder in VS Code or create a new one using the SQL Database Projects commands in the editor.\n2. Build first: Your first success moment should be a clean build. Building confirms your toolchain is wired correctly before you try to deploy.\n3. Publish using the Publish dialog: Right-click your project in the Database Projects panel, select Publish, configure your target, review the generated deployment script, and select Publish to deploy.<\/p>\n<p><figure id=\"attachment_7044\" aria-labelledby=\"figcaption_attachment_7044\" class=\"wp-caption alignnone\" ><a href=\"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-content\/uploads\/sites\/56\/2026\/04\/publish-dialog.webp\"><img decoding=\"async\" class=\" wp-image-7044\" src=\"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-content\/uploads\/sites\/56\/2026\/04\/publish-dialog-300x195.webp\" alt=\"publish dialog image\" width=\"480\" height=\"312\" srcset=\"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-content\/uploads\/sites\/56\/2026\/04\/publish-dialog-300x195.webp 300w, https:\/\/devblogs.microsoft.com\/azure-sql\/wp-content\/uploads\/sites\/56\/2026\/04\/publish-dialog.webp 645w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><\/a><figcaption id=\"figcaption_attachment_7044\" class=\"wp-caption-text\">The Publish Project dialog in VS Code : configure your target, generate a preview script, and deploy without leaving the editor.<\/figcaption><\/figure><\/p>\n<p>The script preview is the moment that makes this workflow feel safe for serious use. You see exactly what T-SQL will run against your database before it does.<\/p>\n<p>Two things worth double checking:<\/p>\n<ul>\n<li><strong>.NET SDK not found:<\/strong> If your first build does not complete, confirm the .NET SDK is installed and that VS Code can find it. This is the most common first-time setup step to double-check.<\/li>\n<li><strong>Target platform mismatch: <\/strong>If publish behavior is different from what you expect, check the project target platform in your .sqlproj settings. Many publish issues come down to project configuration rather than the database itself. Refer to the Publish SQL database projects from Visual Studio Code documentation for details.<\/li>\n<\/ul>\n<p><strong>Optional: item templates<\/strong>\nIf you are coming from SSDT, item templates in SQL Database Projects generate consistent stubs for tables, stored procedures, views, and other common objects. Right-click your project in the Database Projects panel and select Add Item to get started.<\/p>\n<p><strong>Working with SQL database in Microsoft Fabric<\/strong>\nThe same VS Code setup applies to SQL database in Microsoft Fabric, with one addition: start from the Fabric portal to connect your database to Git before opening the project locally in VS Code. This ensures the project file is configured correctly for Fabric. Refer to the SQL database in Microsoft Fabric source control integration documentation for the full walkthrough.<\/p>\n<p>The mssql extension also includes Schema Compare, which lets you diff your project against a deployed database before pushing changes, and Schema Designer for visual schema editing. For a full list of ADS capabilities and their VS Code equivalents, refer to the <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/learn.microsoft.com\/sql\/tools\/whats-happening-azure-data-studio\">What&#8217;s happening with Azure Data Studio<\/a> documentation.<\/p>\n<p><strong>Next steps<\/strong>\nTry this once with any small database schema:<\/p>\n<ol>\n<li>Create or open a SQL project<\/li>\n<li>Build<\/li>\n<li>Publish with script preview enabled<\/li>\n<li>Make one schema change, rebuild, and publish again<\/li>\n<\/ol>\n<p><em>If you get stuck, drop a comment below and let us know which step you want more detail on: import, shortcuts, build, or publish.<\/em><\/p>\n<p><strong>Related Links :<\/strong><\/p>\n<p><a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/blog.fabric.microsoft.com\/en-us\/blog\/azure-data-studio-to-vs-code-what-it-means-for-sql-database-in-fabric-developers\">Azure Data Studio to VS Code: What it means for SQL database in Fabric developers<\/a><\/p>\n<p><a href=\"https:\/\/blog.fabric.microsoft.com\/en-US\/blog\/deploy-sql-databases-in-fabric-from-vs-code-no-more-context-switching\/\">Deploy SQL databases in Fabric from VS Code: No more context switching | Microsoft Fabric Blog | Microsoft Fabric<\/a><\/p>\n<p><a href=\"https:\/\/youtu.be\/rlqrhAsm7F8?si=d1Eh2eM1x5qKB0Qf\">Watch the Data Exposed episode on ADS migration<\/a><\/p>\n<p><a href=\"https:\/\/youtu.be\/UEW9DQX8FlA?si=2YyzLX9Udq5eQal3\">Watch Publish Dialog and Item Templates for SQL Projects in VS code tutorial<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Azure Data Studio (ADS) retired on February 6, 2025, and support ended on February 28, 2026. The recommended path forward is Visual Studio Code with the MSSQL extension. If you used ADS daily, this guide gets you productive quickly in VS Code. The focus is on importing your existing setup, restoring familiar shortcuts like F5, [&hellip;]<\/p>\n","protected":false},"author":202171,"featured_media":7047,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,668,533,625],"tags":[534,726,664,704,558],"class_list":["post-7018","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-sql","category-sql-database-in-fabric","category-visual-studio-code","category-vs-code","tag-azure-data-studio","tag-fabric-sql","tag-mssql-extension","tag-sql-database-projects","tag-vs-code"],"acf":[],"blog_post_summary":"<p>Azure Data Studio (ADS) retired on February 6, 2025, and support ended on February 28, 2026. The recommended path forward is Visual Studio Code with the MSSQL extension. If you used ADS daily, this guide gets you productive quickly in VS Code. The focus is on importing your existing setup, restoring familiar shortcuts like F5, [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/posts\/7018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/users\/202171"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/comments?post=7018"}],"version-history":[{"count":2,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/posts\/7018\/revisions"}],"predecessor-version":[{"id":7054,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/posts\/7018\/revisions\/7054"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/media\/7047"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/media?parent=7018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/categories?post=7018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/tags?post=7018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}