What 120,000 invented rows taught me about moving a SQL Server 2012 app to Dataverse
This is a test migration on invented records. Kove Energy is a showcase firm, not a client. I built a stand-in for an old SQL Server 2012 database, gave it the faults old databases usually have, and moved it into a Dataverse environment to see what breaks. The migration, the build and the app are real. The data is not. I am writing it up because the useful part is the failure and reconciliation…
The test migration involved recreating a SQL Server 2012 database into Dataverse to examine potential issues. Kove Energy, a fictional home energy installer, ran a custom Windows desktop app on outdated SQL Server 2012, which lacked support. The migration utilized Dataverse with a Power Apps canvas app, replicating 8 tables, 8 screens, and 3 roles. The original database held 120,000 rows across these tables, stored in a 72.0 MB data file on SQL Server Express.
Before the migration, the stability of rows was ensured by assigning stable IDs to tables without primary keys. Unknown dates, broken links, macrons, padded values, and duplicate records were accounted for and resolved ahead of time. The migration process took about 70 minutes, during which 119,996 rows were successfully loaded into Dataverse. After retrying four failed rows, the total was confirmed to be 120,000. No duplicate rows were loaded, and keys were cross-verified to ensure data integrity.
Upon completion, 145 out of 145 checks passed, confirming the successful migration. Roles such as office manager, staff, and installer were tested, with all 18 actions passing validation. Dataverse provided clear error messages for unauthorized actions, preventing unauthorized edits. The case study, based on test runs with invented data, does not provide insights on time saved or cost benefits. The full case study can be found at https://kove.nz/kove-energy-demo/.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.