The SharePoint Lie That Breaks Every Power App
In this episode, we break down the myth that “SharePoint lists are a database for Power Apps” and show why that belief quietly kills performance, scalability, and data integrity. You’ll learn exactly where SharePoint list–backed Power Apps fall apart: delegation limits (500/2,000 record caps), the 5,000-item list view threshold, non-delegable filters, item-level permissions at scale, and complex queries that push all the heavy lifting to the client.
We contrast this with Dataverse as the native data engine for Power Apps: server-side query execution, rich relational modeling, row and field-level security, auditing, better offline behavior, and clean integration with Power BI, Data Lake, and AI workloads. Instead of workarounds, throttled flows, and blue delegation banners, you get reliable performance and honest record counts.
The episode gives IT leaders and makers a decision framework: clear thresholds for when to move from SharePoint to Dataverse (record volumes, compound filters, multiple lookups, granular security), red flags that predict an inevitable rewrite, and a practical migration path covering schema mapping, security design, data loads, flow refactoring, and delegation testing.
If you’re building serious, data-centric Power Apps and want to avoid “free” solutions that become your most expensive line item, this episode shows why choosing Dataverse early is the scalable, governable, and cost-realistic move.
Many Power Apps fail for one simple reason: SharePoint Lists are not a database. They’re designed for content and collaboration—not multi-table relationships, delegation, or large-scale filtering. This episode breaks down the architectural mismatch that causes apps to stall at 2,000 records, show incomplete results, and slow to a crawl behind blue delegation banners. You’ll learn why SharePoint becomes unreliable past 5,000 items, how non-delegable formulas silently cap results, and when Dataverse becomes the only platform that can scale. If you’ve struggled with performance, delegation, or governance, this episode will show you exactly why—and how to fix it. Why SharePoint Breaks Power Apps SharePoint is excellent for documents and simple lists, but Power Apps need:
- server-side filtering
- relational data modeling
- reliable delegation
- audit and security controls
SharePoint’s limitations cause:
- non-delegable queries (Search, OR, multi-column filters)
- 500–2,000 record caps
- slow galleries and inconsistent results
- fragile lookup modeling
- performance drops near the 5,000-item List View Threshold
In short, SharePoint stores data, but Power Apps can’t query it reliably at scale. Measurable Failure Modes You’ll learn the three signals that your SharePoint-backed app is already in trouble:
- Delegation Warnings The blue banner isn’t optional—it means Power Apps is filtering client-side and only seeing a fraction of your data.
- Slow Screen Loads When queries can’t delegate, the client downloads extra data and processes it locally, creating lag and inconsistent results.
- Record Count Limits Lists can technically hold millions, but Power Apps can’t query them meaningfully once filters stop delegating.
Anything past the threshold becomes invisible. Why Dataverse Fixes It Dataverse is built as a true data engine for Power Apps. It offers:
- full delegation for complex filters
- server-side query execution
- proper relationships and lookups
- row- and field-level security
- built-in auditing and compliance
- better performance with 2025 Power Apps runtime improvements
With Dataverse, the 2,000-record limit disappears because logic runs on the server where the data lives. Cost Reality: “Free SharePoint” Is Not Free SharePoint seems free, but you pay heavily in:
- Power Automate workarounds
- non-delegable formula hacks
- governance gaps
- performance troubleshooting
- incomplete results and user mistrust
Dataverse licensing is predictable; SharePoint workarounds accumulate endlessly. When to Move to Dataverse Use Dataverse when:
- record counts exceed ~100,000
- you need multi-column search or compound filters
- you have more than 1–2 lookups per record
- offline/mobile matters
- security must be granular
- delegation banners appear during prototyping
If any of these are true, SharePoint becomes a bottleneck—and an eventual rewrite. Migration Summary A simplified migration path:
- Map SharePoint lists → Dataverse tables and relationships
- Define security roles, field-level rules, and auditing
- Clean and load data into Dataverse (parents → children)
- Replace SharePoint connectors in apps/flows
- Rewrite non-delegable formulas into delegable patterns
- Pilot, cut over, and retire SharePoint lists
Key Takeaway SharePoint Lists are great for content—not as a backend for production Power Apps.
Dataverse is the platform that delegates, scales, and governs correctly.
Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-show-podcast--6704921/support.
Follow us on:
LInkedIn
Substack
1
00:00:00,000 --> 00:00:02,660
SharePoint lists are a database for Power Apps.
2
00:00:02,660 --> 00:00:03,600
Incorrect.
3
00:00:03,600 --> 00:00:07,700
That belief is why your apps stall at 2,000 records, choke on filters,
4
00:00:07,700 --> 00:00:10,540
and die behind a friendly blue delegation banner.
5
00:00:10,540 --> 00:00:12,940
Most teams discover the cliff at 5,000 items
6
00:00:12,940 --> 00:00:14,860
and then spend weeks patching symptoms.
7
00:00:14,860 --> 00:00:15,940
Here's the promise.
8
00:00:15,940 --> 00:00:18,540
You'll see the architectural why behind those failures,
9
00:00:18,540 --> 00:00:20,960
the measurable breakdowns, delegation warnings,
10
00:00:20,960 --> 00:00:23,620
load times record counts, and the decision thresholds
11
00:00:23,620 --> 00:00:26,100
that separate toy apps from production systems.
12
00:00:26,100 --> 00:00:27,900
I'll give you the red flag that predicts collapse
13
00:00:27,900 --> 00:00:29,460
before you write a single formula.
14
00:00:29,460 --> 00:00:32,180
And yes, we'll talk cost, governance, and migration,
15
00:00:32,180 --> 00:00:35,460
so IT leaders can justify data verse without glitter.
16
00:00:35,460 --> 00:00:38,740
The architectural mismatch, why SharePoint breaks at scale?
17
00:00:38,740 --> 00:00:41,380
SharePoint was built for content and collaboration.
18
00:00:41,380 --> 00:00:43,900
Documents, pages, conversations, basic lists.
19
00:00:43,900 --> 00:00:45,140
It's excellent at that.
20
00:00:45,140 --> 00:00:47,180
But a Power App is a data application.
21
00:00:47,180 --> 00:00:49,540
It needs a data platform that speaks relationships,
22
00:00:49,540 --> 00:00:51,660
delegation, and server-side execution.
23
00:00:51,660 --> 00:00:53,700
The truth, SharePoint isn't that platform.
24
00:00:53,700 --> 00:00:55,140
Let's state the stakes.
25
00:00:55,140 --> 00:00:57,620
When Power Apps can't delegate a query,
26
00:00:57,620 --> 00:01:00,060
it pulls data to the client and evaluates locally.
27
00:01:00,060 --> 00:01:02,220
That's fast in demos and catastrophic at scale.
28
00:01:02,220 --> 00:01:04,300
SharePoint's delegation surface is narrow.
29
00:01:04,300 --> 00:01:06,740
Simple filter and sort on index columns, sure.
30
00:01:06,740 --> 00:01:09,540
But the moment you stack conditions, search multiple columns,
31
00:01:09,540 --> 00:01:11,700
or try distinct group-by-look-upchains
32
00:01:11,700 --> 00:01:13,460
you fall off the delegation cliff.
33
00:01:13,460 --> 00:01:16,260
Your app silently caps results at 500 by default,
34
00:01:16,260 --> 00:01:18,020
2000 if you stretch the setting.
35
00:01:18,020 --> 00:01:19,180
Everything passed that?
36
00:01:19,180 --> 00:01:19,980
Invisible.
37
00:01:19,980 --> 00:01:22,660
Not filtered, not counted, gone.
38
00:01:22,660 --> 00:01:24,180
Compare that to data verse.
39
00:01:24,180 --> 00:01:26,980
Data verse is designed for structured relational data
40
00:01:26,980 --> 00:01:29,300
with server-side query execution.
41
00:01:29,300 --> 00:01:32,180
Filters, joins via relationships, aggregates,
42
00:01:32,180 --> 00:01:34,180
processed where the data lives.
43
00:01:34,180 --> 00:01:37,020
You get results for 200,000 rows the same way you do
44
00:01:37,020 --> 00:01:39,460
for 2000 because the server does the work.
45
00:01:39,460 --> 00:01:40,580
It's not just a database.
46
00:01:40,580 --> 00:01:43,500
It's the spine of the Power Platform's data model.
47
00:01:43,500 --> 00:01:44,940
Now the flat list problem.
48
00:01:44,940 --> 00:01:46,940
SharePoint gives you a list with limited lookups.
49
00:01:46,940 --> 00:01:49,940
You can't model rich relationships without hacks.
50
00:01:49,940 --> 00:01:52,580
The thing most people miss is that every work around
51
00:01:52,580 --> 00:01:54,620
denormalizing data into giant columns,
52
00:01:54,620 --> 00:01:58,340
duplicating text keys using Power Automate to stitch records,
53
00:01:58,340 --> 00:02:00,700
magnifies maintenance and erodes integrity.
54
00:02:00,700 --> 00:02:02,740
And once you join across lists with lookups,
55
00:02:02,740 --> 00:02:04,460
you invite non-delagable patterns.
56
00:02:04,460 --> 00:02:07,540
The price isn't just complexity, it's performance collapse.
57
00:02:07,540 --> 00:02:09,860
Let me show you exactly how the list view threshold
58
00:02:09,860 --> 00:02:11,300
and forces behavior.
59
00:02:11,300 --> 00:02:13,820
SharePoint can technically store up to tens of millions
60
00:02:13,820 --> 00:02:16,140
of items in a list, but the practical guardrail
61
00:02:16,140 --> 00:02:17,380
is 5,000 per query.
62
00:02:17,380 --> 00:02:20,220
Pass that unindexed filter's block, grouping's time out.
63
00:02:20,220 --> 00:02:22,500
Sorting on non-indexed fields fails.
64
00:02:22,500 --> 00:02:24,780
You can index some columns yes, but not your way out
65
00:02:24,780 --> 00:02:26,540
of combinatorial filters.
66
00:02:26,540 --> 00:02:28,340
The platform is protecting the shared service,
67
00:02:28,340 --> 00:02:29,580
not optimizing your app.
68
00:02:29,580 --> 00:02:31,100
You don't beat the threshold.
69
00:02:31,100 --> 00:02:33,420
You root around it until your logic buckles.
70
00:02:33,420 --> 00:02:34,900
Security makes it worse.
71
00:02:34,900 --> 00:02:36,500
Item level permissions sound helpful
72
00:02:36,500 --> 00:02:38,300
until you apply them at scale.
73
00:02:38,300 --> 00:02:41,700
SharePoint must evaluate access for each item in a view.
74
00:02:41,700 --> 00:02:44,580
That's extra work on every query view and app screen.
75
00:02:44,580 --> 00:02:46,580
In Dataverse, Row and Field Level Security
76
00:02:46,580 --> 00:02:49,460
are evaluated as part of the Data Engine's plan.
77
00:02:49,460 --> 00:02:51,740
Business units, security roles, auditing,
78
00:02:51,740 --> 00:02:53,260
all native, all performant.
79
00:02:53,260 --> 00:02:54,860
The reason this matters is simple.
80
00:02:54,860 --> 00:02:56,620
Security filtering is still filtering.
81
00:02:56,620 --> 00:03:00,180
If it's not efficient, your app pays the tax every tap.
82
00:03:00,180 --> 00:03:01,340
And now load time.
83
00:03:01,340 --> 00:03:02,860
Power apps does a lot under the hood.
84
00:03:02,860 --> 00:03:05,100
Metadata retrieval, control initialization,
85
00:03:05,100 --> 00:03:06,300
data source negotiation.
86
00:03:06,300 --> 00:03:08,340
In 2025, runtime improvements reduced
87
00:03:08,340 --> 00:03:10,660
unnecessary parallel queries and sped up rendering,
88
00:03:10,660 --> 00:03:13,020
which helps everyone, but it doesn't fix a source
89
00:03:13,020 --> 00:03:15,100
that demands client-side evaluation.
90
00:03:15,100 --> 00:03:17,980
If your first screen opens with filter search,
91
00:03:17,980 --> 00:03:20,300
against the SharePoint list that won't delegate,
92
00:03:20,300 --> 00:03:22,300
you're shipping a spinner, not a screen.
93
00:03:22,300 --> 00:03:25,180
Dataverse benefits most from those optimizations
94
00:03:25,180 --> 00:03:26,860
because the platform cooperates.
95
00:03:26,860 --> 00:03:30,460
Fewer round trips, more server execution, cleaner payloads.
96
00:03:30,460 --> 00:03:31,860
The game changer nobody talks about
97
00:03:31,860 --> 00:03:34,260
is how relational intent changes everything.
98
00:03:34,260 --> 00:03:36,300
In Dataverse, relationships are first class.
99
00:03:36,300 --> 00:03:39,220
You can traverse them, query across them, and secure them.
100
00:03:39,220 --> 00:03:42,060
In SharePoint, relationships are lookups with training wheels.
101
00:03:42,060 --> 00:03:43,620
That's fine for a project tracker.
102
00:03:43,620 --> 00:03:46,500
It's fragile for ticketing, assets, orders, inspections,
103
00:03:46,500 --> 00:03:49,180
or anything with multi-table joins and lifecycle rules.
104
00:03:49,180 --> 00:03:51,060
If you remember nothing else, remember this.
105
00:03:51,060 --> 00:03:53,500
SharePoint lists are excellent content shelves.
106
00:03:53,500 --> 00:03:55,220
Power apps need a data engine.
107
00:03:55,220 --> 00:03:57,980
For simple, flat scenarios, SharePoint is fine.
108
00:03:57,980 --> 00:04:00,740
The moment you need multi-lookup joins, compound filters,
109
00:04:00,740 --> 00:04:03,780
or more than trivial record counts, the platform fights you.
110
00:04:03,780 --> 00:04:05,100
And you will lose.
111
00:04:05,100 --> 00:04:06,420
The failure modes.
112
00:04:06,420 --> 00:04:09,820
You can measure delegation, load time, record counts.
113
00:04:09,820 --> 00:04:11,060
Let's quantify the pain.
114
00:04:11,060 --> 00:04:13,260
You don't need a hunch, you need artifacts.
115
00:04:13,260 --> 00:04:15,900
Power apps gives you three delegation warnings,
116
00:04:15,900 --> 00:04:18,300
load time behavior, and record count realities.
117
00:04:18,300 --> 00:04:21,500
If you ignore them, your users will provide a fourth artifact,
118
00:04:21,500 --> 00:04:24,460
abandonment, delegation first.
119
00:04:24,460 --> 00:04:26,980
That cheerful blue banner is not advice.
120
00:04:26,980 --> 00:04:28,100
It's a stop sign.
121
00:04:28,100 --> 00:04:29,780
When you see this formula might not be fully
122
00:04:29,780 --> 00:04:32,660
delegable, translation, power apps will evaluate locally
123
00:04:32,660 --> 00:04:33,940
and cap your results.
124
00:04:33,940 --> 00:04:36,940
Default cap 500, stretch setting 2000.
125
00:04:36,940 --> 00:04:39,140
The truth, you've just limited your apps' eyesight
126
00:04:39,140 --> 00:04:40,860
to a tiny slice of reality.
127
00:04:40,860 --> 00:04:42,660
Anything past that window doesn't exist
128
00:04:42,660 --> 00:04:44,220
as far as your formulas can tell.
129
00:04:44,220 --> 00:04:46,700
Filters, mismatches, counts under report,
130
00:04:46,700 --> 00:04:50,340
and no results found becomes a regular comedy bit.
131
00:04:50,340 --> 00:04:52,620
Which operations trigger this collapse in SharePoint?
132
00:04:52,620 --> 00:04:54,380
The usual suspects, chaining filter
133
00:04:54,380 --> 00:04:57,020
with or across multiple columns, using search
134
00:04:57,020 --> 00:04:59,180
on more than one field, distinct for deduplication,
135
00:04:59,180 --> 00:05:01,540
group buy for rollups, lookup chains across lists,
136
00:05:01,540 --> 00:05:03,220
and certain sort by columns, scenarios
137
00:05:03,220 --> 00:05:05,300
when the sort column isn't indexed.
138
00:05:05,300 --> 00:05:07,540
Add a multi-lookup join, and you're basically choosing
139
00:05:07,540 --> 00:05:09,100
the non-deligible path on purpose.
140
00:05:09,100 --> 00:05:11,780
Compare that to dataverse, where those same filters,
141
00:05:11,780 --> 00:05:15,020
sorts, and relationship traversals run server side.
142
00:05:15,020 --> 00:05:18,700
You request intent, the engine executes the plan efficiently.
143
00:05:18,700 --> 00:05:20,460
Now load time, the spinner text.
144
00:05:20,460 --> 00:05:23,220
Three mechanics matter, metadata fetch, control rendering,
145
00:05:23,220 --> 00:05:24,700
and query execution.
146
00:05:24,700 --> 00:05:26,780
The 2025 runtime optimizations helped
147
00:05:26,780 --> 00:05:28,620
with caching and deferred control loading,
148
00:05:28,620 --> 00:05:30,580
plus a smoother UI pipeline.
149
00:05:30,580 --> 00:05:31,140
Good.
150
00:05:31,140 --> 00:05:33,820
But if your first interaction is a non-deluggable query
151
00:05:33,820 --> 00:05:36,460
against SharePoint, you force the client to pull what it can
152
00:05:36,460 --> 00:05:37,300
then process.
153
00:05:37,300 --> 00:05:40,180
That means chatty network calls, inflated payloads,
154
00:05:40,180 --> 00:05:42,620
and a device doing work the server should have handled.
155
00:05:42,620 --> 00:05:45,340
You feel it as screens that take seconds to render,
156
00:05:45,340 --> 00:05:48,300
and galleries that pop in results unpredictably.
157
00:05:48,300 --> 00:05:50,060
A micro story, since you enjoy pain,
158
00:05:50,060 --> 00:05:52,700
a field service app with 120,000 tickets,
159
00:05:52,700 --> 00:05:55,460
three lookups per ticket, and user-scoped views.
160
00:05:55,460 --> 00:05:57,860
SharePoint worked, until it didn't.
161
00:05:57,860 --> 00:06:00,460
Delegation banners everywhere, views timing out
162
00:06:00,460 --> 00:06:02,460
when item-level permission scaled up,
163
00:06:02,460 --> 00:06:05,340
and a home screen that loaded in eight seconds on Wi-Fi,
164
00:06:05,340 --> 00:06:07,780
and whenever it felt like it, on cellular.
165
00:06:07,780 --> 00:06:09,740
Migration to dataverse dropped the home screen
166
00:06:09,740 --> 00:06:11,780
to under two seconds because the filters ran
167
00:06:11,780 --> 00:06:14,780
at the source and security-trimmed rows server side.
168
00:06:14,780 --> 00:06:17,420
No heroics, just using the right engine.
169
00:06:17,420 --> 00:06:20,820
Record counts next, the myth of its stores 30 million.
170
00:06:20,820 --> 00:06:22,900
Yes, a list can hold that many items.
171
00:06:22,900 --> 00:06:24,540
No, your app can't use them meaningfully
172
00:06:24,540 --> 00:06:26,060
if you need complex filtering.
173
00:06:26,060 --> 00:06:28,420
The list view threshold of 5,000 isn't negotiable.
174
00:06:28,420 --> 00:06:30,820
It's a guardrail that blocks unindexed queries,
175
00:06:30,820 --> 00:06:33,180
grouping, and certain sorts once your operations
176
00:06:33,180 --> 00:06:34,340
threaten the service.
177
00:06:34,340 --> 00:06:36,220
You can index columns, and you should,
178
00:06:36,220 --> 00:06:38,820
but you can't index your way out of combinatorial filters
179
00:06:38,820 --> 00:06:41,420
or ad hoc user searches across multiple fields.
180
00:06:41,420 --> 00:06:43,740
Practically, SharePoint list-backed apps
181
00:06:43,740 --> 00:06:47,140
stay sane below 100,000 items with disciplined views
182
00:06:47,140 --> 00:06:48,380
and strict patterns.
183
00:06:48,380 --> 00:06:50,380
Beyond that, the workaround tax compounds,
184
00:06:50,380 --> 00:06:52,060
extra flows, calculated columns,
185
00:06:52,060 --> 00:06:55,260
denormalized tax copies, and nightly jobs to fake rollups.
186
00:06:55,260 --> 00:06:58,180
Security-induced slowness is the stealth killer.
187
00:06:58,180 --> 00:07:00,500
Item-level permissions feel enterprise.
188
00:07:00,500 --> 00:07:03,660
In practice, every view and query pays a per item evaluation
189
00:07:03,660 --> 00:07:06,940
cost, performance drops, especially as unique permissions climb.
190
00:07:06,940 --> 00:07:09,620
Dataverse applies, row-level, and field-level rules
191
00:07:09,620 --> 00:07:12,260
within the engine's plan so the filter is part of the query,
192
00:07:12,260 --> 00:07:13,540
not a separate gauntlet.
193
00:07:13,540 --> 00:07:17,220
Result, less thrash more throughput, consistent response times,
194
00:07:17,220 --> 00:07:19,140
as complexity grows.
195
00:07:19,140 --> 00:07:21,700
Let's talk query complexity tax in practical terms.
196
00:07:21,700 --> 00:07:24,140
You want a gallery filtered by status, date range,
197
00:07:24,140 --> 00:07:26,660
and a free text search across title and description
198
00:07:26,660 --> 00:07:27,980
then sorted by priority.
199
00:07:27,980 --> 00:07:30,940
In SharePoint, parts of that stack are non-delagable or brittle
200
00:07:30,940 --> 00:07:33,700
unless you pre-index exactly the combination users hit.
201
00:07:33,700 --> 00:07:36,580
In Dataverse, it's delegable and runs on the server,
202
00:07:36,580 --> 00:07:39,300
so the client receives only the right rows in the right order.
203
00:07:39,300 --> 00:07:42,500
You save network, CPU, and your dignity.
204
00:07:42,500 --> 00:07:44,180
Quick win you can do today.
205
00:07:44,180 --> 00:07:46,740
Audit your app for blue banners, count of indexed columns
206
00:07:46,740 --> 00:07:48,180
versus filters in use.
207
00:07:48,180 --> 00:07:51,460
First screen load time on cold start and effective record window,
208
00:07:51,460 --> 00:07:53,900
500, 2000, or truly delegable.
209
00:07:53,900 --> 00:07:56,420
If any core screen relies on non-delagable filters,
210
00:07:56,420 --> 00:07:58,180
you already have silent data loss.
211
00:07:58,180 --> 00:07:59,780
Not theoretical, current.
212
00:07:59,780 --> 00:08:01,300
The takeaway is painfully simple.
213
00:08:01,300 --> 00:08:03,300
Delegation warnings predict wrong results.
214
00:08:03,300 --> 00:08:05,620
Load time patterns reveal where you force the client
215
00:08:05,620 --> 00:08:06,900
to do server work.
216
00:08:06,900 --> 00:08:08,860
Record counts expose the difference between can
217
00:08:08,860 --> 00:08:10,340
store and can query.
218
00:08:10,340 --> 00:08:12,580
When all three line up, you don't have a performance problem.
219
00:08:12,580 --> 00:08:14,740
You have an architectural mismatch.
220
00:08:14,740 --> 00:08:16,500
Dataverse isn't premium flair.
221
00:08:16,500 --> 00:08:18,660
It's the minimum viable data engine for apps that
222
00:08:18,660 --> 00:08:22,220
must scale, stay honest, and avoid the blue banner lottery.
223
00:08:22,220 --> 00:08:24,780
The dataverse advantage, performance, delegation,
224
00:08:24,780 --> 00:08:26,740
security, integration, now that you've
225
00:08:26,740 --> 00:08:30,220
seen where SharePoint collapses, enter dataverse.
226
00:08:30,220 --> 00:08:32,260
The data engine that actually speaks power
227
00:08:32,260 --> 00:08:33,700
apps native language.
228
00:08:33,700 --> 00:08:35,140
The truth, you're not buying features,
229
00:08:35,140 --> 00:08:36,780
you're buying the right physics.
230
00:08:36,780 --> 00:08:38,900
Server side execution, proper relationships,
231
00:08:38,900 --> 00:08:40,740
and security baked into the query plan.
232
00:08:40,740 --> 00:08:42,060
That's why it feels faster.
233
00:08:42,060 --> 00:08:42,900
It is faster.
234
00:08:42,900 --> 00:08:44,060
Performance first.
235
00:08:44,060 --> 00:08:47,340
Dataverse executes filters, sorts, and joins on the server
236
00:08:47,340 --> 00:08:48,180
close to the data.
237
00:08:48,180 --> 00:08:49,980
You're not dragging thousands of rows to a phone
238
00:08:49,980 --> 00:08:52,260
and hoping JavaScript performs miracles.
239
00:08:52,260 --> 00:08:55,180
With the 2025 runtime improvements, better metadata
240
00:08:55,180 --> 00:08:58,620
caching, deferred control loading, reduce chatty calls.
241
00:08:58,620 --> 00:09:00,900
Dataverse gains more because it cooperates.
242
00:09:00,900 --> 00:09:04,740
One intent, one efficient plan, one clean payload.
243
00:09:04,740 --> 00:09:06,860
Screens render predictably because the server sends
244
00:09:06,860 --> 00:09:09,700
exactly what the UI needs, not a haystack for the client
245
00:09:09,700 --> 00:09:10,460
to come.
246
00:09:10,460 --> 00:09:12,380
Delegation coverage is the headline act.
247
00:09:12,380 --> 00:09:14,660
The thing most people miss is that dataverse wasn't
248
00:09:14,660 --> 00:09:16,260
retrofitted for delegation.
249
00:09:16,260 --> 00:09:17,380
It was designed that way.
250
00:09:17,380 --> 00:09:20,020
Multi-column filters, relationship traversals, sorted
251
00:09:20,020 --> 00:09:22,460
results sets, distinks, even aggregations,
252
00:09:22,460 --> 00:09:23,300
delegable.
253
00:09:23,300 --> 00:09:25,860
You describe the slice the platform cuts its server side.
254
00:09:25,860 --> 00:09:27,660
That's why the 2000 record setting stops
255
00:09:27,660 --> 00:09:28,740
mattering.
256
00:09:28,740 --> 00:09:30,420
You're no longer appearing through a keyhole.
257
00:09:30,420 --> 00:09:33,260
You're looking at the full data set with a proper lens.
258
00:09:33,260 --> 00:09:36,260
And if you remember, nothing else, dataverse turns maybe
259
00:09:36,260 --> 00:09:38,620
delegable into yes by default.
260
00:09:38,620 --> 00:09:41,260
Let me show you exactly how relationships change the game.
261
00:09:41,260 --> 00:09:43,820
In Dataverse, tables relate via defined lookups
262
00:09:43,820 --> 00:09:47,020
with referential integrity, query across account orders,
263
00:09:47,020 --> 00:09:48,380
order lines, normal.
264
00:09:48,380 --> 00:09:50,740
Security across those joins included.
265
00:09:50,740 --> 00:09:53,300
In SharePoint, that's duct tape and non-delagable chains.
266
00:09:53,300 --> 00:09:55,020
In Dataverse, it's the plan.
267
00:09:55,020 --> 00:09:57,580
You get consistent response times because the engine knows
268
00:09:57,580 --> 00:10:00,060
how to optimize across normalized structures.
269
00:10:00,060 --> 00:10:02,980
You also stop duplicating columns just in case, which
270
00:10:02,980 --> 00:10:05,660
is where SharePoint apps quietly go to die.
271
00:10:05,660 --> 00:10:07,860
Security is where Dataverse stops being premium
272
00:10:07,860 --> 00:10:09,780
and becomes non-negotiable.
273
00:10:09,780 --> 00:10:12,140
Row level, field level, and business unit
274
00:10:12,140 --> 00:10:13,900
scoping run in the data engine.
275
00:10:13,900 --> 00:10:15,580
These privilege isn't a suggestion.
276
00:10:15,580 --> 00:10:18,220
It's enforceable without wrecking performance.
277
00:10:18,220 --> 00:10:20,940
Auditing is built in so you can answer who viewed or changed
278
00:10:20,940 --> 00:10:23,140
what without bolting on spreadsheets and prayers.
279
00:10:23,140 --> 00:10:25,980
And yes, it rides on enter ID, TLS, and transit encryption
280
00:10:25,980 --> 00:10:28,180
address, the enterprise basics you'd expect.
281
00:10:28,180 --> 00:10:31,620
SharePoint's item level security tries, Dataverse governs.
282
00:10:31,620 --> 00:10:34,340
Integration is not a bullet point, it's the runway.
283
00:10:34,340 --> 00:10:37,140
Dataverse is the hub for power platform, power BI,
284
00:10:37,140 --> 00:10:38,780
and AI workloads.
285
00:10:38,780 --> 00:10:39,900
Want analytics?
286
00:10:39,900 --> 00:10:41,580
Directly query or export to DataLake,
287
00:10:41,580 --> 00:10:42,980
no CSV gymnastics.
288
00:10:42,980 --> 00:10:44,700
Want AI or automation?
289
00:10:44,700 --> 00:10:47,100
You're already sitting on a structured govern store.
290
00:10:47,100 --> 00:10:49,100
And when you need external data virtualization,
291
00:10:49,100 --> 00:10:51,260
lets you project sources like PostgreSQL
292
00:10:51,260 --> 00:10:53,540
into Dataverse without copying every byte.
293
00:10:53,540 --> 00:10:56,620
You build one model, one app, one security story,
294
00:10:56,620 --> 00:10:59,140
minus the mass duplication that turns governance
295
00:10:59,140 --> 00:10:59,980
into folklore.
296
00:10:59,980 --> 00:11:01,580
Offline and mobile, this is where
297
00:11:01,580 --> 00:11:03,380
the delegation and sync meet.
298
00:11:03,380 --> 00:11:04,740
Because Dataverse query is delegate,
299
00:11:04,740 --> 00:11:07,180
you can define, compact, userscope data sets
300
00:11:07,180 --> 00:11:08,420
and actually sync them.
301
00:11:08,420 --> 00:11:10,620
The client isn't pretending to be a database,
302
00:11:10,620 --> 00:11:12,380
it's holding a curated cache.
303
00:11:12,380 --> 00:11:15,020
That's why grids feel responsive on weak connections
304
00:11:15,020 --> 00:11:17,660
and why updates reconcile rather than collide.
305
00:11:17,660 --> 00:11:21,060
SharePoint's offline story is, try not to breathe on it.
306
00:11:21,060 --> 00:11:22,860
One more signal you should not ignore.
307
00:11:22,860 --> 00:11:25,660
Microsoft's modern workloads are moving to Dataverse.
308
00:11:25,660 --> 00:11:27,020
Planner premium built on Dataverse
309
00:11:27,020 --> 00:11:29,420
wasn't a cute experiment, it's a declaration.
310
00:11:29,420 --> 00:11:31,540
When the vendor builds its own data heavy services
311
00:11:31,540 --> 00:11:34,220
on a platform, they're telling you where the road is paved.
312
00:11:34,220 --> 00:11:36,180
Common mistake to avoid treating Dataverse
313
00:11:36,180 --> 00:11:38,420
like SharePoint but expensive.
314
00:11:38,420 --> 00:11:39,740
You don't buy it to store rows.
315
00:11:39,740 --> 00:11:42,620
You buy it to execute intended scale, secure data correctly
316
00:11:42,620 --> 00:11:44,140
and integrate without heroics.
317
00:11:44,140 --> 00:11:45,260
That's the ROI.
318
00:11:45,260 --> 00:11:47,820
Fewer workarounds, fewer throttling meltdowns,
319
00:11:47,820 --> 00:11:49,820
fewer blue banner debates in standups.
320
00:11:49,820 --> 00:11:51,020
So yes, Dataverse costs.
321
00:11:51,020 --> 00:11:54,300
And yet, compared to weeks of power-automate crutches,
322
00:11:54,300 --> 00:11:56,300
denomalized hacks and governance nightmares,
323
00:11:56,300 --> 00:11:57,460
is the cheaper choice.
324
00:11:57,460 --> 00:11:59,620
The efficient choice, the adult choice,
325
00:11:59,620 --> 00:12:02,100
the cost reality, licensing, hidden workarounds
326
00:12:02,100 --> 00:12:03,700
and total cost of ownership.
327
00:12:03,700 --> 00:12:05,500
Let's talk money without the glitter.
328
00:12:05,500 --> 00:12:07,540
SharePoint looks free because it's bundled
329
00:12:07,540 --> 00:12:09,380
with Microsoft 365.
330
00:12:09,380 --> 00:12:10,820
Dataverse is premium.
331
00:12:10,820 --> 00:12:13,380
The average user stops there and congratulates themselves
332
00:12:13,380 --> 00:12:15,300
on frugality, fascinating.
333
00:12:15,300 --> 00:12:17,340
Now let's add the parts they never cost it.
334
00:12:17,340 --> 00:12:20,740
Workarounds, reliability losses, security compensations
335
00:12:20,740 --> 00:12:22,100
and migration rework.
336
00:12:22,100 --> 00:12:22,940
The truth?
337
00:12:22,940 --> 00:12:24,860
Free becomes your most expensive line item.
338
00:12:24,860 --> 00:12:25,740
Licensing first.
339
00:12:25,740 --> 00:12:28,580
Yes, Dataverse requires premium licensing and storage.
340
00:12:28,580 --> 00:12:30,620
You pay predictable, budgetable dollars
341
00:12:30,620 --> 00:12:33,900
for a platform that delegates scales and secures correctly.
342
00:12:33,900 --> 00:12:36,180
With SharePoint, you pay in people hours.
343
00:12:36,180 --> 00:12:37,940
Days building power, automate crutches
344
00:12:37,940 --> 00:12:39,700
to replace missing relationships,
345
00:12:39,700 --> 00:12:42,100
hours debugging, non-delagable formulas,
346
00:12:42,100 --> 00:12:43,820
nights rerunning, failed flows,
347
00:12:43,820 --> 00:12:45,340
weekends explaining to auditors
348
00:12:45,340 --> 00:12:48,100
why you can't produce field-level access logs.
349
00:12:48,100 --> 00:12:48,940
Those aren't features.
350
00:12:48,940 --> 00:12:51,900
Their payroll burning, hidden SharePoint costs are everywhere.
351
00:12:51,900 --> 00:12:53,460
Denomalization to dodge lookups.
352
00:12:53,460 --> 00:12:55,660
Now you maintain duplicate values across lists
353
00:12:55,660 --> 00:12:58,180
and pray someone remembers to keep them in sync.
354
00:12:58,180 --> 00:13:00,260
Calculated columns to fake rollups?
355
00:13:00,260 --> 00:13:02,540
Welcome to recalculation delays and brittle logic
356
00:13:02,540 --> 00:13:04,900
that explodes when the list crosses thresholds.
357
00:13:04,900 --> 00:13:06,580
Power automated to simulate joins.
358
00:13:06,580 --> 00:13:08,340
That's a pipeline of async band aids,
359
00:13:08,340 --> 00:13:10,300
throttling, retries, partial failures
360
00:13:10,300 --> 00:13:11,780
and reconciliation scripts.
361
00:13:11,780 --> 00:13:13,940
Each new workaround increases complexity,
362
00:13:13,940 --> 00:13:16,340
fragility and the blast radius of small changes.
363
00:13:16,340 --> 00:13:17,900
Reliability is its own ledger.
364
00:13:17,900 --> 00:13:21,300
Delegation warnings don't just slow you down, they make you wrong.
365
00:13:21,300 --> 00:13:23,500
Undercounted records, missed matches
366
00:13:23,500 --> 00:13:26,500
and views that silently exclude data are not performance issues,
367
00:13:26,500 --> 00:13:27,820
they're integrity failures.
368
00:13:27,820 --> 00:13:29,340
Users learn the app can't be trusted
369
00:13:29,340 --> 00:13:30,740
and defect to spreadsheets.
370
00:13:30,740 --> 00:13:33,500
Meanwhile, you're paying for triage meetings, quick fixes
371
00:13:33,500 --> 00:13:35,620
that add even more non-delagable logic
372
00:13:35,620 --> 00:13:38,460
and the reputational tax of shipping tools that lie.
373
00:13:38,460 --> 00:13:40,420
Security governance has a price tag too.
374
00:13:40,420 --> 00:13:41,900
SharePoint's item-level permissions
375
00:13:41,900 --> 00:13:43,260
look cheap until you scale.
376
00:13:43,260 --> 00:13:45,260
Evaluation per item drags performance,
377
00:13:45,260 --> 00:13:48,980
unique permissions multiply and reporting becomes archaeology.
378
00:13:48,980 --> 00:13:51,380
To reach parity with data versus built-in auditing
379
00:13:51,380 --> 00:13:52,460
and role models,
380
00:13:52,460 --> 00:13:54,100
you assemble logs, manual reviews
381
00:13:54,100 --> 00:13:56,020
and after the fact detective controls.
382
00:13:56,020 --> 00:13:58,660
In data verse, row and field level security, auditing
383
00:13:58,660 --> 00:14:00,220
and business units are native,
384
00:14:00,220 --> 00:14:01,820
aligned with least privilege,
385
00:14:01,820 --> 00:14:04,300
enforced in the query plan and measurable.
386
00:14:04,300 --> 00:14:07,540
That alignment saves both hours and incidents.
387
00:14:07,540 --> 00:14:11,380
Risk-adjusted math is where the free fallacy collapses.
388
00:14:11,380 --> 00:14:13,900
Count the cost of throttled flows causing stale data,
389
00:14:13,900 --> 00:14:15,940
blue banner bugs producing wrong decisions
390
00:14:15,940 --> 00:14:18,700
and slow screens that waste minutes per user per day.
391
00:14:18,700 --> 00:14:20,660
Multiply by head count and months,
392
00:14:20,660 --> 00:14:23,180
add one compliance event or an app abandonment cycle
393
00:14:23,180 --> 00:14:24,340
that triggers a rewrite.
394
00:14:24,340 --> 00:14:26,340
That total dwarfs the premium license
395
00:14:26,340 --> 00:14:28,820
and yes, the 2025 platform optimizations
396
00:14:28,820 --> 00:14:30,420
better caching fewer chatty calls,
397
00:14:30,420 --> 00:14:31,660
improve everyone's baseline
398
00:14:31,660 --> 00:14:33,340
but data verse converts those gains
399
00:14:33,340 --> 00:14:35,060
into sustained throughput,
400
00:14:35,060 --> 00:14:37,260
while SharePoint still funnels complex logic
401
00:14:37,260 --> 00:14:38,700
into the client.
402
00:14:38,700 --> 00:14:40,620
Budget framing for IT leaders is simple.
403
00:14:40,620 --> 00:14:42,540
Premium spend by scale, governance
404
00:14:42,540 --> 00:14:44,580
and fewer engineering fire drills.
405
00:14:44,580 --> 00:14:46,140
It buys delegable queries,
406
00:14:46,140 --> 00:14:48,460
so your dev stop playing formula Wacomoll.
407
00:14:48,460 --> 00:14:50,580
It buys auditing that satisfies auditors
408
00:14:50,580 --> 00:14:52,060
without a scavenger hunt.
409
00:14:52,060 --> 00:14:54,020
It buys security that performs
410
00:14:54,020 --> 00:14:56,420
and a model that integrates with Power BI and AI
411
00:14:56,420 --> 00:14:58,940
without exporting CSVs like it's 2009.
412
00:14:58,940 --> 00:15:00,860
Essentially, you're trading capricious maintenance
413
00:15:00,860 --> 00:15:02,260
for predictable operations.
414
00:15:02,260 --> 00:15:04,220
Migration effort belongs in the ROI too.
415
00:15:04,220 --> 00:15:06,820
Moving a data centric app from SharePoint to Dataverse,
416
00:15:06,820 --> 00:15:09,140
schema mapping, relationships, roles, data loads,
417
00:15:09,140 --> 00:15:11,060
refactoring flows and swapping connectors
418
00:15:11,060 --> 00:15:13,580
cost real time, but it's a one time project
419
00:15:13,580 --> 00:15:15,820
that retires a recurring tax.
420
00:15:15,820 --> 00:15:18,140
After migration, new features accrue faster
421
00:15:18,140 --> 00:15:19,860
because you're building on a platform designed
422
00:15:19,860 --> 00:15:22,100
for your use case, not battling thresholds
423
00:15:22,100 --> 00:15:23,540
and non-delicable landmines.
424
00:15:23,540 --> 00:15:25,540
If you remember nothing else, remember this.
425
00:15:25,540 --> 00:15:28,340
Dataverse is a line item, SharePoint workarounds
426
00:15:28,340 --> 00:15:29,460
are in a newety.
427
00:15:29,460 --> 00:15:31,780
One you approve once, the other you pay forever.
428
00:15:31,780 --> 00:15:34,020
Choose the expense that stops the bleeding.
429
00:15:34,020 --> 00:15:35,740
Decision framework, thresholds,
430
00:15:35,740 --> 00:15:37,460
red flags and migration paths.
431
00:15:37,460 --> 00:15:39,500
You want a line you can defend in a design review.
432
00:15:39,500 --> 00:15:40,380
Here it is.
433
00:15:40,380 --> 00:15:42,900
Choose Dataverse when any of the following are true.
434
00:15:42,900 --> 00:15:45,180
Your list will exceed 100,000 items.
435
00:15:45,180 --> 00:15:47,860
Users need compound filters or multicolumn search.
436
00:15:47,860 --> 00:15:49,940
You have more than one or two lookups per record.
437
00:15:49,940 --> 00:15:52,220
Offline is required or security must be granular
438
00:15:52,220 --> 00:15:54,460
at the row or field level with auditing.
439
00:15:54,460 --> 00:15:57,460
Cross any one threshold and SharePoint stops being included
440
00:15:57,460 --> 00:15:59,180
and starts being expensive.
441
00:15:59,180 --> 00:16:00,900
Now the red flags that predict collapse
442
00:16:00,900 --> 00:16:02,980
before you write a single formula.
443
00:16:02,980 --> 00:16:05,980
Persistent blue delegation banners anywhere in core user flows.
444
00:16:05,980 --> 00:16:08,140
Repeated use of non-delagable functions.
445
00:16:08,140 --> 00:16:10,580
Search across multiple fields, group by,
446
00:16:10,580 --> 00:16:13,940
distinct, chain lookup, filter with or across columns.
447
00:16:13,940 --> 00:16:16,860
Lists with item level permissions applied broadly.
448
00:16:16,860 --> 00:16:18,660
Views that intermittently time out
449
00:16:18,660 --> 00:16:21,220
or refuse to sort unless perfectly indexed.
450
00:16:21,220 --> 00:16:24,460
Threatening or cannot complete this operation messages
451
00:16:24,460 --> 00:16:26,420
near the 5,000 item mark.
452
00:16:26,420 --> 00:16:28,940
If you see two or more red flags during prototyping,
453
00:16:28,940 --> 00:16:30,900
you're already in rewrite territory.
454
00:16:30,900 --> 00:16:33,060
Governance triggers are straightforward.
455
00:16:33,060 --> 00:16:35,900
Do you need auditing that answers who saw or changed what?
456
00:16:35,900 --> 00:16:37,420
Do you need least privilege access
457
00:16:37,420 --> 00:16:39,540
by business unit, role and field?
458
00:16:39,540 --> 00:16:41,500
Do you have segregation of duties constraints
459
00:16:41,500 --> 00:16:42,740
or regulated data classes?
460
00:16:42,740 --> 00:16:44,060
Those are dataverse native.
461
00:16:44,060 --> 00:16:46,540
Trying to bolt them onto SharePoint guarantees performance
462
00:16:46,540 --> 00:16:48,100
drag and compliance busy work.
463
00:16:48,100 --> 00:16:50,340
Performance triggers are the user facing tells.
464
00:16:50,340 --> 00:16:53,460
First screen code starts exceeds three seconds on Wi-Fi.
465
00:16:53,460 --> 00:16:55,700
Gallery interaction stutter when filters stack.
466
00:16:55,700 --> 00:16:58,300
Search latency varies wildly across users.
467
00:16:58,300 --> 00:17:01,500
View operations fail unless you micromanage indexes weekly.
468
00:17:01,500 --> 00:17:04,380
The truth, you've offloaded data work to the client.
469
00:17:04,380 --> 00:17:06,740
Dataverse fixes that by executing intent
470
00:17:06,740 --> 00:17:07,860
where the data lives.
471
00:17:07,860 --> 00:17:09,580
Decision path succinct.
472
00:17:09,580 --> 00:17:12,620
If the app is simple, flat and disposable,
473
00:17:12,620 --> 00:17:15,620
think small trackers, light task boards, contact lists,
474
00:17:15,620 --> 00:17:18,620
keep it on SharePoint and enforce strict patterns.
475
00:17:18,620 --> 00:17:21,940
Indexed filters, single field search, minimal lookups,
476
00:17:21,940 --> 00:17:23,740
no item level security.
477
00:17:23,740 --> 00:17:25,540
Everything else, especially data centric apps
478
00:17:25,540 --> 00:17:28,300
with life cycles, moves to dataverse proactively,
479
00:17:28,300 --> 00:17:31,140
don't wait for the blue banner to become a help desk legend.
480
00:17:31,140 --> 00:17:32,860
Migration isn't mystical, it's methodical.
481
00:17:32,860 --> 00:17:34,060
Start with schema mapping.
482
00:17:34,060 --> 00:17:36,020
Identify lists, columns and lookups,
483
00:17:36,020 --> 00:17:37,780
then normalize into dataverse tables
484
00:17:37,780 --> 00:17:39,340
with relationships you actually want.
485
00:17:39,340 --> 00:17:41,300
Define primary keys and alternate keys
486
00:17:41,300 --> 00:17:44,180
where you previously faked uniqueness with text columns.
487
00:17:44,180 --> 00:17:46,460
Next, design security roles and business units
488
00:17:46,460 --> 00:17:49,460
to match how access should work, not how it evolved.
489
00:17:49,460 --> 00:17:52,740
Translate item level hacks into proper row and field permissions.
490
00:17:52,740 --> 00:17:54,100
Data load comes next.
491
00:17:54,100 --> 00:17:57,260
Export clean, de-duplicated data from SharePoint.
492
00:17:57,260 --> 00:17:59,300
Load parent tables first, then children,
493
00:17:59,300 --> 00:18:02,860
respecting relationships, validate counts and spot check joints.
494
00:18:02,860 --> 00:18:05,660
While data moves, refactor power automate flows,
495
00:18:05,660 --> 00:18:08,700
replace list actions with dataverse triggers and actions,
496
00:18:08,700 --> 00:18:10,780
drop any compensating steps that existed
497
00:18:10,780 --> 00:18:12,260
only to work around missing joints
498
00:18:12,260 --> 00:18:14,260
and consolidate error handling.
499
00:18:14,260 --> 00:18:16,580
In the app, swap connectors, rewrite
500
00:18:16,580 --> 00:18:19,180
non-delegable formulas into delegate queries
501
00:18:19,180 --> 00:18:22,020
and remove calculated column crutches you no longer need,
502
00:18:22,020 --> 00:18:24,140
where you previously copied text to denormalize,
503
00:18:24,140 --> 00:18:25,860
use relationships and views.
504
00:18:25,860 --> 00:18:27,780
Then test for delegation at every screen.
505
00:18:27,780 --> 00:18:29,740
No blue banners allowed if you see one,
506
00:18:29,740 --> 00:18:32,180
change the formula or adjust the data model.
507
00:18:32,180 --> 00:18:34,260
Don't ship, mostly, delegateable.
508
00:18:34,260 --> 00:18:35,820
That's just sometimes wrong.
509
00:18:35,820 --> 00:18:38,340
Risk controls during migration keep your weekends quiet,
510
00:18:38,340 --> 00:18:41,340
segment environments, dev, test, prod.
511
00:18:41,340 --> 00:18:44,420
So data and security can be validated without surprises.
512
00:18:44,420 --> 00:18:47,940
Run a face cut over, pilot a user group on the dataverse version
513
00:18:47,940 --> 00:18:50,980
while SharePoint remains read only as the interim source
514
00:18:50,980 --> 00:18:53,820
of truth, then flip one's parity is proven.
515
00:18:53,820 --> 00:18:56,620
Monitor with telemetry, track load times query counts
516
00:18:56,620 --> 00:18:58,180
and delegation status.
517
00:18:58,180 --> 00:19:01,260
Establish rollback only for catastrophic issues.
518
00:19:01,260 --> 00:19:03,380
Otherwise, fix forward.
519
00:19:03,380 --> 00:19:05,060
On the platform built to scale,
520
00:19:05,060 --> 00:19:06,940
a final threshold many miss if you're
521
00:19:06,940 --> 00:19:08,900
authoring flows to pre-compute rollups
522
00:19:08,900 --> 00:19:11,780
joining lists with power automate or exporting to CSV
523
00:19:11,780 --> 00:19:12,740
for analytics.
524
00:19:12,740 --> 00:19:15,780
You've already paid more in workarounds than a premium license.
525
00:19:15,780 --> 00:19:19,380
The adult move is to stop paying that annuity and migrate.
526
00:19:19,380 --> 00:19:20,180
Key takeaway.
527
00:19:20,180 --> 00:19:22,260
SharePoint lists are content shelves.
528
00:19:22,260 --> 00:19:24,460
Dataverse is a data engine that delegates,
529
00:19:24,460 --> 00:19:25,740
secures and scales.
530
00:19:25,740 --> 00:19:28,220
Use the right tool once your app needs relationships,
531
00:19:28,220 --> 00:19:30,500
complex filters or honest counts.
532
00:19:30,500 --> 00:19:32,660
Adopt the thresholds and red flags you heard,
533
00:19:32,660 --> 00:19:35,300
audit your apps this week, and escalate migrations
534
00:19:35,300 --> 00:19:36,980
before users feel the spinner tags.
535
00:19:36,980 --> 00:19:38,660
If you want the schema mapping walkthrough
536
00:19:38,660 --> 00:19:42,020
and a delegation deep dive, subscribe and turn on notifications.
537
00:19:42,020 --> 00:19:43,620
Choose structure over entropy.
538
00:19:43,620 --> 00:19:47,220
Move the data to dataverse and stop arguing with blue banners.