Hi, Readers.
The other day I was asked, what is the maximum number of characters in a text or code field for Business Central, and where to find this information.

So in this post, I would like to summarize some information about Object Specifications, Object Limitations, and Operational Limits for Business Central Online.
The following is extracted from Microsoft Docs (2021/08/27):
Object Specifications and Limitations
Specifications for the Database:
The following characteristics are based on maximum capacity specifications for SQL Server 2017. Please visit the link below to see specifications for previous versions of SQL Server.
Feature | Characteristic |
---|---|
Maximum number of physical disk files | 32,767 |
Database file size | 524,272 terabytes |
Maximum number of objects in a database | 2,147,483,647 |
Maximum number of characters in application object names | 30 |
Maximum number of characters in a Database Authentication password | 80 |
Specifications for Tables:
The following characteristics are based on maximum capacity specifications for SQL Server 2017. Please visit the link below to see specifications for previous versions of SQL Server.
Feature | Characteristic |
---|---|
Range for table object ID numbers | 1 – 999,999,999 1 |
Maximum number of characters in a table name | 30 |
Maximum table size | Depends on available storage |
Maximum number of records in a table | Depends on available storage |
Maximum record size | 8060 bytes2 |
Maximum number of fields in a record | 500 |
Range for field numbers | 1 – 999,999,999 |
Maximum number of keys for a table | 40 |
Maximum size of a Business Central key | 900 bytes |
Maximum number of distinct fields per key | 16 |
Maximum size of an (non-key) index | 1700 bytes |
Maximum number of SumIndexFields per key | 20 |
Maximum number of characters in a text or code field | 2048 |
Maximum size of a BLOB field | 2 GB |
Maximum number of characters in a field name | 30 |
Specifications for Pages and Reports:
Feature | Characteristic |
---|---|
Range for page or report object ID numbers | 1 – 999,999,999 1 |
Maximum number of characters in a caption | 1024 |
Maximum bitmap size in bitmap property | 32500 bytes |
Specifications for Codeunits:
Feature | Characteristic |
---|---|
Range for table object ID numbers | 1 – 999,999,999 1 |
Maximum number of characters in variable names | 30 |
Maximum number of dimensions in array variables | 10 |
Maximum number of elements in an array variable | 1,000,000 |
Maximum physical size of a codeunit | 2 GB |
Lower bound of index in an array | 1 |
Specifications for variables:
Feature | Characteristic |
---|---|
Maximum number of characters in text variables | 20483 |
Maximum number of characters in code variables | 2048 |
Specifications for text constants:
Feature | Characteristic |
---|---|
Maximum number of characters | 2048 |
Note:
1. All application objects are identified by an ID number. There are restrictions, however, on the numbers you can use when you create your own application objects. Review your Partner License Agreement for more information.
2. Each variable-length text field accounts for 26 bytes in the record.
3. If no length is specified for text variables, the length is unlimited.
Operational Limits
To ensure the availability and quality of Business Central services, there are limits on certain operations. This article describes the limits and, in some cases, the strategy behind them.
Client connection limits:
Setting | Description | Limit |
---|---|---|
Reconnect period | The time during which a client can reconnect to the service after being disconnected. | 10 minutes |
Data handling limits:
Setting | Description | Limit |
---|---|---|
Max items in object graph | The maximum number of objects to serialize or deserialize. | 10,000 |
Max file size | The maximum size of files that can be uploaded to or downloaded from the service. | 350 MB |
Maximum stream read size | The maximum number of bytes that can be read from a stream (InStream object) in a single AL read operation. Examples include READ or InStream.READTEXT method calls. This setting pertains to UTF-8 and UTF-16 text encoding; not MS-DOS encoding. | 1,000,000 bytes |
Database limits:
Setting | Description | Value |
---|---|---|
Search timeout | The time (in seconds) that a search operation on lists in the client continues before it’s stopped. When the limit is reached, the following message displays in the client: Searching for rows is taking too long. Try to search or filter using different criteria. | 10 seconds |
SQL command timeout | The contextual time-out for a SQL command. | 30 minutes |
SQL connection idle timeout | The time that a SQL connection can remain idle before being closed. | 5 minutes |
SQL connection timeout | The time to wait for the service to connect to the database. When the time is exceeded, the attempt is canceled and an error occurs. This setting also applies to begin, rollback, and commit of transactions. | 1.5 minutes |
Long running SQL query threshold | The amount of time that an SQL query can run before a warning telemetry event occurs. If this threshold is exceeded, the following event is logged: Action completed successfully, but it took longer than the given threshold. | 1000 ms |
Asynchronous task limits:
Setting | Description | Limit |
---|---|---|
ChildSessionsMaxConcurrency | The maximum number of child sessions that can run concurrently per parent session. When the value is exceeded, additional child sessions will be queued and run when a slot becomes available as other child sessions are finished. | 5 |
ChildSessionsMaxQueueLength | The maximum number of child sessions that can be queued per parent session. If the value is exceeded, an error occurs. | 100 |
Maximum concurrent running scheduled tasks | The maximum number of tasks that can run simultaneously for an environment. If there are many jobs running at the same time, you might experience that the response time for clients gets slower. If the value is too low, it might take longer for scheduled tasks to process. | 3 |
MaximumSessionRecursionDepth | The maximum number of nested sessions that can be created before reaching infinite recursion. If the limit is exceeded, a runtime error occurs with the message: Excessive recursive session creation detected, original session ID: [id], current session ID: [id]. | 14 |
Page background task default timeout | The default amount of time that page background tasks can run before being canceled. Page background tasks can be also given a timeout value when enqueued at runtime. This limit is used when no timeout is provided when the page background task is enqueued. | 2 minutes |
Page background task max timeout | The maximum amount of time that page background tasks can run before being canceled. Page background tasks can be also given a timeout value when enqueued at runtime. If a page background task is enqueued with a timeout greater than this limit, this limit is ignored. | 10 minutes |
Report limits:
Setting | Description | Limit |
---|---|---|
Default max documents | The maximum number of documents that can be merged in a report using a Word layout. Users can override this setting on a report-basis from the report request page. If exceeded, the report will be canceled. Developers can override this setting by using MaximumDocumentCount property of a report. Client users can do the same when running a report from the report request page | 200 |
Max documents | The maximum number of documents that can be merged in a report using a Word layout. If exceeded, the report will be canceled. | 500 |
Default max execution timeout | The maximum execution time that it can take to generate a report by default. Users can override this setting on a report-basis from the report request page. If exceeded, the report will be canceled. Developers can override this setting by using the ExecutionTimeout property of a report. Client users can do the same when running a report from the report request page. | 6 hours |
Max execution timeout | The maximum execution time that it can take to generate a report. If exceeded, the report will be canceled. | 12 hours |
Default max rows | The maximum number of rows that can be processed in a report by default. Users can override this setting on a report-basis from the report request page. If exceeded, the report will be canceled. Developers can override this setting by using the MaximumDataSetSize property of a report. Client users can do the same when running a report from the report request page. | 500,000 |
Max rows | The maximum number of rows that can be processed in a report. If exceeded, the report will be canceled by the server. | 1,000,000 |
Query limits:
Setting | Description | Limit |
---|---|---|
Max execution timeout | The maximum execution time that it can take to generate a query. If exceeded, the query will be canceled. | 30 minutes |
Max rows | The maximum number of rows that can be processed in a query. If exceeded, the query will be canceled. | 1,000,000 |
OData request limits (per environment):
Setting | Description | Limit |
---|---|---|
Max concurrent requests | The maximum number of OData V4 requests the server instance can actively process at the same time. Requests that exceed the limit will wait in the queue until a time slot becomes available. | 5 |
Max connections | The maximum number of simultaneous OData requests on the server instance, including concurrent and queued requests. When the limit is exceeded, a 429 (Too Many Requests) error occurs. | 100 |
Max page size | The maximum number of entities returned per page of OData results. | 20,000 entities per page |
Max batch size | The maximum number of operations in a batch call. | 100 operations per batch |
Max request queue size | The maximum number of pending OData V4 requests waiting to be processed. When the limit is exceeded, a 429 (Too Many Requests) error occurs. | 95 |
Rate | The number of OData requests per minute that are allowed. An HTTP response code 429 - Too Many Requests is returned if limits are exceeded. | Sandbox: 300 requests/minute Production – 600 requests/minute |
Operation timeout | The maximum amount of time that the service gives a single OData request. When the limit is exceeded, an HTTP response code 408 - Request Timeout is returned.After 8 minutes, the session is canceled. | 8 minutes |
SOAP request limits (per environment):
Setting | Description | Limit |
---|---|---|
Max concurrent requests | The maximum number of SOAP requests the server instance can actively process at the same time. Requests that exceed the limit will wait in the queue until a time slot becomes available. | 5 |
Max connections | The maximum number of simultaneous SOAP requests on the server instance, including concurrent and queued requests. When the limit is exceeded, a 429 (Too Many Requests) error occurs. | 100 |
Max message size | The maximum permitted size of a SOAP web service requests | 65,536 KB |
Max request queue size | The maximum number of pending SOAP requests waiting to be processed. When the limit is exceeded, a 429 (Too Many Requests) error occurs. | 95 |
Rate | Specifies how many SOAP requests per minute are allowed. An HTTP response code 429 - Too Many Requests is returned if limits are exceeded. | Sandbox: 300 requests/minute Production: 600 requests/minute |
Operation timeout | The maximum amount of time that the service gives to a single SOAP request. When the limit is exceeded, HTTP response code 408 - Request Timeout is returned. | 8 minutes |
Databases are protected by automatic backups that are kept for 28 days. The backup includes data from any production and sandbox environments that the database contains. Administrators of a Business Central tenant can’t directly access or manage these backups because they’re managed automatically by Microsoft. But admins can restore their environments to a specific point in time in the past using the Business Central admin center. For more information, see Restoring an environment and Automated backups – Azure SQL Database.
Each environment is limited to 10 exports per month. This environment has 10 exports remaining for this month.

Each environment is limited to 10 restores per month. This environment has 10 restores remaining for this month.

Every Business Central customer with Business Central Premium or Essential subscriptions can use one production environment and three sandbox environments, at no extra charge.
Customers can also choose to purchase any number of additional production environments via their CSP partner. Each additionally purchased production environment comes with three additional sandbox environments.
Production and sandbox environments can be created and used in any country where Business Central service is available, also in the country where the default Business Central environments are located. Additional environments can be created by customers, administrators, and partners by using the Business Central administration center.

By default, Business Central customers can use up to 80 GB of database storage capacity across all their environments (production and sandbox). This limit means the sum of database capacity usage of all of their environments must not exceed 80 GB.
Apart from the default storage capacity, the customer is entitled to additional storage capacity based on the number of Business Central licenses they own:
License type | Additional storage (per each license) |
---|---|
Premium | 3 GB |
Essential | 2 GB |
Device | 1 GB |

Some businesses have unique scenarios that may require additional storage. For those organizations that need more space, there’s an option to purchase extra database capacity as an add-on to their existing Business Central subscriptions through their reselling CSP partner. Both 1-GB and 100-GB add-ons are available.
Every additional production environment purchased by the customer also increases tenant-wide database capacity quota by 4 GB.

Software Lifecycle Policy and Dynamics 365 Business Central On-Premises Updates
Modern Lifecycle Policy:
Dynamics 365 Business Central (on-premises) 2019 release wave 2 and later updates are covered by the Modern Lifecycle Policy. The Modern Lifecycle Policy offers support and servicing, including bug fixes, new features, and latest tax updates.
The customer is in full control of its on-premises deployments and must follow this policy. The customer is in control of installing updates in its on-premises environments. Microsoft will support the Dynamics 365 Business Central (on-premises) software as indicated on the Microsoft Lifecycle Policy for Business Central on-premises page, but only if the customer keeps the deployed software current according to this policy. By keeping current, you’re getting all the latest feature and bug fixes.
The following image illustrates the update schedule for Dynamics 365 Business Central.

Fixed Lifecycle Policy:
Dynamics 365 Business Central (on-premises) October’18 and April ’19 Update software is covered by the Fixed Lifecycle Policy.
Licensed customers must stay current with updates to the Dynamics 365 Business Central on-premises software in accordance with the following servicing and system requirements. This policy requires the customer to maintain an Enhancement Plan and deploy updates as noted later in this article.
Release | Version | Build number | Availability | Mainstream support ends |
---|---|---|---|---|
Dynamics 365 Business Central (on-premises) | October’18 Update (version 13.x) | 24630 | November 1, 2018 | ** |
Dynamics 365 Business Central (on-premises) | April ’19 Update (version 14.x) | 29537 | April 1, 2019 | October 10, 2023 |
** In order to obtain mainstream support after April 14, 2020, customers must update to the April 2019 release or a later update for the April 2019 version
Find more details from Microsoft Document:
Country/regional availability and supported languages
System Requirements for Dynamics 365 Business Central 2021 Release Wave 1
Object Specifications and Limitations
Operational Limits for Business Central Online
END
Hope this will help.
Thanks for reading.
ZHU
コメント