{"id":7253,"date":"2026-07-23T08:00:27","date_gmt":"2026-07-23T15:00:27","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/azure-sql\/?p=7253"},"modified":"2026-07-22T15:47:02","modified_gmt":"2026-07-22T22:47:02","slug":"azure-sql-developer-prpr","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azure-sql\/azure-sql-developer-prpr\/","title":{"rendered":"Build locally, ship to Azure: meet Azure SQL Developer"},"content":{"rendered":"<p><span class=\"TextRun SCXW34848608 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW34848608 BCX8\"><strong>Big news:<\/strong> Azure SQL Developer is here, in private preview. <\/span><span class=\"NormalTextRun SCXW34848608 BCX8\">It&#8217;s<\/span><span class=\"NormalTextRun SCXW34848608 BCX8\">\u00a0the Azure SQL Database engine, on your laptop, in a container. Build against the exact engine you run in the cloud. Ship the same code to Azure. Change one line, the connection string, and\u00a0<\/span><span class=\"NormalTextRun SCXW34848608 BCX8\">you&#8217;re<\/span><span class=\"NormalTextRun SCXW34848608 BCX8\">\u00a0in production. Free for local dev and CI. No subscription. No credit card. No catch. Run it yourself, or hand it to an AI agent and watch it go.<\/span><\/span><span class=\"EOP Selected SCXW34848608 BCX8\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3>The inner-loop problem<\/h3>\n<p>If you build apps on a cloud database, you know the friction. To develop and test locally, you either point your app at a shared cloud instance, with slow round trips, noisy neighbors, and connection-string rewrites between dev and prod, or you develop against a different database locally and hope the behavior matches once you deploy. Either way you pay a tax: cloud spend while you experiment, flaky integration tests, and the occasional &#8220;it worked on my machine&#8221; surprise when a local-only feature does not exist in the cloud. The fix is not a database that is like Azure SQL. It is Azure\u00a0SQL,\u00a0on your laptop.<\/p>\n<h3><b><span data-contrast=\"none\">Meet Azure SQL Developer<\/span><\/b><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:480,&quot;335559739&quot;:0}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">This is the Azure SQL Database engine itself, in a container, on your machine. Not a clone. Not the SQL Server image. The same engine that runs Azure SQL in the cloud, with the same defaults, the same T-SQL, the same system views, the same error messages. <\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"none\">Why\u00a0this lands<\/span><\/b><\/h3>\n<ol>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"991\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:720,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Same engine,\u00a0local\u00a0and cloud. Your T-SQL, migrations, and driver behavior carry straight through to Azure.<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"991\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:720,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Free for local dev and CI. No subscription, no shared instance, no credit card.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"991\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:720,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Your stack, unchanged. node-mssql,\u00a0mssql-python,\u00a0pyodbc, and\u00a0mssql-jdbc\u00a0all work, and so do Prisma,\u00a0SQLAlchemy, EF Core, Django, and\u00a0TypeORM.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"991\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:720,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">AI-ready, like the\u00a0cloud. Native <span style=\"font-family: terminal, monaco, monospace\">VECTOR<\/span> type, <span style=\"font-family: terminal, monaco, monospace\">VECTOR_DISTANCE<\/span>, <span style=\"font-family: terminal, monaco, monospace\">AI_GENERATE_EMBEDDINGS<\/span>, and <span style=\"font-family: terminal, monaco, monospace\">CREATE EXTERNAL MODEL<\/span>. Prototype RAG with a local model, then switch to Azure OpenAI (DiskANN\u00a0indexes are in development).<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"\" data-listid=\"991\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:720,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Works offline. After the first pull, it runs with no internet, perfect for demos, classrooms, and workshops.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ol>\n<p><span data-contrast=\"auto\">Now the full loop: start the container, run your app, ship to Azure. Twice. First by hand, then with an AI agent doing it for you<\/span><\/p>\n<h3>Path 1: Do it by hand<\/h3>\n<h4>Sign up and sign in to the registry<\/h4>\n<p><a href=\"https:\/\/aka.ms\/azuresql-developer\">Sign up for the preview<\/a> to get the registry username and password. They are pull-only, shared across the cohort, must be treated as secrets, and may be rotated during the preview.<\/p>\n<pre><code class=\"language-default\"><span style=\"font-family: terminal, monaco, monospace\">docker login sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io -u &lt;username&gt;<\/span><\/code><\/pre>\n<h4 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"17:1-17:24;854-877\">Start the container<\/h4>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"19:1-19:95;879-973\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">docker run<\/code> pulls the image on first use, so one command takes you from signed-in to running:<\/p>\n<div>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">docker run --name sqldb -e \"ACCEPT_EULA=Y\" -e \"MSSQL_SA_PASSWORD=YourStr0ng_Passw0rd\" -p 1433:1433 -d sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io\/azure-sql\/db-dev:latest<\/code><\/pre>\n<pre><span style=\"font-family: Georgia, &#039;Times New Roman&#039;, &#039;Bitstream Charter&#039;, Times, serif\"><div class=\"alert alert-info\"><p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Info\"><\/i><strong>On a non-x64 host (Apple Silicon)?<\/strong><\/p>add <\/span><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">--platform linux\/amd64<\/code><span style=\"font-family: Georgia, &#039;Times New Roman&#039;, &#039;Bitstream Charter&#039;, Times, serif\"> to the <\/span><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">docker run<\/code><span style=\"font-family: Georgia, &#039;Times New Roman&#039;, &#039;Bitstream Charter&#039;, Times, serif\"> command above so the x64 image runs under emulation.<\/div><\/span><\/pre>\n<\/div>\n<p>Replace <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">YourStr0ng_Passw0rd<\/code> with your own. The container enforces the default SQL password complexity policy: at least 8 characters, with a mix of upper case, lower case, digits, and symbols. Confirm the container is running with <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">docker ps --filter \"name=sqldb\"<\/code>.<\/p>\n<h4 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"33:1-33:29;1761-1789\">Create your app database<\/h4>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"35:1-35:93;1791-1883\">Create your app database. The engine does not auto-create them, matching Azure SQL Database:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">sqlcmd -S localhost,1433 -U sa -C -Q \"IF DB_ID('appdb') IS NULL CREATE DATABASE appdb;\"<\/code><\/pre>\n<p><div class=\"alert alert-success\"><p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Lightbulb\"><\/i><strong>No sqlcmd installed on your host?<\/strong><\/p>The container bundles it. Use docker exec sqldb \/opt\/mssql-tools18\/bin\/sqlcmd -S localhost -U sa -C -Q &#8220;&#8230;&#8221; instead.<\/div><\/p>\n<h4><strong>Run your app locally against the container\u00a0<\/strong><\/h4>\n<p>Your app reads its connection string from a single environment variable, SQL_CONNECTION_STRING. Point it at the local container and run your app exactly as you normally would:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">SQL_CONNECTION_STRING=\"Server=localhost,1433;Database=appdb;User\u00a0Id=sa;Password=YourStr0ng_Passw0rd;TrustServerCertificate=true\"<\/code><\/pre>\n<p>Run your migrations with EF Core, Prisma, Alembic, or SqlPackage, seed your data, and develop at local-disk speed, with no cloud round trip and no cloud spend.<\/p>\n<h4><strong>Deploy to Azure\u00a0<\/strong><\/h4>\n<p>When you are ready to ship, the app does not change; only the connection string does. Here are the two, side by side:<\/p>\n<pre># Local (inner loop)\r\n<code class=\"language-default\">SQL_CONNECTION_STRING=Server=localhost,1433;Database=appdb;User\u00a0Id=sa;Password=YourStr0ng_Passw0rd;TrustServerCertificate=true<\/code><\/pre>\n<pre># Azure (production)\r\n<code class=\"language-default\">SQL_CONNECTION_STRING=Server=app.database.windows.net;Database=appdb;Authentication=Active Directory Default<\/code><\/pre>\n<p>The server is all that changes. Because it is the same engine, parity is the default, not a porting exercise. Point the connection at Azure SQL Database in the cloud and deploy the same app, without touching your code.<\/p>\n<h3>Path 2: Let your AI agent do it<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"9:1-9:170;256-425\">Bring your AI coding agent. Point it at Azure SQL Developer and let it scaffold the schema, write the migrations, and build the data layer against a real local database.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"11:1-11:245;427-671\">The repo ships a curated collection of agent skills: small, on-demand instructions that teach any modern agent to use the engine correctly, so it does not reach for the SQL Server image or invent behavior the engine does not have. Install once:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">npx\u00a0skills add microsoft\/azure-sql-database-container<\/code><\/pre>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"17:1-17:95;740-834\">Works across <strong>GitHub Copilot<\/strong> (VS Code and CLI), <strong>Claude Code<\/strong>, <strong>Codex<\/strong>, and <strong>Cursor<\/strong>.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"19:1-19:40;836-875\">Then ask in plain English, for example:<\/p>\n<div>\n<blockquote><p>Get my Node.js + Sequelize app running against Azure SQL Developer locally: start the container, create the database, apply my migrations, and confirm <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">npm run dev<\/code> connects.<\/p><\/blockquote>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"27:1-27:34;1153-1186\">Two skills worth calling out:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"29:1-30:236;1188-1676\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"29:1-29:253;1188-1440\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">azuresql-db-local-to-cloud<\/code> turns Path 1&#8217;s story into an agent workflow: run against Azure SQL Developer locally, deploy the same code to Azure SQL Database in the cloud with just the connection string swap. No code changes, no porting exercise.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"30:1-30:236;1441-1676\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">azuresql-db-faq<\/code> and <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">azuresql-db-feedback<\/code> teach the agent what the engine can and cannot do (no PaaS-only surprises), and let it draft a prefilled bug or feature request for you to review. Nothing gets filed without your say-so.<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"32:1-32:275;1678-1952\"><div class=\"alert alert-primary\"><p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Info\"><\/i><strong>See the full skills catalog<\/strong><\/p>From bootstrap scaffolds to CI recipes to RAG on the native VECTOR type, at <a href=\"http:\/\/aka.ms\/azuresql-developer-skills\" target=\"_blank\" rel=\"noopener\">aka.ms\/azuresql-developer-skills<\/a>.<\/div><\/p>\n<h2>What you can build with the Azure SQL Developer<\/h2>\n<ol>\n<li>Azure-faithful local dev: develop and test at local-disk speed, then deploy the same code to Azure.\u00a0Lift-and-shift is a connection-string change.<\/li>\n<li>AI and RAG prototypes: build vector search and embeddings against a local database with a local model like\u00a0Ollama, then switch to Azure OpenAI in the cloud, with no cloud spend while you experiment.<\/li>\n<li>Real integration tests in CI: spin the container up as a service in GitHub Actions or Azure Pipelines for true end-to-end tests, with no subscription and no shared-instance flakiness.<\/li>\n<li>Drop-in sidecar: add SQL Database to a docker\u00a0compose\u00a0stack or Dev Container, wire-compatible with the drivers and ORMs you already use.<\/li>\n<li>New project scaffolding: start a .NET Aspire,\u00a0FastAPI, Next.js, or\u00a0NestJS\u00a0project with Azure SQL Database as the default local development resource.<\/li>\n<li>Offline workshops and demos: after the first pull, the container runs fully offline on a laptop.<\/li>\n<\/ol>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"7:1-7:16;301-316\">Get involved<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"9:1-9:304;318-621\">This is the Azure SQL Database engine, running on your laptop. Build, test, and ship against the real engine, with no Azure subscription, no shared instance, and no connection-string rewrites from inner loop to production. <strong>You shape this preview:<\/strong> try it, then tell us what you build and what breaks.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"11:1-11:31;623-653\">Here&#8217;s how you can contribute:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"13:1-17:99;655-1235\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"13:1-13:134;655-788\">\ud83d\udcdd <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/aka.ms\/azuresql-developer-signup\" target=\"_blank\" rel=\"noopener\">Sign up for the Private Preview<\/a> \u2013 Get your registry credentials and join the cohort.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"14:1-14:148;789-936\">\ud83d\udcac <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/github.com\/microsoft\/azure-sql-database-container\/discussions\" target=\"_blank\" rel=\"noopener\">GitHub Discussions<\/a> \u2013 Share ideas, ask questions, show what you built.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"15:1-15:108;937-1044\">\u2728 <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/aka.ms\/azuresql-developer-feature-request\" target=\"_blank\" rel=\"noopener\">Request a feature<\/a> \u2013 Tell us what should ship next.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"16:1-16:92;1045-1136\">\ud83d\udc1e <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/aka.ms\/azuresql-developer-bug\" target=\"_blank\" rel=\"noopener\">Report a bug<\/a> \u2013 Help us fix rough edges early.<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"18:1-18:19;1138-1156\">Want to go deeper?<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"20:1-22:182;1158-1599\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"20:1-20:99;1158-1256\">\ud83c\udfac <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/aka.ms\/azuresql-developer-demo\" target=\"_blank\" rel=\"noopener\">Watch the demo<\/a> \u2013 The end-to-end loop in 90 seconds.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"21:1-21:161;1257-1417\">\ud83d\udee0\ufe0f <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/aka.ms\/azuresql-developer-build\" target=\"_blank\" rel=\"noopener\">Build something<\/a> \u2013 Ready-to-copy prompts for local-to-cloud, RAG, CI, sidecar, and more.<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"22:1-22:182;1418-1599\">\ud83e\udd16 <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/aka.ms\/azuresql-developer-skills\" target=\"_blank\" rel=\"noopener\">Try the skills<\/a> \u2013 The full agent skills catalog for Claude Code, GitHub Copilot, Codex, and Cursor.<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"24:1-24:57;1501-1557\">Thanks for being part of the journey. Happy building! \ud83d\ude80<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Big news: Azure SQL Developer is here, in private preview. It&#8217;s\u00a0the Azure SQL Database engine, on your laptop, in a container. Build against the exact engine you run in the cloud. Ship the same code to Azure. Change one line, the connection string, and\u00a0you&#8217;re\u00a0in production. Free for local dev and CI. No subscription. No credit [&hellip;]<\/p>\n","protected":false},"author":132338,"featured_media":81,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,484,546,429,411],"tags":[510,737,465,30,449],"class_list":["post-7253","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-sql","category-containers","category-github","category-node","category-python","tag-azure-sql-database","tag-azurel-sql-developer","tag-azuresql","tag-developers","tag-development"],"acf":[],"blog_post_summary":"<p>Big news: Azure SQL Developer is here, in private preview. It&#8217;s\u00a0the Azure SQL Database engine, on your laptop, in a container. Build against the exact engine you run in the cloud. Ship the same code to Azure. Change one line, the connection string, and\u00a0you&#8217;re\u00a0in production. Free for local dev and CI. No subscription. No credit [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/posts\/7253","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\/132338"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/comments?post=7253"}],"version-history":[{"count":2,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/posts\/7253\/revisions"}],"predecessor-version":[{"id":7364,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/posts\/7253\/revisions\/7364"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/media\/81"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/media?parent=7253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/categories?post=7253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sql\/wp-json\/wp\/v2\/tags?post=7253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}