<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>SQL MCP Server | The .NET Blog</title><link>https://thedotnetblog.com/ca/tags/sql-mcp-server/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ca</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Wed, 03 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ca/tags/sql-mcp-server/index.xml" rel="self" type="application/rss+xml"/><item><title>NL2SQL és la Injecció SQL de l'Era dels Agents</title><link>https://thedotnetblog.com/ca/news/emiliano-montesdeoca/nl2sql-agentic-sql-injection-mcp-server/</link><pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/news/emiliano-montesdeoca/nl2sql-agentic-sql-injection-mcp-server/</guid><description>Abans de deixar que un agent consulti la teva base de dades amb llenguatge natural, llegeix això. NL2SQL sembla senzill fins que penses en la completesa de l'esquema, el no-determinisme i el que SQL MCP Server realment resol.</description><content:encoded>&lt;p&gt;Hi ha una versió del pitch de NL2SQL que sona perfecta: els usuaris fan preguntes en llenguatge natural, els agents generen SQL, les dades tornen. Menys pantalles, menys consultes, menys codi. Senzill.&lt;/p&gt;
&lt;p&gt;Llavors hi penses cinc minuts més.&lt;/p&gt;
&lt;h2 id="els-problemes-de-què-ningú-parla-en-la-demo"&gt;Els Problemes de Què Ningú Parla en la Demo&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Els esquemes no van ser dissenyats per explicar coses.&lt;/strong&gt; Noms de taules críptics, noms de columnes inconsistents, relacions tècnicament vàlides que són semànticament invàlides sense predicats addicionals — això és normal en bases de dades empresarials. No són errors, és simplement la història acumulada de canvis de negoci. Però quan demanes a un model que infereixi la intenció d&amp;rsquo;un esquema que no va ser dissenyat per transmetre intenció, el model ho intentarà de totes formes. No es rendirà. Generarà la seva millor consulta i retornarà els resultats amb confiança.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Els models no són deterministes.&lt;/strong&gt; Fes la mateixa pregunta a la mateixa base de dades dues vegades i podries obtenir SQL diferent. El model calcula probabilitats, i petites variacions en el context produeixen sortides diferents. No pots aconseguir una garantia a través de proves que l&amp;rsquo;agent sempre generi la consulta correcta.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La revisió d&amp;rsquo;usuari no escala.&lt;/strong&gt; &amp;ldquo;Simplement revisa cada consulta abans de l&amp;rsquo;execució&amp;rdquo; sembla segur. Però assumeix que els usuaris són experts tant en el model de dades com en SQL — exactament les persones que no necessitaven una interfície de llenguatge natural. També introdueix sobrecàrrega cognitiva i una nova classe de biaix de confirmació, on els usuaris aclaparats per la complexitat de la consulta aproven consultes invàlides en lloc d&amp;rsquo;investigar-les.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I llavors hi ha la injecció.&lt;/strong&gt; En el desenvolupament SQL tradicional, la parametrització resolia la injecció perquè l&amp;rsquo;entrada de l&amp;rsquo;usuari omplia paràmetres, no l&amp;rsquo;estructura SQL. Amb NL2SQL, el model genera el propi SQL. El prompt, el context de l&amp;rsquo;esquema, l&amp;rsquo;historial de la conversa i les dades recuperades influeixen en el que s&amp;rsquo;executa. Si algú elabora un prompt que canvia el que genera el model, això és injecció — no a nivell de paràmetre, sinó a nivell de generació de consulta. I a diferència de DROP TABLE (obvi, recuperable), la injecció NL2SQL produeix consultes que retornen resultats incorrectes sense cap error visible. Les decisions de negoci es prenen sobre dades incorrectes.&lt;/p&gt;
&lt;h2 id="el-que-sql-mcp-server-realment-resol"&gt;El Que SQL MCP Server Realment Resol&lt;/h2&gt;
&lt;p&gt;Aquí l&amp;rsquo;article fa el seu punt pràctic més útil. En lloc de donar a l&amp;rsquo;agent accés arbitrari a l&amp;rsquo;esquema i esperar el millor, SQL MPC Server exposa una &lt;strong&gt;superfície API curada&lt;/strong&gt; construïda sobre &lt;a href="https://learn.microsoft.com/en-us/azure/data-api-builder/overview"&gt;Data API builder&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La diferència importa: l&amp;rsquo;agent no genera SQL. Crida endpoints nomenats que retornen formes de resultat predefinides. El SQL s&amp;rsquo;escriu una vegada, per un desenvolupador, i és determinista. El no-determinisme de l&amp;rsquo;agent es limita a triar &lt;em&gt;quin&lt;/em&gt; endpoint cridar, no a compondre consultes arbitràries.&lt;/p&gt;
&lt;p&gt;Això és anàleg al que va fer la parametrització per a la injecció SQL en el model d&amp;rsquo;aplicació tradicional — elimina la capacitat de compondre consultes arbitràries a partir d&amp;rsquo;entrades no fiables.&lt;/p&gt;
&lt;h2 id="la-pregunta-correcta"&gt;La Pregunta Correcta&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;article no diu &amp;ldquo;mai facis servir NL2SQL.&amp;rdquo; Diu: sigues deliberat sobre &lt;em&gt;on&lt;/em&gt; l&amp;rsquo;apliques i &lt;em&gt;què&lt;/em&gt; exposes. Per a anàlisis exploratòries en un entorn controlat, amb un esquema d&amp;rsquo;abast limitat i accés de només lectura, NL2SQL pot estar bé. Per a sistemes de producció on les decisions de negoci depenen dels resultats, una capa API curada és considerablement més segura.&lt;/p&gt;
&lt;p&gt;Honestament: alguns problemes es resolen veritablement millor amb consultes estructurades darrere d&amp;rsquo;endpoints nomenats que amb llenguatge natural a SQL. SQL MCP Server et dona aquesta opció sense abandonar completament la interfície agèntica.&lt;/p&gt;
&lt;p&gt;Post original: &lt;a href="https://devblogs.microsoft.com/azure-sql/sql-mcp-server-nl2sql/"&gt;Considering NL2SQL? Should your database really be the prompt? How can SQL MCP Server help?&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>