Settings - MarkMpn/Sql4Cds GitHub Wiki

Settings in XrmToolBox

Click the "Settings" button in the toolbar to access configuration options.

Settings in SSMS

SQL 4 CDS settings can be configured in SSMS under the Tools > Options menu. A new "SQL 4 CDS" section is added to the list of available options on the left.

Settings List

Not all settings are available in both XrmToolBox and SSMS.

Quoted Identifiers

Controls how double quotes are handled when parsing the SQL queries, equivalent to the SET QUOTED_IDENTIFIER command in T-SQL.

Batch Size

Controls how many records will be sent in each batch for INSERT/UPDATE/DELETE statements. You may want to tweak this setting for better performance for bulk operations.

Max. Degree of Parallelism

Controls how many batches of records can be sent simultaneously for INSERT/UPDATE/DELETE statements. You may want to tweak this setting for better performance for bulk operations.

Use Bulk Delete Operations

When running a DELETE command, use this option to run it as a background bulk delete operation in Dataverse rather than deleting each record individually.

Bypass Custom Plugins

Set to True if you want to skip executing any custom plugins when you run INSERT/UPDATE/DELETE operations.

Use TDS Endpoint where possible

Enable this option to run queries against the TDS Endpoint when it is enabled and the SQL query uses only supported Dataverse SQL.

Show FetchXML in Estimated Execution Plans

When you get an estimated execution plan, set this to True to see how the query would be executed using FetchXML even if the query can be executed with the TDS Endpoint. Useful if you want to convert the query to run from custom SDK code.

Timezone

Select whether date/time values should be treated as if they are in the UTC timezone or your local time zone. TDS Endpoint only supports UTC timezone.

Limit results

Specify a number here to only get the first records from each query without having to specify a TOP clause explicitly.

Maximum retrievals

Some queries may use a lot of API requests, so use this option to prevent runaway queries consuming all your available API request limits.

Warn when inserting/updating/deleting records

Present a confirmation message before any data changes are made. If you are expecting to only modify 1 record at a time, set this to 1 and you'll be prompted if your query unexpectedly affects 2 or more records.

Block DELETE without WHERE

Prevents you running a DELETE command that doesn't have a corresponding WHERE clause and accidentally deleting all your records. If you do need to delete all records you can work around this safety limit for an individual query by adding a WHERE clause like WHERE 1 = 1.

Block UPDATE without WHERE

Prevents you running an UPDATE command that doesn't have a corresponding WHERE clause and accidentally modifying all your records. If you do need to update all records you can work around this safety limit for an individual query by adding a WHERE clause like WHERE 1 = 1.

Show tooltips

Hover over column and table names in your query and you'll be shown a tooltip with the display name and description of the query. Use this option to turn this on or off.

Auto-size columns

Adjust the width of columns in the grid to fit the returned data. Can be slow in large result sets.

Remember session details

Stores all your open tabs even if you don't save your queries so they are available next time you open the tool.

Show date/time values in local format

Date/time values are normally shown in ISO standard format (yyyy-MM-dd HH:mm:ss). This may cause issues when you copy & paste the values to Excel depending on your regional settings, so this option displays them according to your local format. Note that this does not change the time zone of the results, only how they are formatted.

Use native FetchXML to SQL Conversion

Set to True to use the built-in conversion method when converting FetchXML queries to SQL. This generally gives more complex SQL queries but gives a better view of how the query will be executed.