SQL 4 CDS allows you to use standard SQL syntax to query and manipulate your data and metadata in Dataverse / D365.


Where possible the queries are converted to FetchXML, allowing you to generate FetchXML queries for
plugins or integrations by writing familiar SQL and converting it.

Using the preview TDS Endpoint, SELECT queries can also be run that aren't convertible to FetchXML.

Latest version release notes

Fixed ordering of hash join results
Improved filter folding across joins
Improved handling of alias names requiring escaping
Improved display of column sets in properties window


Version Release date Number of downloads Rating
7.5.2 9/17/2023 4:30:06 PM 2456 0.00
7.5.1 9/11/2023 7:09:44 AM 460 0.00
7.5.0 9/4/2023 7:06:52 AM 3861 0.00
7.4.0 8/7/2023 6:54:25 PM 6831 0.00
7.3.0 6/12/2023 9:59:08 PM 10986 0.00
Show more versions (50 more)


Latest version

No feedback yet. Add yours

Other versions

Claudeci Especamilha () - version 7.1.0
Stefan Rauchegger () - version 7.1.0
great! easier to use than FetchXmlBuilder and a great starting point to convert queries for FetchXmlBuilder, which then allows you to export select, expand statements for use in power automate
Praveen Thonda () - version 7.0.0
JSON_VALUE is not working when there is space in path eg: JSON_VALUE(description,'$.PipeData.First Name') -- to make it work I had to use the square brackets and escaped single quotes to wrap the key name. JSON_VALUE(description,'$.PipeData.[''First Name'']') - note First Name is wrapped in escaped single quote on either side.
Tool author answer ()
For keys with spaces please use the bracket notation: JSON_VALUE(description, '$.PipeData[''First Name'']') (note the double-escaped quote marks around "First Name") Support for keys containing spaces using the dot-notation seems to vary between libraries. SQL 4 CDS is using the Newtonsoft JSON library which requires the use of the bracket notation in this case - see https://www.newtonsoft.com/json/help/html/QueryJsonSelectTokenEscaped.htm for further examples.
Rayan Hanoudi () - version 6.3.0
I love this tool. I recently used to updated data in D365 and it worked perfectly. Thank you!
Maciek Letowt () - version 6.3.0
Seshendra A () - version 6.2.1
Wonderful tool, helps in my daily job activity. thank you
Tiklu Ganguly () - version 5.4.1
Absolutely awesome tool. love it
Maciek Letowt () - version 5.4.1
Indispensable tool for anyone coming from SQL or DB2 dev background
Joe Bonomo () - version 5.4.1
One of best plugins in the toolbox.
Jussi Muilu () - version 5.3.1
Veljko Vidovic () - version 5.3.1
Nicolas Plourde () - version 5.3.1
Amazing tool! I use it everyday.
ksn choi () - version 5.2.3
RYAN KEAN HO () - version 5.2.2
There's some issues that unable to read user password.
Tool author answer ()
Thanks for letting me know, can you please try again on 5.2.3?
ineke vanarnhem () - version 5.2.1
RYAN KEAN HO () - version 5.2.1
Snitika Luthra () - version 5.1.1
Thankyou so much Mark. I really missed using SQL. You have made my work so much easier. Keep it up!!
Ron Scheuman () - version 5.1.0
This is a fantastic tool! It allows me to very easily inspect and pull data from Dataverse (CDS). Because I'm already familiar with SQL, It allows me to build joins between tables and more complex views very quickly and then view the FetchXML that it generates using FetchXML Builder.
Rafael Gómez () - version 5.0.0
Me ha sido de mucha ayuda. Aún no utilizo las mejoras de la última versión. Pero al querer actualizar datos de la entidad de contactos en productivo me ha marcado un error. El tds está desactivado pero en la configuración estaba habilitado. Ahora lo he desactivado de la configuración e igualmente me ha marcado error después de varios registros actualizados. El problema no es que marque error. Sino que menciona ver la pestaña de detalles. Pero solo se muestra unos gráficos de ejecución. No sé que significan los porcentajes. Y estaría fantástico que pusieras el texto del error, si fue de conexión, si fue por tiempo de espera, si fue por que son muchos datos o hilos. No sé algo más detallado que uno pudiera identificar y entender que anda mal para corregir o evitar que marque errores. Y un tema adicional, veo que tarda mucho tiempo la actualización, entiendo porque se convierte a fetchxml y luego se envía. Hay manera de actualizar más rápido? Actualmente tuve que configurar lotes de 100 a 1 hilo porque a 10 hilos me seguía marcando error. Estoy actualizando 1 campo de contacto, pero haciendo un join a cuenta para filtrar. Saludos y gracias por tu aporte!
Tool author answer ()
Thanks for these details Rafael! Are you able to send me a screenshot of what you see when you get the error please? You can add it to an issue on GitHub or send it to me as a message on Twitter, LinkedIn or at sql4cds@markcarrington.dev If you're seeing slow update speeds, this is often due to plugins firing on the update process. You may need to check what plugins are running and disable ones that aren't appropriate or limit which attributes they are triggered on.
German Velez () - version 4.0.3
This should a 4.9 but there is no such thing so I gave a 5 anyway but I consider the tool it is 95% perfect for my needs. The other 5% deals with the ability to alias columns but it only lets me name strings with aliases such "select 'Y' as [Yes or No] " but the "select table.Name as [Name of Row]" does not work. The other limitation (for my needs) is the "union" keyword which does not work either. Maybe this is something that does not translate well to FetchXml and thus the tool cannot handle it but I wish it could. :(
Tool author answer ()
Thanks for the feedback! Aliases with spaces and UNION aren't supported in FetchXML and so don't work in this version of the tool, but aliases without spaces (e.g. "select table.Name as Name_of_Row") should work fine. The next version I'm working on should be more flexible at handling things you can't do in FetchXML, so look out for version 5!
Ivo Bouwman () - version 3.1.0
This one helped me a million times by now.
Chung Lee () - version 2.3.0
Marc Scheuner () - version 2.1.2
Absolutely fantastic plugin for anyone who's at home in SQL, and misses the power and flexibility of SQL when working with Dynamics365 - wonderful job, Mark! Couldn't do my work without your plugin!
Durgaprasad Katari () - version 2.1.1
Great tool, can enable TDS endpoint easily without running the orgDBsettings exe.
Nishant Rana () - version 2.0.1
Awesome tool. Thanks !
Patrick Lauziere () - version 1.0.9
Great tool to extract data in fields order you want.
Nicola Micheletto () - version 1.0.7
CRM Admin () - version 1.0.6
Rich Waring () - version 1.0.6
Great to have a way to effectively run sql queries against the D365 back end - saved me a lot of time today.

Related information

Author: Mark Carrington Latest version: 7.5.2 Released on: 09/17/2023 Nuget package Id: MarkMpn.SQL4CDS Open Source: false Go to project web site Ratings (all versions) 5Average rating 29Number of ratings Downloads 2456Latest version 192755All versions 3504.64Average per version Tags Data