Choose your path Increase your proficiency with the Dynamics 365 applications that you already use and learn more about the apps that interest you. Up your game with a learning path tailored to today's Dynamics 365 masterminds and designed to prepare you for industry-recognized Microsoft certifications.
Visit Microsoft Learn
2020 release wave 1 Discover the latest updates and new features to Dynamics 365 planned through September 2020
Release overview guides and videos Release Plan | Preview 2020 Release Wave 1 Timeline
Ace your Dynamics 365 deployment with packaged services delivered by expert consultants. | Explore service offerings
Connect with the ISV success team on the latest roadmap, developer tool for AppSource certification, and ISV community engagements | ISV self-service portal
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance TechTalks | Customer Engagement TechTalks | Upcoming TechTalks
what is the exact difference between surrogate key and recid.
In fact there is no difference. The RecId indexes are coming from older versions of AX whereas the SurrogateKey is defaulted for new created tables in AX 2012.
RecId is a field used by Dynamics AX to uniquely identify records.
Surrogate (AKA synthetic) key is a logical concept coming from database design theory, describing a key that is generated by the database system itself; it's not (like usual keys) based on business data. Obviously RecId is such a surrogate key.
Also note that AX (since AX 2012) automatically creates an index called SurrogateKey (if you create a new table, you'll see it's used as PrimaryIndex and ClusterIndex), therefore when you hear "surrogate key", people may also be talking about this index.
The exact difference is that RecId is an Extended Data Type based on int64 from which you may create Fields in AX, while a Surrogate Key is a unique identifier in a table. Majority of the AX Tables have RecId field by default that is populated by the kernel automatically from a sequence per each table, thus making it a Surrogate Key by definition.
A surrogate key typically has no meaning to a user. In Microsoft Dynamics AX 2012 the primary key for every new table is always enforced by an index that has exactly one field. The one field is usually an incremented number, or a completely meaningless number that is generated by the system.
For new tables the default is a primary key based on the RecId field. This is represented as the surrogate key in the user interface.
This auto-generated primary key - the surrogate key is linked to the already existing RecId field within any table. A surrogate key is a unique 64-bit integer value that is mandatory for the table and cannot be changed or have duplicates. It is a 64-bit integer (int64) value which means table operations normally perform faster than other types of field such as string fields.
In the form designer a reference group is a way of displaying the replacement key index fields for a table instead of the surrogate key, which is normally the RecId, for the table.
While surrogate keys and replacement keys can be helpful, these are not required for functional tables and forms.
Surrogate keys were available in Ax 2009, but were not so helpful until the kernel changes introduced at Ax 2012 - see this blog for some useful insights axdaily.blogspot.ae/.../surrogate-keys-in-ax-2012.html
Business Applications communities