Dataverse to SQL Type Mappings
Data Mission Sync automatically converts Dataverse column types to appropriate SQL Server data types. The following table provides a complete reference:
| Dataverse Type | SQL Server Type | Notes |
| Single Line of Text | NVARCHAR(n) | Length matches Dataverse max length |
| Multiple Lines of Text | NVARCHAR(MAX) | Supports large text content |
| Whole Number | INT | 32-bit integer |
| Decimal Number | DECIMAL(p,s) | Precision/scale preserved from Dataverse |
| Floating Point | FLOAT | Double precision |
| Currency | DECIMAL(19,4) | Fixed precision for currency values |
| Two Options (Boolean) | BIT | 0 = False, 1 = True |
| Date Only | DATE | Date without time component |
| Date and Time | DATETIME2 | Full datetime with precision |
| Choice (Option Set) | INT | Numeric value; see Option Set Handling |
| Choices (Multi-Select) | NVARCHAR(MAX) | Comma-separated values |
| Lookup | UNIQUEIDENTIFIER | GUID reference to related record |
| Customer | UNIQUEIDENTIFIER | Polymorphic lookup (Account or Contact) |
| Owner | UNIQUEIDENTIFIER | Polymorphic lookup (User or Team) |
| Unique Identifier | UNIQUEIDENTIFIER | Primary key (GUID) |
Special Handling
Some column types require special handling during synchronization:
Skipped Column Types:
• Image columns — Binary image data is not replicated
• File columns — File attachments are not replicated
These columns are omitted from the target schema to keep synchronization efficient and avoid large binary transfers.
Option Sets (Choice columns):
• Two columns are created: {columnname} (INT) and {columnname}_label (NVARCHAR)
• The numeric value is stable for filtering; the label is for display
• See Section 4: Option Set Handling for details
Polymorphic Lookups:
• Customer and Owner fields can reference multiple table types
• An additional column ({columnname}_type) stores the target entity type
Calculated and Rollup Fields:
• These fields are synced as their resulting data type
• Values are snapshots at sync time and are not recalculated in SQL
NULL Handling:
• All SQL columns are created as nullable to match Dataverse behavior
• Empty/null values in Dataverse become NULL in SQL