top of page


SQL Server record size: How many fields is too much?
The maximum size of a table row in SQL Server in limited to 8 KB, or to be more precise 8060 bytes, if we follow Microsoft online articles, such as Maximum Capacity Specifications for SQL Server - SQL Server | Microsoft Learn . This limit arises from the SQL Server data storage architecture: table rows are organized in 8-kilobyte pages, and a single row cannot exceed the size of the page, therefore 8KB is the maximum amount of storage space that can be allocated for a single
Dec 23, 2025


Garbage collection of event subscribers
I once wrote a post on event subscribers and the presumed performance benefits of single instance subscriber codeunits, but the topic keeps reappearing every now and then, and I feel it could be a good idea to add a few more arguments to the same old debate. Because why not run a few useless, but highly entertaining tests on a Saturday evening. One statement in defense of the single instance event subscribers is that the subscriber codeunit does not have to be disposed after
Apr 12, 2025


Recursive AL
Recently I heard an opinion shared by some AL developers that recursion in AL can be dangerous and should be avoided because the AL...
Apr 5, 2025


Buffered inserts and deadlocks
Recently I was debugging a very interesting deadlock case which I want to share in a blog post now. It was especially curious because, as...
Feb 22, 2025


Table indexes and inserts
Following my series of posts where I have been addressing various aspects of table indexing, this post delves into the same old argument...
Dec 21, 2024


Temporary tables in procedure parameters
When we declare multiple instances of a record variable referencing the same table in AL code, we essentially receive different instances...
Nov 24, 2024


Hidden SQL queries in AL you (probably) want to avoid
Development of Business Central extensions is very much about the database communication, and as AL developers, we always control the...
Oct 28, 2024


if not IsEmpty then FindSet... again
Yes, I'm back again on this inexhaustible topic. The question of weather the call of IsEmpty before FindSet in AL can have a positive...
Oct 22, 2024


Covering indexes as an alternative to SIFT
In two of my previous blog posts I reviewed some pros and cons of the SumIndexField Technology (or SIFT) in Business Central. On the one...
Oct 20, 2024


SIFT
SIFT, which stands for Sum Index Flow Technology, used to be a know-how in the Navision database, a data structure that stored...
Aug 5, 2024


Navision legacy in AL: RecordLevelLocking
RecordLevelLocking function in AL is a heritage of the C/SIDE times and the Navision native database. In those old days when Navision...
Jun 30, 2024


Lock timeouts and deadlocks
A long time ago (in a galaxy far away) I published some blog posts with a deeper overview of the Business Central's ReadIsolation...
Jun 9, 2024


The case of a missing newline character. One almost detective story.
This almost detective story started when I was building a client app in Business Central which sent data to a JavaScript control add-in...
Jan 8, 2024
bottom of page