Migration

Moving SQL Server to Dataverse, in NZ

Moving a SQL Server database to Dataverse costs a NZ firm under 20 staff $8,000 to $18,000 fixed price over three to eight weeks, then NZ$32.40 per user per month. Into SharePoint lists it is $4,000 to $10,000.

NZD price from the September 2026 en-nz list · Microsoft Learn read September 2026 · next check December 2026

The short version: the tables and rows move with a Power Platform dataflow, and that part is quick. Stored procedures, triggers, views, jobs and the front end never move; they are rebuilt as a Power App and Power Automate flows, and that rebuild is where the money and the weeks go. Where the data lands sets the licence bill: SharePoint lists cost nothing on top of Microsoft 365, Dataverse is NZ$32.40 per user per month. For a firm under 20 staff the range is $4,000 to $18,000, and logic hidden in stored procedures moves a job up that range faster than table count does.

What it costs and how long it takes

LineInto SharePoint listsInto Dataverse
Build, data migration included (fixed price)$4,000 to $10,000$8,000 to $18,000
Typical time2 to 5 weeks3 to 8 weeks
Licence per user per month, before GST$0 on top of Microsoft 365NZ$32.40 (Power Apps Premium, paid yearly)
Ten users, per year$0NZ$3,888.00
Best forA few flat tables, under about 20,000 rows each, one or two editors, no money on the recordsRelated tables, money or hours on the records, several editors daily, an audit trail

The build bands are my fixed prices for firms under 20 staff, from the services page, and they include the data migration, validation and cut-over. A SQL Server system sits toward the top of each band because of the stored procedures and integrations. Licences are Microsoft's NZ list price for Power Apps Premium, before GST, paid yearly, on the Power Platform pricing in NZ page. The wider decision, with what transfers and what breaks, is in moving a SQL Server database into Microsoft 365, and the fixed-price service is on the SQL and Access migration page.

The method, step by step

  1. Inventory the database. Tables and row counts, relationships, stored procedures, triggers, views, scheduled jobs, and everything outside that connects to it: a label printer, an ODBC link from Excel, a Xero sync. The last list is the one people forget.
  2. Pick the home. Dataverse, SharePoint lists, or leave the database where it is and put an app on top. Use the table above and a real licence number against your real headcount. The honest test is money: if an accountant reconciles anything in the database, it goes to Dataverse.
  3. Build the Dataverse tables first. Names, relationships, an autonumber column seeded to continue your job or invoice sequence, and an alternate key for every unique index.
  4. Install the on-premises data gateway on a machine that can reach the SQL Server, if the server is on your network. It makes outbound connections only, so no inbound ports are opened.
  5. Run a dataflow into a dev environment. SQL Server as the source, Power Query cleaning steps (trim, fix dates, drop dead columns), each query mapped to its table. Read every row the validator rejects and fix it in SQL, not in the target. Load parent tables before child tables so lookups resolve.
  6. Rebuild the front end and the logic as a Power App and flows, with the old app as the spec. I sit with the two people who use it most.
  7. Cut over on a Friday. Freeze the source, run the final load into the live environment, reconcile row counts and a handful of known records, go live Monday. The old database stays intact and switched off for 60 days.
  8. Hand over source, credentials and a written map of what lives where.

The mechanics for all four source systems are on the Power Platform migration hub, and the 38-point SQL migration checklist is the working document I use. It is free and works with whoever you hire.

SQL Server data types that break, and the fix

SQL ServerDataverseWhat happensWhat to do first
float, realFloating Point NumberUp to five decimal places; anything past that is roundedChange to decimal (up to ten places) at the source if precision matters
money, smallmoneyCurrencyOne base currency per environment, assumed by the loadConfirm the base currency is NZD before the first load
nvarchar(n), varchar(n)Text4,000-character capFind the longest value in each column before you map it
nvarchar(max), textMultiline TextUp to 1,048,576 charactersAnything longer needs a file column
datetime, datetime2Date and TimeUser-local or time-zone independent, chosen per column; get it wrong and every date shifts by hoursDecide per column, then test a known record across a daylight-saving change
identity columnAutonumberDataverse keys rows with a GUID; old integer IDs arrive as a plain numberSet the autonumber seed so the sequence continues
foreign keyLookup (relationship)The dataflow matches on an alternate key, not your old integerDefine the key first, load parents before children
varbinary, imageFile or ImageNot loaded by a dataflowExport the files, store them in a file column or SharePoint, keep the link
unique indexAlternate keyNot migratedNote every one, recreate by hand
computed columnFormula or calculated columnThe value loads, the formula does notRecreate the formula in Dataverse

The full map, with the Access column beside it, is on the migration hub. Limits are Dataverse's as documented on Microsoft Learn, checked September 2026. Rows that fail validation are worth reading one at a time; a rejected row is usually a real data problem that has been hiding in the old system for years.

What never moves

What Dataverse capacity costs

Users on Power Apps PremiumDatabase capacity includedCost of each GB over that
511.25 GBNZ$64.70 a month
1012.5 GBNZ$64.70 a month
2015 GBNZ$64.70 a month

The tenant starts with 10 GB of database capacity, and each Power Apps Premium licence adds 250 MB. Extra database capacity is NZ$64.70 per GB per month. Worked example: 10 users have 12.5 GB; if 25 GB of data genuinely had to sit in database capacity, the 12.5 GB over would cost NZ$808.75 a month. That almost never happens, because capacity holds rows, not the size of your SQL backup file. As a working estimate, a plain row with a few dozen columns is one to two kilobytes, so 1 GB is roughly half a million to a million rows. Blobs go to file capacity (20 GB plus 2 GB per licence), which is bigger and cheaper to extend. The detail, and what fills capacity when rows do not, is on Dataverse pricing in NZ.

The licence line, in NZD

UsersSharePoint listsDataverse, Power Apps Premium
5$0NZ$162.00 a month
10$0NZ$324.00 a month
20$0NZ$648.00 a month

Power Apps Premium at NZ$32.40 per user per month, before GST, paid yearly. The totals are that price multiplied out. A Power App on SharePoint lists uses the Microsoft 365 licence you already have, provided it stays on standard connectors; the moment it or a flow reads SQL Server it becomes premium. Only people who open the app or own a flow need a licence, so eight staff who just receive an email from a flow need nothing extra.

If the goal is that staff notice nothing on Monday, read how a like-for-like copy works before you scope it.

When I would say stay on SQL Server

Change log

DateChangeWhat it means
30 September 2026Page created. NZ$32.40 is the September 2026 en-nz Power Apps Premium list price and NZ$64.70 the Dataverse capacity add-on, both from the price ledger; type limits re-read on Microsoft LearnCost bands match the services page and the SQL Server guide

The weeks by source and destination, where they go and what stretches them: how long moving off an old database takes.

Common questions

How much does it cost to migrate SQL Server to Dataverse in NZ?

For a firm under 20 staff, $8,000 to $18,000 into Dataverse over three to eight weeks, or $4,000 to $10,000 into SharePoint lists over two to five weeks, at a fixed price with the data migration included. Dataverse then costs NZ$32.40 per user per month on Microsoft's NZ price list (Power Apps Premium, paid yearly, before GST); SharePoint lists cost nothing on top of Microsoft 365.

Can I move SQL Server data to Dataverse myself?

The data, often yes. A Power Platform dataflow reads SQL Server, through the on-premises data gateway if the server is yours, and loads Dataverse tables. The person running it needs a Power Apps Premium licence because SQL Server is a premium connector. The dataflow does not move stored procedures, triggers, views, jobs or the front end, and those are where the time goes.

What does Dataverse storage cost after the migration?

Nothing until the included capacity runs out. The tenant gets 10 GB of database space plus 250 MB for each Power Apps Premium licence, so 10 users get 12.5 GB. Extra database capacity is NZ$64.70 per GB per month. Most firms under 20 staff rarely buy any, because a migrated small-firm database is usually well under 1 GB of rows.

Do stored procedures and triggers move to Dataverse?

No. Dataverse does not run T-SQL. Each stored procedure or trigger that matters becomes a Power Automate flow, a business rule, a formula column or logic in the app. In a small-firm system fewer than ten usually matter, and inventorying them before quoting is what keeps the price honest.

Should I keep SQL Server or move to Azure SQL instead?

Keep SQL Server, or move it to Azure SQL, when the value of the system is in the stored procedures, a vendor product needs SQL, or people write T-SQL reports. A Power App on top still needs Power Apps Premium at NZ$32.40 per user per month, because the SQL Server connector is premium. Move to Dataverse when the value is in the data and the forms and nobody wants to own a server.

How long does a SQL Server to Dataverse migration take?

Three to eight weeks for a firm under 20 staff. The low end is a database of a dozen tables with a few stored procedures; the high end is many related tables, logic living in the database and integrations nobody documented. The first load usually runs in a day, and the weeks go on rebuilding the front end and the logic.

Method, and citing this page

The NZD licence and capacity figures are Microsoft's September 2026 en-nz list prices, held in the price ledger; nothing is converted. The build bands are my fixed prices and match the services page. The data-type behaviour comes from Microsoft Learn's Dataverse data types page and the method from the migration hub. Rows per gigabyte is a working estimate and labelled as one. The page is re-checked each quarter and the change log records anything that moved. Corrections by email are welcome and get a dated note.

Cite it freely. Quote any figure with a link back:

Moving SQL Server to Dataverse in NZ, Kove, September 2026 check. kove.nz/sql-server-to-dataverse-nz

Got a SQL Server database the business depends on?

Tell me the row count of the biggest table and what sits in front of it. One free 30-minute call and you get Dataverse, SharePoint or leave-it-alone, and a fixed price for the move.

Christchurch-based · I reply within 1 working day