Configuring Business Central Server

Note

Azure Active Directory is now Microsoft Entra ID. Learn more

When you run Business Central Setup and install Business Central Server, you provide information that is then used as the configuration for the default Business Central Server instance. This information is stored in a configuration file for the server instance called CustomSetting.config. The default location of the CustomSettings.config file is C:\Program Files\Microsoft Dynamics 365 Business Central\NNN\Service.

After you install Business Central Server, you can change any of the settings, including other settings that weren't available to you in Setup.

Note

Each Business Central Server instance has its own CustomSettings.config file.

Configuring Business Central Server in Setup

You configure the default instance of Business Central Server by running Business Central Setup and selecting one of the following options:

  • Demo Option
  • Server Option
  • Developer Option
  • Customize > Server

After you specify an installation option or customize your component list, the Specify parameters pane is displayed in Setup. The list of parameters that you see depends on which components you've selected for configuration. Setup provides a short description for each parameter.

Configuring Business Central Server after installation

After you install Business Central Server, you can change the configuration settings in the CustomSettings.config file of a Business Central Server instance in the following ways:

Restarting Business Central Server after modifications

If you use the Business Central Server Administration tool or modify the CustomSettings.config file directly, you must restart the Business Central Server instance before any changes can take effect.

The Set-NAVServerConfiguration cmdlet doesn't always require restarting the server instance. It depends on the configuration setting that you change. There are several settings that are dynamically updatable. Dynamically updatable means that a server instance restart isn't necessarily required after modification. For more information, see Modifying dynamically updatable settings.

These settings are indicated by the text Dynamically Updatable: Yes in the tables that follow,

This section describes all the configuration settings for a Business Central Server instance. The settings are grouped according to the tabs under which they appear in the Business Central Server Administration tool.

  • The Setting column displays the name of the setting as it appears in the Business Central Server Administration tool.
  • The Key Name column displays the name of the setting as it appears in the CustomSettings.config file. It's also the name for the setting when you run the Set-NAVServerConfiguration cmdlet.

General settings

The following table describes fields on the General tab in the Business Central Server Administration tool.

Setting Key Name Description
AL Function Logging Threshold - Application Insights ALLongRunningFunctionTracingThresholdForApplicationInsights Specifies the amount of time (in milliseconds) that an AL function can run before a warning event is recorded in the partner's Application Insights resource trace log. If you don't want a threshold, set the value to -1.

To collect this telemetry data, the Application Insights Instrumentation Key setting must be configured. For information about analyzing this telemetry, see Analyzing Long Running AL Methods Telemetry.

Default: -1
Dynamically Updatable: Yes

APPLIES TO: Business Central 2020 release wave 2 (version 17.1) and later.
Application Insights Connection String ApplicationInsightsConnectionString Specifies the connection string of the Application Insights resource in Microsoft Azure to use for gathering and analyzing telemetry data emitted by the server instance. When this setting is configured, the server instance will send telemetry data to Application Insights for analysis and presentation.

This is the recommended setting instead of the Application Insights Instrumentation Key. If both settings are used, the Application Insights Connection String takes precedence.

This setting only applies to a server instance that is configured as a single-tenant instance. For a multitenant server instance, this setting is ignored, and the Application Insights resource is set on a per-tenant basis, when tenants are mounted.

For more information, see Enable Sending Telemetry to Application Insights.

Default: empty
Dynamically Updatable: No
Application Insights Instrumentation Key ApplicationInsightsInstrumentationKey Specifies the instrumentation key of the Microsoft Azure Application Insights resource to use for gathering and analyzing telemetry data emitted by the server instance. This setting can be used as an alternative to the Application Insights Connection String setting. It's ignored if the Application Insights Connection String is also specified.

This setting only applies to a server instance that is configured as a single-tenant instance. For a multitenant server instance, this setting is ignored, and the Application Insights resource is set on a per-tenant basis, when tenants are mounted.

For more information, see Enable Sending Telemetry to Application Insights.

Default: empty
Dynamically Updatable: No
Build Restriction ClientBuildRestriction Specifies what happens when a Business Central client tries to connect to the Business Central Server instance when the client is running a different build version of Business Central than the server instance.

Values:

AlwaysConnect

WarnClient
Before connecting the client to the server instance, a message appears that informs the user that the build versions for the client and server instance are different. The user can choose to continue or cancel the connection.

DoNotAllow
A message appears that informs the user that the client and server instance build versions are different. The client doesn't connect to the server instance.

Note: With the Business Central Web client and Business Central tablet client, this setting compares the build version of the Business Central Web Server on IIS with the Business Central Server instance. It controls the connection between Business Central Web Server and the server instance.

Default: WarnClient
Dynamically Updatable: No
Century Cutoff for 2-Digit Years CalendarTwoDigitYearMax Specifies the last year of the 100-year range for representing two-digit years. This setting determines how two-digit years in dates entered in the client are interpreted. For example, when the value is 2049, then two-digit years are interpreted as a year between 1950 and 2049. For example, if you were to enter 29, 49, or 50 for a year, it would be interpreted as either 2029, 2049, or 1950, respectively. If you wanted the year to be interpreted as 2050, you'd have to enter the four-digit year 2050.

Windows and Windows Server operating systems include a similar setting for 2-digit year entries. The CalendarTwoDigitYearMax setting of the Business Central Server instance overrides the Windows setting of the computer where the server instance is running. If you want to use the Windows setting of the computer, set CalendarTwoDigitYearMax to -1.

Default: -1
Dynamically Updatable: No
Certificate Thumbprint ServicesCertificateThumbprint If you use security certificates to protect communications between Business Central Server and client services or web services over an open or wide-area network, you must provide the certificate thumbprint to Business Central Server by updating this setting. For more information, see Using Security Certificates.

Default:
Dynamically Updatable: No
Compile and Load Business Application CompileBusinessApplicationAtStartup Specifies whether the server instance compiles business application assemblies and loads them to cache memory when it starts. The assemblies are then retrieved from memory when requested by a Business Central client.

This setting reduces the time it takes to load application objects the first time the client requests them after the server instance has started. However, it will also slightly increase the memory usage by the server instance.

When the server instance starts for the first time, it compiles the business application assemblies and loads them to the cache memory of the computer. The assemblies, along with metadata such object timestamp information, are also stored to a temporary folder on the computer's file system. When the server instance is restarted, it compares the assemblies stored in memory with corresponding objects in the connected database. An assembly will be reused if the following conditions are met:

- The connected database is the same as before, based on the databasemagic field in the property table.

- The object time stamp that is recorded on the compiled assembly matches the object timestamp in metadata of the connected database.

If the conditions aren't met for an assembly or an assembly for an object in the database isn't found in the memory, then a new assembly is built and stored for reuse to cache memory and the file system of the server instance compute for reuse.

If you disable this setting, individual assemblies will be compiled on-demand as application objects are requested by the Business Central client. The compiled assemblies won't be reused on later server instance restarts.

Notes:
  • This setting doesn't apply to query objects.
  • Assembly compilation happens asynchronously.
  • On average, all application objects will be loaded within the first few minutes that the server instance operates.

Default: Enabled
Dynamically Updatable: No
Credential Type ClientServicesCredentialType Specifies the authentication mechanism for Business Central users of the Business Central Server instance.

The options are Windows, Username, NavUserPassword, AccessControlService, and None. For more information, see Authentication and User Credential Types.

If you choose AccessControlService, you must specify a federation metadata location for use with Microsoft Entra ID. If you choose NavUserPassword and specify a token signing key, you can use both NavUserPassword and AccessControlService.

Notes:
  • None is for internal use on system sessions and typically shouldn't be used. If you choose None, then the Business Central Server instance can't start.
  • ExchangeIdentity and TaskScheduler are for internal use only, and shouldn't be used.

Default: Windows
Dynamically Updatable: No
Data Cache Size DataCacheSize The contextual size of the data cache. The value must be in the range 1-20.

Default: 9
Dynamically Updatable: Yes
Default Client DefaultClient Specifies the client type that is used to generate URLs when the client type is set to Default.

The options are Conversational, Windows, Web, SOAP, and OData.

Default: Conversational
Dynamically Updatable: No
Default Language DefaultLanguage Specifies which of the installed Business Central languages on the server instance will be used as the default language in the clients. Set the value to a valid language culture name, such en-US or da-DK.

In the web and tablet clients, this setting determines the language used if the browser's language setting doesn't match any installed language or a language in the Supported Languages setting. In the Business Central Windows client, this value is used if the language setting of the computer doesn't have a match.

If there are application-specific configuration settings, this setting will be overridden by the default language setting that is specified in application-specific configuration file. For more information, see Set-NAVServerAppConfiguration cmdlet.

Default: en-US
Dynamically Updatable: No
Default StartSession Timeout DefaultStartSessionTimeout Specifies the timeout for background sessions that are created by Session.StartSession method calls that don't set the timeout parameter. When the session exceeds the specified time it is canceled.

The value has the format HH:MM:SS.

Default: 08:00:00
Dynamically Updatable: Yes

APPLIES TO: Version 18.0. For version 19.0 and later, see Background Sessions - Default Timeout (BackgroundSessionsDefaultTimeout).
Diagnostic Trace Level TraceLevel Specifies the lowest severity level of custom telemetry events to be emitted and recorded in the event log for the Business Central Server instance. The events include system telemetry trace events and custom telemetry events. Telemetry events have IDs from 700-706.

The setting has the following values, which correspond to the event severity levels (listed from highest to lowest level): Critical, Error, Warning, Normal (this value corresponds to the Information level), Verbose, and Off.

You use this setting to filter out lower-level events from the log. For example, if you set this setting to Error, only Error and Critical events will be logged.

Set to Off if you don't want to record telemetry events. When set to Off, events aren't emitted.

Note: Telemetry trace events are recorded in the Business Central Server channel logs, which you can see in Event Viewer, under Applications and Services Logs > Microsoft > DynamicsNAV > Common > Admin.

Default: Normal
Dynamically Updatable: Yes
Diagnostic Trace Level for External Proxies ExternalTraceLevel Specifies the lowest severity level of telemetry events from external proxies that you want the Business Central Server instance to emit if an error related to the external system occurs on the server instance. This setting pertains to systems and components that Business Central integrates with, like Dynamics 365 Sales (CRM/Xrm).

The server instance listens for event traces from the external proxy. If an error occurs on the server instance, it will emit the last 10 telemetry trace events from the external proxy. The trace events can then be recorded in the Windows event log or picked up by other event trace collection tools.

The setting has the following values, which correspond to the event severity levels (listed from highest to lowest level): Critical, Error, Warning, Information, Verbose, and Off.

Events that have a lower severity level than the set value won't be emitted. For example, if you set this setting to Error, only Error and Critical events will be emitted. Set to Off if you don't want to emit any of these events.

Default: Error
Dynamically Updatable: Yes
Disable Token-Signing Certificate Validation DisableTokenSigningCertificateValidation Specifies whether to enable or disable the validation of the token-signing certificate used by Active Directory Federation Services (AD FS). If the check box is cleared (or the value set to false), the validation is enabled. If the check box is selected (or the value is set to true), then validation is disabled.

Disable token signing certificate validation when configuring Microsoft Entra authentication with single sign-on.

Default: Checkbox cleared; set to false.
Dynamically Updatable: No
Enable AL Function Timing ALFunctionTimingEnabled Specifies whether AL function timing is enabled. When enabled, data about AL extension performance will be collected and can be viewed in Application Insights and page inspection. For more information, see Analyzing Long Running AL Methods Telemetry and Inspecting and Troubleshooting Pages.

Default: Enabled
Dynamically Updatable: Yes

APPLIES TO: Business Central 2020 release wave 2 (version 17.1) and later.
Enable Certificate Validation ServicesCertificateValidationEnabled Specifies whether validation is done on the security certificate.

Default: Enabled
Dynamically Updatable: No
Enable Debugging EnableDebugging Specifies whether the Business Central Server instance starts with debugging enabled.

If this option is enabled, the following occurs:

When the client first connects, all C# files for the application are generated. C# files persist between Business Central Server restarts. Application objects are compiled with debug information.

Default: Not enabled
Dynamically Updatable: No
Enable Event Logging to Windows Application Log EnableApplicationChannelLog Specifies whether to record admin and operational type events in the Windows Application log. This setting will record errors, warnings, and information messages that occur on server instance. The events are stored on the computer that is running Business Central Server.

Because Business Central Server instance events are always logged to the Application and Services Logs, you can disable logging Business Central Server instance events in the Windows Application log and not lose any data. For more information, see Monitoring Business Central Server Events Using Event Viewer and Disable Logging Events to the Windows Application Log.

Important: If you 're using System Center Operations Manager to monitor Business Central Server instances, don't disable logging to the Windows Application log. If you do, monitoring won't work.

Default: Enabled
Dynamically Updatable: No
Enable File Access by AL Functions EnableALServerFileAccess Specifies whether AL functions of the file data type can access files on the Business Central Server computer.

Default: Enabled
Dynamically Updatable: No
Enable Full AL Function Tracing EnableFullALFunctionTracing Specifies whether full AL function tracing is enabled on Event Tracing for Windows (ETW) sessions.

When this setting is enabled, all AL function calls and statements are traced.

When this setting is disabled, only root AL function calls are traced. Statements and functions that are called from a function aren't traced.

For more information, see Monitoring Business Central Server Events .

Default: Not enabled
Dynamically Updatable: Yes
Enable Incremental Company Deletion UseIncrementalCompanyDelete Specifies whether to delete companies incrementally. If enabled, when you delete a company, the company record is deleted from the database immediately. But the company data that is stored in the SQL tables will be deleted later by a system task in task scheduler.

You can override this setting when using the Remove-NAVCompany cmdlet by setting the -ForceImmediateDataDeletion parameter.

Default: Not enabled
Dynamically Updatable: Yes
Enable Partial Records EnablePartialRecords Specifies whether records can be partially loaded with only some fields. Other fields are loaded as needed, or in other words, just-in-time loaded. For more information, see Using Partial Records.

Default: Enabled
Dynamically Updatable: No
AllowSessionWhileSyncAndDataUpgrade AllowSessionWhileSyncAndDataUpgrade Specifies whether new client sessions can be created while the tenant's state is OperationalWithSyncPending.

The OperationalWithSyncPending state occurs when changes have been made to application tables, but the changes haven't been synchronized with the tenant. In this state, unless you enable client sessions, clients trying to connect with will get an error message similar to: The tenant 'tenantID' is not accessible.

Default: Not enabled
Dynamically Updatable: Yes
Lockout Sign-In Attempts Count LockoutPolicyFailedAuthenticationCount Specifies the number of failed sign-in attempts on a user account (within the time window set by the Lockout Failed Sign-In Attempts Window setting) at which the user account is disabled.

Default: 0
Dynamically Updatable: No
Lockout Failed Sign-In Attempts Window LockoutPolicyFailedAuthenticationWindow Specifies time window, in seconds, during which consecutive failed authentication attempts are counted. This setting works in conjunction with the Account Lockout Max. Sign-In Attempts setting. When the number of failed sign-in attempts by a user hits the value of the Account Lockout Max. Sign-In Attempts setting within this time window, the user account is disabled.

Default: 0
Dynamically Updatable: No
Max Concurrent Calls MaxConcurrentCalls The maximum number of concurrent client calls that can be active on this server instance.

Range: 1 - 2,147,483,647

You can also use MaxValue as a value to indicate no limit.

Default: 40
Dynamically Updatable: No
Max Data Rows Allowed to Send to Excel MaxRowsToExportToExcel Specifies the maximum number of rows that can be included in an Excel document that is generated from a list type page in the client.

If you don't want to have a limit on rows, set the value to MaxValue.

Note: This setting only pertains to list type pages in the client. For other pages types, like cards, the limit on rows is configured in the client.

Default: MaxValue
Dynamically Updatable: Yes
Maximum Session Recursion MaximumSessionRecursionDepth Specifies 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]. This can occur, for example, if a session creates a new session inside the 'OnBeforeCompanyOpen' trigger.

Default: 14
Dynamically Updatable: Yes
Maximum Stream Read Size MaxStreamReadSize Specifies the maximum number of bytes that can be read from a stream (InStream object) in a single AL read operation, such a READ or InStream.READTEXT function call. This setting pertains to UTF-8 and UTF-16 text encoding; not MS-DOS encoding.

Default: 1000000
Dynamically Updatable: Yes
Multitenant Multitenant Specifies if the Business Central Server instance can be used in a multitenant environment.

Tenant databases can only be mounted on the Business Central Server instance if this setting is selected. For more information, see Multitenant Deployment Architecture.

Default: Not enabled
Dynamically Updatable: No
Network Protocol NetworkProtocol Specifies the network protocol for accessing the database.

Valid values: Default, Named, Sockets, MultiProtocol

Default: Default
Dynamically Updatable: No
Services Default Company ServicesDefaultCompany Specifies the Business Central company that the client services, OData web services, and NAS services use as the default company.

If your Business Central database contains only one company, leave the setting blank.

Default:
Dynamically Updatable: No
Services Default Time Zone ServicesDefaultTimeZone Specifies the time zone in which web service and NAS services calls are run.

Values:

UTC
All business logic for web services and NAS services on the server instance runs in Coordinated Universal Time (UTC).

Server Time Zone
Services use the time zone of the computer that is running Business Central Server.

ID of any time zone recognized by the current version of Windows
Specifies any Windows time zone as defined in the system registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. For example, Romance Standard Time.

Default: UTC
Dynamically Updatable: No
Services Language ServicesLanguage Specifies the global language version to use for text strings with SOAP and OData web services.

The value must be valid culture name for a language that is available for the Microsoft Dynamics NAV solution, such as en-US and da-DK.

Default: en-US
Dynamically Updatable: No
Services Option Text Source ServicesOptionFormat Specifies the source of the text strings to use for the option values of an option data type field.

Values:

OptionString
Uses the text strings that are specified by the OptionString Property of a field.

OptionCaption
Uses the text strings that are specified by the OptionCaption Property of a field.

Default: OptionCaption
Dynamically Updatable: No
Session Event Table Retain Interval SessionEventTableRetainInterval Specifies the amount of time that sessions are stored in the Session Event table (ID 2000000111) before they are deleted. Sessions that exceed the time limit are first deleted the next time a purge is run on the Session Event table, as determined, in part, by the SessionEventTablePurgeLookupPeriod setting. The default is once a day.

Time interval format: [dd.]hh:mm:ss[.ff]

Where:
dd: days
hh: hours
mm: minutes
ss: seconds
ff: hundredths of a second



Default: 90.00:00:00 (90 days)
Dynamically Updatable: No
Non-Interactive Sessions Log Retain Interval NonInteractiveSessionsLogRetainInterval Specifies the amount of time that background and web service sessions are stored in the Session Event table (ID 2000000111) before they are deleted. Sessions that exceed the time limit are first deleted the next time a purge is run on the Session Event table, as determined, in part, by the SessionEventTablePurgeLookupPeriod setting. The default is once a day.

Time interval format: [dd.]hh:mm:ss[.ff]

Where:
dd: days
hh: hours
mm: minutes
ss: seconds
ff: hundredths of a second

Default: 5.00:00:00 (5 days)
Dynamically Updatable: No
not available SessionEventTablePurgeLookupPeriod Specifies how much time must lapse after the Session Event table is purged before it can be purged again. Purging is triggered when a new session of any type is created and the time that has lapsed since last purge exceeds the SessionEventTablePurgeLookupPeriod value. When the Session Event table is purged, all sessions older than the retain interval (as set by the Session Event Table Retain Interval or Non-Interactive Sessions Log Retain Interval settings) are deleted from the table.

Time interval format: [dd.]hh:mm:ss[.ff]

Where:
dd: days
hh: hours
mm: minutes
ss: seconds
ff: hundredths of a second

Default: 1.00:00:00 (1 day)
Dynamically Updatable: No
Supported Languages SupportedLanguages Specifies which of the installed Business Central languages on the server instance will be available for use in the clients. If you don't specify a language, then all installed languages will be available. In the client, users can switch among the supported languages.

The setting's value is a semicolon-separated list that contains the language culture names for each language. For example, if you want client users to be able to choose among da-DK, en-US, and en-CA, set the value to da-DK;en-US;en-CA.

If you specify any languages in this setting, then you must include the language that you specified in the Default Language setting.

If there are application-specific configuration settings, this setting will be overridden by the supported language setting that is specified in application-specific configuration file. For more information, see Set-NAVServerAppConfiguration cmdlet.

Default:
Dynamically Updatable: No
Token Signing Validation Mode TokenSigningCertificateValidationMode Specifies which certificate validation mode to use for token signing validation. This setting is applicable only if the Enable Certificate Validation setting is selected. IssuerNameValidation validates tokens by verifying the issuer name (tenant) only. PeerOrChainValidation validates tokens by verifying that the certificate is either in the Trusted People store or is part of a chain trust to a certification authority in the Trusted Root store.

Default: IssuerNameValidation
Dynamically Updatable: No
UI Elements Removal UIElementRemovalOption Specifies whether UI elements are hidden when the related object isn't accessible according to the license or according to user permissions or both. For more information, see Hiding UI Elements.

Default: LicenseFileandUserPermissions
Dynamically Updatable: No
Use NTLM Authentication ServicesUseNTLMAuthentication Specifies whether NTLM authentication is enabled for web services. To require Kerberos authentication, disable this option.

Default: Not enabled
Dynamically Updatable: No
not available GlobalSymbolReferenceCacheSize Specifies a value for the LRU global symbol reference cache size. The value is the number of objects that are stored in the cache. The larger the number the larger the cache size.

The default value is the recommended value for deployments, so you typically won't change this setting.

Default: 200

INTRODUCED IN: Version 21.0
not available GlobalSymbolReferenceCacheSize Specifies a value for the LRU global symbol reference cache size. The value is the number of objects that are stored in the cache. The larger the number the larger the cache size.

The default value is the recommended value for deployments, so you typically won't change this setting.

Default: 200

INTRODUCED IN: Version 21.0
not available GlobalSymbolReferenceCacheTTLInHours Specifies the lifespan, in hours, of entries in the global symbol reference cache. This is a strict value on the number of // objects that are housed in the cache. The larger the number the larger the cache size

The default value is the recommended value for deployments, so you typically won't change this setting.

Default: 24

INTRODUCED IN: Version 21.0
not available PTESymbolReferenceCacheSize Specifies a value for the LRU per-tenant extension (PTE) symbol reference cache size. The value is the number of objects that are stored in the cache. The larger the number the larger the cache size.

The default value is the recommended value for deployments, so you typically won't change this setting.

Default: 700

INTRODUCED IN: Version 21.0
not available GlobalSymbolReferenceCacheSize Specifies a value for the LRU global symbol reference cache size. The value is the number of objects that are stored in the cache. The larger the number the larger the cache size.

The default value is the recommended value for deployments, so you typically won't change this setting.

Default: 700

INTRODUCED IN: Version 21.0
not available PTESymbolReferenceCacheTTLInHours Specifies the lifespan, in hours, of entries in the PTEn symbol reference cache.

The default value is the recommended value for deployments, so you typically won't change this setting.

Default: 24

INTRODUCED IN: Version 21.0
not available XmlMetadataCacheSize For internal use only.

Default: 500

Database settings

The following table describes fields on the Database tab in the Business Central Server Administration tool.

Note

If the Business Central Server instance is configured as a multitenant server instance, then except for the Database Name, Database Instance, and Database Server settings, the settings apply to both the application database and the tenant database.

Setting Key Name Description
Database Instance DatabaseInstance The name of the SQL Server database instance to connect to. If the value is a null string (""), Business Central Server instance connects to the default database instance of SQL Server.

If the Business Central Server instance is configured as a multitenant server instance, then this setting specifies the SQL Server database instance that hosts the application database.

Default: NAVDEMO
Dynamically Updatable: No
Database Name DatabaseName The name of the Business Central database in SQL Server.

If the Business Central Server instance is configured as multi-tenant server instance, then this setting specifies the application database.

Default: "Demo Database BC (14-0)"
Dynamically Updatable: No
Database Server DatabaseServer A valid network name for the computer that is running SQL Server.

If the Business Central Server instance is configured as multi-tenant server instance, then this setting specifies the computer that hosts the application database.

Default: The computer that you selected in Business Central Setup.
Dynamically Updatable: No
Disable SmartSQL DisableSmartSql Specifies whether the SmartSQL performance optimization feature is disabled.

- If the check box is selected, SmartSQL is disabled.

- If the check box is cleared, SmartSQL is enabled.

When SmartSQL is enabled, Business Central Server converts FIND calls and FlowField calculations into a single SQL statement. This can improve performance when running pages that contain FlowFields, and it enables sorting on these calculated fields. However, it can be helpful to disable SmartSQL when troubleshooting database queries because statements are separated into more discrete statements. For more information, see Troubleshooting: Long Running SQL Queries Involving FlowFields by Disabling SmartSQL.

Default: SmartSQL performance optimization is enabled (check box is cleared)
Dynamically Updatable: Yes
Disable SQL Query Hint FORCE ORDER DisableQueryHintForceOrder Specifies whether the FORCE ORDER Query Hint is used in queries. FORCE ORDER instructs the query optimizer to preserve the join order that is indicated by the query syntax.

If you clear the check box (false), the FORCE ORDER is used in queries.

For more information, see Configuring Query Hints for Optimizing SQL Server Performance.

Default: FORCE ORDER is disabled (check box is selected)
Dynamically Updatable: Yes
Disable SQL Query Hint LOOP JOIN DisablQueryHintLoopJoin Specifies whether the LOOP JOIN Query Hint is used in queries. LOOP JOIN instructs the query optimizer to use LOOP JOIN for all join operations in the whole query.

If you clear the check box (false), the LOOP JOIN hint is used in queries.

For more information, see Configuring Query Hints for Optimizing SQL Server Performance.

Default: LOOP JOIN is disabled (check box is selected)
Dynamically Updatable: Yes
Disable SQL Query OPTIMIZE FOR UNKNOWN DisableQueryHintOptimizeForUnknown Specifies whether the OPTIMIZE FOR UNKNOWN Query Hint is used in queries. OPTIMIZE FOR UNKNOWN instructs the query optimizer to use statistical data instead of the initial values for all local variables when the query is compiled and optimized, including parameters created with forced parameterization.

If you clear the check box (false), the OPTIMIZE FOR UNKNOWN hint is used in queries.

For more information, see Configuring Query Hints for Optimizing SQL Server Performance.

Default: OPTIMIZE FOR UNKNOWN is disabled (check box is selected)
Dynamically Updatable: Yes
Degree Of Parallelism For Upgrade DegreeOfParallelismForUpgrade Sets the degrees of parallelism used for rebuilding indexes during upgrades. The setting applies only if the setting is set higher than the database’s MAXDOP setting.

Default: 3
Dynamically Updatable: No

APPLIES TO: Version 22.7 and later, version 23.1 and later.
Enable Buffered Insert BufferedInsertEnabled Specifies whether to buffer rows that are being inserted into a SQL Server database table.

When this parameter is enabled, up to 5 rows will be buffered in the table queue before they are inserted into the table.

To optimize performance in a production environment, you should enable this parameter. In a test environment, you can disable this parameter to help debug failures that occur when you insert rows in an SQL database table. For more information, see Bulk Inserts.

Default: Enabled
Dynamically Updatable: No
Enable Deadlock Monitoring EnableDeadlockMonitoring Specifies whether the server will emit data about database deadlocks, which can then be collected in an Azure Application Insights resource. For more information about the telemetry, see Analyzing Database Deadlock Trace Telemetry.

The calculation of data adds load on the SQL database, so we recommend enabling this setting for diagnostic and troubleshooting purposes.

Default: Disabled
Dynamically Updatable: No

APPLIES TO: Version 20.0 and later
Enable Encryption on SQL Server Connections EnableSqlConnectionEncryption Specifies whether the SQL connect string should request encryption when connecting to SQL Server services.

Default: Not enabled
Dynamically Updatable: No
Enable Lock Timeout Monitoring EnableLockTimeoutMonitoring Specifies whether database lock timeout monitoring is enabled. When enabled, the server instance will emit telemetry about lock timeouts. The data can then be collected in an Azure Application Insights resource. For more information about the telemetry, see Analyzing Database Lock Timeout Trace Telemetry.

The calculating the data adds load on the SQL database, so we recommend enabling this setting for diagnostic and troubleshooting purposes.

Default: Disabled
Dynamically Updatable: No

APPLIES TO: Lock timeout monitoring was introduced in version 16.0. This server setting was added to versions 18.10, 19.4, and all later versions. Before the setting was introduced, lock timeout monitoring was always enabled.
Enable SQL Read-Only Replica Support EnableSqlReadOnlyReplicaSupport Specifies whether the server instance is allowed to connect to an SQL Server secondary read-only replica of an Always On availability group.

Using read-only replicas helps balance workloads and improve performance. To take advantage of this setting, the database must be set up with read-scale out support. For more information, see Using Read Scale-Out for Better Performance

Default: Not enabled
Dynamically Updatable: No
- EnableTriStateLocking Specifies whether AL-based read operations following write operations are done optimistically, instead of being done with a strict consistency level and low levels of concurrency. Learn more about Tri-state locking

Default: Enabled (true)
Dynamically Updatable: No
Enable Trust of SQL Server Certificate TrustSQLServerCertificate Specifies whether Business Central Server should trust the SQL Server certificate.

Default: Not enabled
Dynamically Updatable: No
Search Timeout SearchTimeout Specifies the time (in seconds) that a search operation on lists in the client will continue until 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.

Time format: hh:mm:ss
Default: 00:00:10
Dynamically Updatable: Yes
SQL Bulk Import Batch Size SqlBulkImportBatchSize Specifies how many SQL memory chunks that a data import must be distributed across. Lowering the value increases the number of network transfers and decreases performance, but also lowers the amount of memory that the server instance consumes. If the database is on SQL Server 2016 or later, a low value can lead to large data files. If you don't want to use batching, specify 0.

Default: 448
Dynamically Updatable: No
SQL Command Timeout SqlCommandTimeout Specifies the contextual time-out for a SQL command.

Default: 0:30:00
Dynamically Updatable: No
SQL Connection Idle Timeout SqlConnectionIdleTimeout Specifies the time that a SQL connection can remain idle before being closed. The value has the format hh:mm:ss.

Default: 00:05:00
Dynamically Updatable: Yes
SQL Connection Timeout SqlConnectionTimeout Specifies the time to wait while trying to connect to the database before stopping the attempt and generating an error. This setting also applies to begin, rollback, and commit of transactions.

The value has the format hh:mm:ss.

Default: 00:01:30
Dynamically Updatable: Yes
SQL Management Command Timeout * SqlManagementCommandTimeout Specifies the timeout for SQL commands related to management operations, for example schema synchronization and company management operations.

This setting enables you to set a different timeout for management operations than for normal, day-to-day, runtime operations like a Record.FINDSET, which are controlled by the SQLCommand Timeout setting.

When a negative value is specified for this setting, the SQL Command Timeout will be used. The value has the format hh:mm:ss.

Default: -1
Dynamically Updatable: Yes
Enable SQL Parameters by Ordinal SqlParametersByOrdinal Specifies whether parameters in SQL statements are referenced by their ordinal number.

Enabling this setting improves performance when using buffered inserts.

Default: Enabled
Dynamically Updatable: No
SQL Query Logging Threshold SqlLongRunningThreshold Specifies the amount of time (in milliseconds) that an SQL query can run before a warning event is recorded in the application log for the server instance. If this threshold is exceeded, the following event is logged: Action completed successfully, but it took longer than the given threshold.

Default: 1000
Dynamically Updatable: Yes

* APPLIES TO: Business Central 2020 release wave 2 and later

Client services settings

The following table describes fields on the Client Services tab in the Business Central Server Administration tool.

Setting Key Name Description
Allowed File Types ClientServicesAllowedFileTypes Specifies the file types that can be stored by the server when requested by the client. The value is a semicolon-separated list of the file name extensions. The server won't store other file types.

Example values:
  • Blank or empty string (""): The setting is disabled. File types will be limited based on Prohibited File Types setting instead.
  • Asterisk (*): Specifies that all file types are allowed.
  • List of file type extensions separated by semi-colons, for example txt;xml;pdf: Specifies that only .txt, .xml, and .pdf file types can be stored.
Trailing semicolons are ignored.

Default: blank
Dynamically Updatable: Yes
Chunk Size ClientServicesChunkSize The default size for a chunk of data that is transferred between Business Central Server and the Dynamics NAV Client connected to Business Central or Business Central Web Server, in kilobytes.

The range of values is from 4 to 80.

Default: 28
Dynamically Updatable: No

APPLIES TO: Business Central 2022 release wave 1 (version 20) and earlier.
Compression Threshold ClientServicesCompressionThreshold The threshold in memory consumption at which Business Central Server starts compressing datasets, in kilobytes.

Default: 64
Dynamically Updatable: No
Enable Client Services ClientServicesEnabled Specifies whether client services are enabled for this server instance.

Default: Enabled
Dynamically Updatable: No
Exchange Auth. Metadata Location ExchangeAuthenticationMetadataLocation Specifies the URLs for the Microsoft Exchange authentication metadata document of the services or authorities that are trusted to sign Exchange identity tokens.

This setting is used for setting up the Office Add-Ins for Outlook. For more information about the Office Add-ins, see Setting Up the Office Add-Ins for Outlook Integration

The value is URL that is used to confirm the identity of the signing authority when using Exchange Authentication. The URL is compared to the Exchange authentication metadata document URL in the Exchange identity token. The scheme and host part of the two URLs must match to pass authentication. Paths in the URLs require only a partial match.

With a multitenant server instance, the Exchange Auth. Metadata Location setting (if any) on the tenant will overrule the value of this setting.

Value:
- One or more valid URLs. A URL must include the scheme, such as https:// or https://, and the host name.
- Separate multiple URLs with a comma.
- Wildcards (*) in URLs are supported.
Default: https://outlook.office365.com/
Dynamically Updatable: No
Idle Client Timeout ClientServicesIdleClientTimeout The interval of time that a Business Central Server client session can remain inactive before the session is dropped.

Time interval format: [dd.]hh:mm:ss[.ff]

Where:
dd: days
hh: hours
mm: minutes
ss: seconds
ff: hundredths of a second

Set Idle Client Timeout to equal or lower than the Keep Alive Interval, to enable Idle Client Timeout. You can also use MaxValue as a value to indicate no time-out.

Default: MaxValue
Dynamically Updatable: Yes
Keep Alive Interval ClientServicesKeepAliveInterval Specifies the time interval between keep-alive messages that are sent from the Dynamics NAV Client connected to Business Central to the server instance. This setting is used to keep inactive sessions alive until the time that is specified by the Idle Client Timeout setting expires. You should use a time interval that is less than the Idle Client Timeout setting, to hold the session constantly alive. For more information, see Understanding Session Timeouts.

Time interval format: [dd.]hh:mm:ss[.ff]

Default: 120
Dynamically Updatable: No
Max Concurrent Connections ClientServicesMaxConcurrentConnections Specifies the maximum number of concurrent client connections that the current Business Central Server instance accepts. You can use MaxValue as a value to indicate no limit.

Default: 4000
Dynamically Updatable: No
Max Items in Object Graph ClientServicesMaxItemsInObjectGraph The maximum number of objects to serialize or deserialize.

Default: 512
Dynamically Updatable: No
Max Number of Orphaned Connections ClientServicesMaxNumberOfOrphanedConnections Specifies the maximum number of orphaned connections to be kept alive at the same time for the time that is specified by ReconnectPeriod.

A connection is orphaned when the client is involuntarily disconnected from Business Central Server.

You can also use MaxValue as a value to indicate no limit.

Default: 20
Dynamically Updatable: No
Max Upload Size ClientServicesMaxUploadSize The maximum size of files that can be uploaded to or downloaded from Business Central Server, in megabytes. Use this setting to avoid out-of-memory errors.
If you experience errors when handling files, there are two settings to check:
- The Dynamics 365 Business Central service tier setting; in the CustomSettings.config file, check the ClientServicesMaxUploadSize setting.
- The IIS setting; in IIS Manager, on the Dynamics 365 Business Central instance, select Request Filtering, then select Edit Feature Settings in the right pane, and in the Edit Request Filtering Settings window, modify the Maximum allowed content length (Bytes) setting, which has a default value of 30 MB.

Default: 150
Dynamically Updatable: No
Operation Timeout ClientServicesOperationTimeout The maximum time that Business Central Server can take to return a call from the client.

Time span format: [dd.]hh:mm:ss[.ff]

Where:
dd: days
hh: hours
mm: minutes
ss: seconds
ff: hundredths of a second

You can also use MaxValue as a value to indicate no time-out.

Default: MaxValue
Dynamically Updatable: No
Port ClientServicesPort The listening HTTP port for client services.

Valid range: 1 - 65535
Default: 7085 (7046 in version 20 and earlier)
Dynamically Updatable: No
Prohibited File Types ClientServicesProhibitedFileTypes Specifies the file types that can't be stored by the server when requested by the client. The value is a semicolon-separated list of the file name extensions. This setting is ignored if the Allowed File Types setting has a value.

Example values:
  • Asterisk (*): All file types are prohibited.
  • Blank or empty string (""): The default value is used.
  • Whitespace string (" "): All file types are allowed.
  • List of file types separated by a semicolon, for example txt;xml;pdf: Prohibits the file types txt, xml and pdf.
Trailing semi-colons will be ignored.

Default: ade;adp;app;asp;bas;bat;chm;cmd;com;cpl;
csh;exe;fxp;gadget;hlp;hta;inf;ins;isp;its;js;jse;
ksh;lnk;mad;maf;mag;mam;maq;mar;mas;mat;mau;
mav;maw;mda;mdb;mde;mdt;mdw;mdz;msc;msi;
msp;mst;ops;pcd;pif;prf;prg;pst;reg;scf;scr;
sct;shb;shs;url;vb;vbe;vbs;vsmacros;vss;
vst;vsw;ws;wsc;wsf;wsh
Dynamically Updatable: Yes
Protection Level ClientServicesProtectionLevel Specifies the security services for protecting the data stream between clients and Business Central Server.

All Dynamics NAV Client connected to Business Central clients connecting to the Business Central Server instance must have the same ProtectionLevel value in their ClientUserSettings.config files. For more information, see Configuring the Windows Client in the Dev and IT Pro Help for Microsoft Dynamics NAV 2018.

For background information about transport security, see Understanding Protection Level (links to MSDN Library).

Values: EncryptAndSign, Sign, None
Default: EncryptAndSign
Dynamically Updatable: No
Reconnect Period ClientServicesReconnectPeriod The time during which a client can reconnect to a running instance of Business Central Server.

Time span format: [dd.]hh:mm:ss[.ff]

Where:
dd: days
hh: hours
mm: minutes
ss: seconds
ff: hundredths of a second

You can also use MaxValue as a value to indicate no time limit.

Default: 00:10:00
Dynamically Updatable: No

APPLIES TO: Business Central 2022 release wave 1 (version 20) and earlier.
not available ClientServicesSSLEnabled Specifies whether SSL is enabled between Business Central Web Server and Business Central Server.

If true, SSL is enabled, and you must also set the ServerHttps parameter in the to web server configuration file (navsettings.json) to true. For more information, see Using Security Certificates with Business Central On-Premises.

Default: false
Dynamically Updatable: No

INTRODUCED IN: Version 21
Token Signing Key ClientServicesTokenSigningKey Specifies the signing information that you obtain from the Microsoft Azure portal. The parameter value is a 256-bit symmetric token signing key for use with Azure Access Control service (ACS). This parameter is relevant only when Credential Type, on the General tab, is set to AccessControlService.

Default: EncryptAndSign
Dynamically Updatable: No
Use the Simplified Filters UseSimplifiedFilters Specifies how the search on list pages behaves for plain text search filters. Pain text search filters don't use search symbols like @ or *.

If you enable this setting, the search uses a case sensitive and accent sensitive search to find fields that start with the provided filter text. For example, the search on man returns all records that include a field that starts with man (lowercase m), and the search on Man returns all records that include a field that starts with Man (uppercase M). Notice that you can get the same results by entering man* and Man* respectively.

If the setting is disabled (which is default), the search on man and Man return the same results, which are all records that include fields that contain the text man, regardless of the case.

For more information about the search, see Sorting, Searching, and Filtering Lists.

Default: Not enabled
Dynamically Updatable: No
Web Client Base URL PublicWebBaseUrl Specifies the root of the URLs that are used to open hyperlinks to pages and reports in the Business Central Web client. For example, you can change the value if you want to change the externally facing endpoint.

The base URL must have the following syntax:

http[s]://[hostname]:[port]/[webserverinstance]

This field maps to the PublicWebBaseUrl setting in the CustomSettings.config file for the Business Central Server instance.

Default: The URL of the Web client
Dynamically Updatable: No
Windows Client Base URL PublicWinBaseUrl Specifies the root of the URLs that are used to open hyperlinks to pages and reports in the Dynamics NAV Client connected to Business Central. For example, you can change the value if you want to change the externally facing endpoint.

The base URL must have the following syntax:

DynamicsNAV://[hostname]:[port]/[instance]/

This field maps to the PublicWinBaseUrl setting in the CustomSettings.config file for the Business Central Server instance.

Default: The URL of the Windows client
Dynamically Updatable: No

SOAP services settings

The following table describes fields on the SOAP Services tab in the Business Central Server Administration tool.

Setting Key Name Description
Enable SOAP Services SOAPServicesEnabled Specifies whether SOAP web services are enabled for this server instance.

If SOAP has been turned off, any call to such an endpoint will also return a HTTP status code 405 (so check your server configurations if you see those).

Default: Not enabled
Dynamically Updatable: No
Enable SSL SOAPServicesSSLEnabled Specifies whether SSL (https) is enabled for the SOAP web service port. For more information, see Using Security Certificates with Business Central On-Premises.

Default: Not enabled
Dynamically Updatable: No
Max Connections SOAPMaxConnections Specifies the maximum number of simultaneous SOAP requests on the server instance (for all tenants). When the limit is exceeded, an error occurs. If you don'tt want a limit, set the value 0.

Default: 0
Dynamically Updatable: Yes
Max Connections Per Tenant SOAPMaxConnectionsPerTenant Specifies the maximum number of simultaneous SOAP requests per tenant. When the limit is exceeded, an error occurs. If you do not want a limit, set the value 0.

Default: 0
Dynamically Updatable: Yes
Max Concurrent Requests * SOAPMaxConcurrentRequests Specifies the maximum number of SOAP requests per tenant that the server instance can process at the same time. If you don't want a limit, set the value 0.

Default: 5
Dynamically Updatable: Yes
Max Queued Requests * SOAPRequestQueueSize Specifies the maximum number of pending SOAP connections per tenant waiting to be processed. When the limit is exceeded, a 429 (Too Many Requests) error occurs. If you don't want a limit, set the value 0.

Default: 95
Dynamically Updatable: Yes
Max Message Size SOAPServicesMaxMsgSize Specifies the maximum permitted size of a SOAP web services request, in kilobytes. When a request exceeds this limit, a 413: Request Entity Too Large error occurs.

Important: This setting also pertains to OData web services.

Default: 65536
Dynamically Updatable: No
Port SOAPServicesPort The listening HTTP port for SOAP web services.

Valid range: 1 - 65535
Default: 7047
Dynamically Updatable: No
SOAP Base URL PublicSOAPBaseUrl Specifies the root of the URLs that are used to access SOAP web services. For example, you can change the value if you want to change the externally facing endpoint.

The base URL must have the following syntax:

http[s]://hostname:port/instance/WS/

This field maps to the PublicSOAPBaseUrl setting in the CustomSettings.config file for the Business Central Server instance.

Default: The SOAP URL for the server instance
Dynamically Updatable: No
Timeout SOAPServicesOperationTimeout Specifies the maximum amount of time that the server can allocate to a single SOAP request. When the limit is exceeded, a timeout error occurs.

Time span format: hh:mm:ss

If you do not want a timeout, set the value to MaxValue.

Default: 00:10:00
Dynamically Updatable: Yes

* APPLIES TO: Business Central 2020 release wave 2 and later

OData services settings

The following table describes fields on the OData Services tab in the Business Central Server Administration tool.

Setting Key Name Description
APISubscriptionEnabled Specifies whether subscriptions are enabled for the API endpoint.

Default: Enabled
Dynamically Updatable: No
APISubscriptionExpirtation Specifies the number of days that an API subscription lasts before it expires.

Default: 3
Dynamically Updatable: No
APISubscriptionNotificationUrlTimeout Specifies the amount of time (in milliseconds) that the notification server has to respond to a verification request.

Default: 5000
Dynamically Updatable: No
APISubscriptionSendingNotificationTimeout Specifies the amount of time (in milliseconds) that the notification server has to respond to a notification message.

Default: 30000
Dynamically Updatable: No
APISubscriptionDelayTime Specifies the amount of time (in milliseconds) that we need to wait before we can start processing notificatoins.

Default: 30000
Dynamically Updatable: No
APISubscriptionMaxNoOfNotifications Specifies the maximum number of notifications that can be delivered per entity.

Default: 1000
Dynamically Updatable: No
APISubscriptionMaxNoOfSubscriptions Specifies the maximum number of subscriptions that can be created per tenant.

Default: 1000
Dynamically Updatable: No
Enable Add-in Annotations ODataEnableExcelAddInAnnotations Specifies whether Excel add-in annotations should be provided in OData metadata.

Default: Enabled
Dynamically Updatable: No
Enable API Services ApiServicesEnabled Specifies whether API web services are enabled for this server instance.

If API services have been turned off, any call to such an endpoint will also return a HTTP status code 405 (so check your server configurations if you see those).

Default: Not enabled
Dynamically Updatable: No
Enable OData Services ODataServicesEnabled Specifies whether OData web services are enabled for this Business Central Server instance.

If OData has been turned off, any call to such an endpoint will also return a HTTP status code 405 (so check your server configurations if you see those).

Default: Enabled
Dynamically Updatable: No
Enable Read-Only Intent-on GET Requests ODataReadonlyGetEnabled Specifies whether the server instance sets read-only intent on all OData GET requests. You can disable read-only intent on specific objects by setting Objects Exempt from Read-Only Intent on GET Requests. This setting only applies if Enable SQL Read-Only Replica Support is enabled. For more information, see Using Read Scale-Out for Better Performance

Default: Enabled
Dynamically Updatable: No

INTRODUCED IN: Version 19.0
Enable SSL ODataServicesSSLEnabled Specifies whether SSL (https) is enabled for the OData web service port. For more information, see Using Security Certificates with Business Central On-Premises.

Default: Not enabled
Dynamically Updatable: No
Enable V3 Endpoint ODataServicesV3EndpointEnabled Specifies whether the ODataV3 service endpoint will be enabled (note that ODataV3 is no longer supported).

Default: Enabled
Dynamically Updatable: No
Enable V4 Endpoint ODataServicesV4EndpointEnabled Specifies whether the ODataV4 service endpoint will be enabled.

If OData has been turned off, any call to such an endpoint will also return a HTTP status code 405 (so check your server configurations if you see those).

Default: Enabled
Dynamically Updatable: No
not available ODataMaxBodySize Specifies the maximum request body size, in megabytes, supported in OData.

Default: 350
Dynamically Updatable: No

INTRODUCED IN: Version 21.0
Max Connections ODataMaxConnections Specifies the maximum number of simultaneous OData requests on the server instance (for all tenants). When the limit is exceeded, a 429 (Too Many Requests) error occurs. If you don't want a limit, set the value 0.

OData requests consume server instance resources, which can affect the performance of the clients if the number of requests gets too large. This setting enables you to control the resources allocated for OData requests.

Default: 0
Dynamically Updatable: Yes
Max Connections Per Tenant ODataMaxConnectionsPerTenant Specifies the maximum number of simultaneous OData requests per tenant. When the limit is exceeded, a 429 (Too Many Requests) error occurs. If you don't want a limit, set the value 0.

If the server isn't configured for multitenancy or only has a single tenant, then this setting does the same as the Max Connections (ODataMaxConnections) setting.

OData requests consume server instance resources and can affect the performance of the clients if the number of requests gets too large. This setting enables you to control the resources allocated for OData requests.

Default: 0
Dynamically Updatable: Yes
Max Page Size ODataServicesMaxPageSize Specifies the maximum number of entities returned per page of OData results. For more information, see Server-Driven Paging in OData Web Services.

Default: 20000
Dynamically Updatable: No
Objects Exempt from Read-Only Intent on GET Requests ODataReadonlyGetDisabledForObjects Specifies a list of application object IDs that are exempt from OData read-only GET requests. The value is a JSON-serialized list in the format: [{“id” : “object ID”}, {“id” : “object ID”}]. This setting only applies when Enable Read-Only Intent-on GET Requests is enabled.

Default:
Dynamically Updatable: No

INTRODUCED IN: Version 19.0
OData Base URL PublicODataBaseUrl Specifies the root of the URLs that are used to access OData web services. For example, you can change the value if you want to change the externally facing endpoint.

This setting applies to outgoing OData calls from, not incoming OData. It's required, for example, when setting up the Excel add-in and enabling the APIs for Dynamics 365 Business Central.

The base URL must have the following syntax:

http[s]://hostname:port/instance/OData/

This field maps to the PublicODataBaseUrl setting in the CustomSettings.config file for the Business Central Server instance.

Default: The OData URL for the server instance
Dynamically Updatable: No
Port ODataServicesPort The listening HTTP port for Business Central OData web services.

Valid range: 1 - 65535
Default: 7048
Dynamically Updatable: No
V3 Max Concurrent Requests * ODataV4MaxConcurrentRequests Specifies the maximum number of OData V3 requests per tenant that the server instance can process at the same time. Requests that exceed the limit will wait in the queue until a time slot becomes available. If you don't want a limit, set the value 0.

Default: 5
Dynamically Updatable: Yes
V3 Max Queued Requests * ODataV4MaxRequestQueueSize Specifies the maximum number of pending OData V3 requests per tenant waiting to be processed. When the limit is exceeded, a 429 (Too Many Requests) error occurs. If you don't want a limit, set the value 0.

Default: 95
Dynamically Updatable: Yes
V4 Max Concurrent Requests * ODataV4MaxConcurrentRequests Specifies the maximum number of OData V4 requests per tenant that 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. If you don't want a limit, set the value 0.

Default: 5
Dynamically Updatable: Yes
V4 Max Queued Requests * ODataV4MaxRequestQueueSize Specifies the maximum number of pending OData V4 requests per tenant waiting to be processed. When the limit is exceeded, a 429 (Too Many Requests) error occurs. If you don't want a limit, set the value 0.

Default: 95
Dynamically Updatable: Yes
Timeout ODataServicesOperationTimeout Specifies the maximum amount of time that the server instance can allocate to a single OData request. When the limit is exceeded, a 408 (Request Timeout) error occurs.

If you don't want a limit, set the value to MaxValue.

Time format: hh:mm:ss
Default: 00:08:00
Dynamically Updatable: Yes

* APPLIES TO: Business Central 2020 release wave 2 and later

Important

The maximum permitted size of an OData web services request is specified by the Max Message Size option on the SOAP Services tab.

NAS services settings

The following table describes fields on the NAS Services tab in the Business Central Server Administration tool.

Note

Instead of using NAS services, we recommend that you use the Task Scheduler (see Task Scheduler. If you decide to use NAS, and want to read more about its configuration, see Configuring NAS Services in the Dev and IT Pro Help for Microsoft Dynamics NAV 2018.

Setting Key Name Description
Enable Debugging NASServicesEnableDebugging Specifies if the Business Central Debugger must attach to the NAS Services session. When this is enabled, the NAS Services session waits 60 seconds before the first AL statement is run.

Default: Not enabled
Dynamically Updatable: No
Run NAS Services with Admin Rights NASServicesRunWithAdminRights Specifies whether NAS services run operations with administrator rights instead of the rights granted to the Business Central Server service account.

If you select this setting, NAS services will have full permissions in Business Central, similar to the permissions that are granted by the SUPER permission set. The Business Central Server service account isn't required to be set up as a user in Business Central.

If you clear this setting, the Business Central Server service account must be added as a user in Business Central and assigned the permissions that are required to perform the operations.

Default: Not enabled
Dynamically Updatable: No
Startup Argument NASServicesStartupArgument Specifies a string argument that will be used when NAS services start. The argument typically specifies an application type, sometimes with additional configuration information.

Example value:"OSYNCH"

Default:
Dynamically Updatable: No
Startup Codeunit NASServicesStartupCodeunit Specifies the codeunit that contains the method that will be called by the NASStartupMethod setting.

Example values:

0
When NASStartupCodeunit is set to 0, NAS Services don't start. This value is the default value.

55
When NAS services start, they run the trigger specified by the NAS Startup Method in codeunit 55.

Note: When the codeunit specified by NASStartupCodeunit is a single instance codeunit, the NAS service session will remain alive even after you run all code in the specified NASStartupMethod.

Default:
Dynamically Updatable: No
Startup Method NASServicesStartupMethod Specifies the method that will be called in the NASStartupCodeunit.

Example values:

""
If no start method is specified (null string), the OnRun trigger is called.

StartNAS
NAS services run the StartNAS method in the NAS Startup Codeunit.

Default:
Dynamically Updatable: No

Management services settings

The following table describes fields on the Management Services tab in the Business Central Server Administration tool.

Setting Key Name Description
Enable Management Services ManagementServicesEnabled Specifies whether Business Central Server Administration tool is enabled for this server instance.

Default: Enabled
Dynamically Updatable: No
Idle Client Timeout ManagementServicesIdleClientTimeout Specifies the amount of time a PowerShell command, like Invoke-NAVCodeunit, can run before the session times out and closes.

The value has the format hh:mm:ss.
Default: 10:00:00
Dynamically Updatable: No
Port ManagementServicesPort The listening TCP port for the Business Central Server Administration tool and Business Central Administration Shell.

Valid range: 1 - 65535
Default: 7045
Dynamically Updatable: No
not avialable ManagementApiServicesEnabled Specifies whether the management API services used by the Business Central Administration Shell is enabled for this server instance.

Default:
Enabled (true) for instances created by Business Central installation program (setup.exe). Disabled (false) for instances created by the New-NavServerInstance cmdlet.
Dynamically Updatable: No

Important: In version 21 and later, enabling management API services is only required for the Invoke-NAVSanitizeField cmldet. In version 22 and later, it's also required for the Get-NAVTenant cmldet. In future releases, management API services will be used for more cmdlets.

INTRODUCED IN: Version 21.
not avialable ManagementApiServicesPort Specifies the listening TCP port for the management API services used by the Business Central Administration Shell

Default: 7086
Dynamically Updatable: No

INTRODUCED IN: Version 21
not avialable ManagementApiServicesSSLEnabled Specifies whether SSL (HTTPS) is enabled for the management API services port.

Default: Not enabled
Dynamically Updatable: No

INTRODUCED IN: Version 21

Azure key vault client identity settings

The following table describes fields on the Azure Key Vault Client Identity tab in the Business Central Server Administration tool.

These settings are used when you want to use Azure Key Vaults to store extension secrets and data encryption keys. For more information, see Setting up App Key Vaults and Data Encryption.

Setting Key Name Description
Client Certificate Store Location AzureKeyVaultClientCertificateStoreLocation Specifies the location of the certificate store where the key vault reader certificate is stored.

LocalMachine specifies that the certificate is stored in a certificate store for the computer that the Business Central Server is running on.

CurrentUser specifies that the certificate is stored in a certificate store for your account on the computer that the Business Central Server is running on.

Default: LocalMachine
Dynamically Updatable: No
Client Certificate Store Name AzureKeyVaultClientCertificateStoreName Specifies the certificate store where the key vault reader certificate is stored.

Default: My
Dynamically Updatable: No
Client Certificate Thumbprint AzureKeyVaultClientCertificateThumbprint Specifies the thumbprint of the certificate used by the key vault reader application in Azure.

Default: My
Dynamically Updatable: No
Client ID AzureKeyVaultClientId Specifies the application (client) ID of the key vault reader application in Azure. The value is a GUID.

Default: 00000000-0000-0000-0000-000000000000
Dynamically Updatable: No

Azure key vault extension secrets settings

The following table describes fields on the Azure Key Vault Extension Secrets tab in the Business Central Server Administration tool.

Setting Key Name Description
Enable Publisher Validation AzureKeyVaultAppSecretsPublisherValidationEnabled Specifies whether extensions can only use key vaults that belong to their publishers.
  • true turns on validation. Extensions can only use key vaults that belong to their publishers. This setting blocks attempts in AL to read secrets from another publisher's key vault.
  • false turns off validation. Important For security reasons, we recommend that you don't turn this setting off, unless you trust all etxtensions that might get installed on the tenant.
An extension publisher's identity is specified when the extension is published. However, the validation is done at runtime. This setting doesn't affect extensions that don't use app key vault secrets. For more information, see App Key Vaults - Security Considerations.

Default: true
Dynamically Updatable: No

Microsoft Entra ID Settings

The following table describes fields on the **Microsoft Entra ID ** tab in the Business Central Server Administration tool.

The settings in this tab configure the Business Central Server instance to use Microsoft Entra authentication. The settings are only relevant when the server instance is configured Access Control Service, that is, when the Credential Type is set to AccessControlService. For more information about authenticating using Microsoft Entra ID, see Authenticating Users with Microsoft Entra ID.

Setting Key Name Description
ADOpenIdMetadataLocation Specifies the URL for the OpenID metadata document that describes the configuration information for your Microsoft Entra tenant. The OpenID metadata validates the security tokens that the Business Central Web client and Business Central tablet client receive, and to establish a trust relationship with between Business Central and an application that you've added to Microsoft Entra ID.

You specify a URL in the following format:

https://login.microsoftonline.com/{AADTENANTID}/.well-known/openid-configuration

The placeholder [AADTENANTID] represents the GUID of your Microsoft Entra tenant. If the server instance has to support multiple Microsoft Entra tenants, then the Microsoft Entra tenant ID parameter that is specified when mounting a tenant replaces the placeholder.

This parameter is relevant only when ClientServicesCredentialType is set to AccessControlService. For more information, see Configure Microsoft Entra authentication with OpenID Connect.

Default:
Dynamically Updatable: No

INTRODUCED IN: Version 22
Application Client Certificate Thumbprint AzureActiveDirectoryClientCertificateThumbprint Specifies the thumbprint of the x509 certificate that is used with the Microsoft Entra application client for authentication.

A public certificate file (.cer) must be installed on the application client and associated with a Microsoft Entra service principal.

A private certificate file (.pfx) must be installed on the computer on which the Business Central Server instance is installed. The server instance service account must have access to the private key of that certificate.

Default:
Dynamically Updatable: No
Application Client ID AzureActiveDirectoryClientId Specifies the ID of the application tenant. The ID is used when accessing data in Microsoft Entra ID.

The authentication token for communicating with Microsoft Entra ID should be retrieved by specifying the Application Client Certificate Thumbprint, with a fallback to use the Application Client Secret.

Default: 00000000-0000-0000-0000-000000000000
Dynamically Updatable: No
Application Client Secret AzureActiveDirectoryClientSecret Specifies the secret to use with Application Client ID for Microsoft Entra authentication.

Default:
Dynamically Updatable: No
Microsoft Entra app ID URI AppIdUri Specifies the App ID URI that is registered for Business Central in the Microsoft Microsoft Entra ID. You use this setting to configure Business Central web services for OAuth authentication, specifically when the Credential Type setting is AccessControlService. it's used to validate the security tokens that the server instance receives in SOAP and OData calls.

The App ID URI is a logical identifier and doesn't have to represent a valid location, although it's common practice to use the physical URL of the Business Central web service.

The App ID URI is typically the same as the value of wtrealm parameter of the ACSUri setting that is included in the ClientUserSettings.config file for the Dynamics NAV Client connected to Business Central.

An example of an App ID URI is https://localhost:7047/.

For more information about how to use the Microsoft Entra app ID URI with OAuth authentication, see Using OAuth to Authenticate Web Services (Odata and SOAP).

Default:
Dynamically Updatable: No
Enable Membership Entitlement EnableMembershipEntitlement Configures the server instance to use membership entitlement for controlling access the Business Central.

This setting is typically only used for software as a service (SaaS) solutions.

Default:
Dynamically Updatable: No
Excel add-in AAD client app ID ExcelAddInAzureActiveDirectoryClientId This setting is used to set up the Excel Add-in that enables users to use Excel to modify and update Business Central data.

The setting specifies the client ID of the Microsoft Entra tenant that is used for the Excel add-in. The Excel add-in requires a separate Microsoft Entra tenant. For more information, see Configuring the Excel Add-In.

Default:
Dynamically Updatable: No
Extended Security Token Lifetime ExtendedSecurityTokenLifetime Specifies the number of hours that are added to the lifetime of Microsoft Entra ID security tokens, which are used to authenticate client users. When the lifetime expires, the client is disconnected from the server instance. An event with a message such as "The SAML2 token is invalid because its validity period ended." is recorded in the event log for the server instance. In general, the lifetime of security tokens is 1 hour.

Valid range: 0 to 24 hours
Default: 0
Dynamically Updatable: No
Valid Audiences ValidAudiences Specifies the allowed audiences for Microsoft Entra authentication. This setting is used to authenticate other Microsoft Entra applications that will communicate with the server instance.

With a multitenant deployment, this setting can also be used to specify host names used by the tenants, which is required by the Business Central add-in for Outlook. For more information, see Set Up the Business Central Add-In for Outlook.

The value is a semicolon-separated list of audiences. You specify an audience by using the App URI ID or App ID that is assigned to the application in Microsoft Entra ID.

Default:
Dynamically Updatable: No
WS-Federation Login Endpoint WSFederationLoginEndpoint Specifies the URL for the federation sign-on page that Business Central redirects to when configured for single sign-on.

You must specify a URL in the following format:

https://login.microsoftonline.com/[AADTENANTID]/wsfed?wa=wsignin1.0%26wtrealm=...%26wreply=....

The placeholder [AADTENANTID] represents the GUID of your Microsoft Entra tenant. If the server instance has to support multiple Microsoft Entra tenants, then the Microsoft Entra tenant ID parameter that is specified when mounting a tenant replaces the placeholder.

Default:
Dynamically Updatable: No
WS-Federation Metadata Location ClientServicesFederationMetadataLocation Specifies the URL for the federation metadata document that describes the configuration information for your Microsoft Entra tenant. The federation metadata document is used to validate the security tokens that the Business Central Web client and Business Central tablet client receive, and to establish a trust relationship with between Business Central and an application that you've added to Microsoft Entra ID.

You must specify a URL in the following format:

https://login.microsoftonline.com/[AADTENANTID]/FederationMetadata/2007-06/FederationMetadata.xml

The placeholder [AADTENANTID] represents the GUID of your Microsoft Entra tenant. If the server instance has to support multiple Microsoft Entra tenants, then the Microsoft Entra tenant ID parameter that is specified when mounting a tenant replaces the placeholder.

This parameter is relevant only when Credential Type, on the General tab, is set to AccessControlService. For more information, see Authenticating Users with Microsoft Entra ID.

Default:
Dynamically Updatable: No

APPLIES TO: Version 21 and earler. Deleted and replaced by the ADOpenIdMetadataLocation setting in version 22.0.

Data encryption settings

The following table describes fields on the Data Encryption tab in the Business Central Server Administration tool.

For more information about data encyrption, see Data Encryption.

Setting Key Name Description
Encryption Key Provider EncryptionProvider Specifies where the encryption key used to encrypt data in the database is stored, either LocalKeyFile or AzureKeyVault values. If you use AzureKeyVault, see the Azure Key Vault Encryption Provider tab settings.

Default: LocalKeyFile
Dynamically Updatable: No
Key URI AzureKeyVaultKeyUri Specifies the URI of the key in the Key Vault encryption provider setup.

Default:
Dynamically Updatable: No

Task scheduler settings

The following table describes fields on the Task Scheduler tab in the Business Central Server Administration tool.

The task scheduler processes jobs and other processes on a scheduled basis. For more information about task scheduler, see Task Scheduler.

Setting Key Name Description
Default Task Scheduler Session Timeout DefaultTaskSchedulerSessionTimeout Specifies the timeout for background sessions that are created by TaskScheduler.CreateTask method calls that don't set the timeout parameter. When the session exceeds the specified time, it's canceled.

The value has the format hh:mm:ss.

Default: 12:00:00
Dynamically Updatable: Yes

INTRODUCED IN: Version 18
Enable Task Scheduler EnableTaskScheduler Specifies whether the server instance starts with the task scheduler enabled.

If this option is enabled, the server instance will process scheduled tasks.

Default: Enabled
Dynamically Updatable: No
Execution Retry Exceptions TaskSchedulerExecutionRetryExceptions Specifies a list of exceptions that will cause the task scheduler to retry the task if the given exception occurs during the execution of the task's main codeunit. The main codeunit is the codeunit run by a TaskScheduler.CreateTask method call.

The value is semicolon-separated list in a format like: Exception1;Exception2;Exception3. If you want to specify error code of the exception, use the following format instead: Exception1:ErrorCode1;Exception2:ErrorCode2.

Default:
Dynamically Updatable: No

INTRODUCED IN: Version 19.0
Maximum Concurrent Running Tasks TaskSchedulerMaximumConcurrentRunningTasks Specifies the maximum number of tasks that can run simultaneously on the server instance.

The value that you specify will depend on the hardware (CPUs) of the deployment environment and what you want to prioritize: client performance or scheduled tasks (such as job queue entries). The setting is particularly relevant when the server instance is used for both scheduled tasks and client services. If there are many jobs running at the same time, you might experience that the response time for clients gets slower. In which case, you could decrease the value. However, if the value is too low, it might take longer than desired for scheduled tasks to process. When you've a dedicated server instance for scheduled tasks, this setting is less important with respect to client performance.

Default: 10
Dynamically Updatable: Yes
System Task Start Time TaskSchedulerSystemTaskStartTime Specifies the time of day after which system tasks can start. The time is based on the time zone of the computer that is running the server instance.

The value has the format hh:mm:ss.

Default: 00:00:00
Dynamically Updatable: Yes
System Task End Time TaskSchedulerSystemTaskEndTime Specifies the time of day after which system tasks can't start. The time is based on the time zone of the computer that is running the server instance.

The value has the format hh:mm:ss.

Default: 23:59:59
Dynamically Updatable: Yes
not available MaxTaskSchedulerSessionTimeout Specifies the maximum amount of time that scheduled tasks can run before thay are canceled. If a scheduled task is created with a timeout that is greater than the MaxTaskSchedulerSessionTimeout setting, an error similar to the following error will be returned and the task won't be created: The scheduled task could not be created because the timeout N exceeds the max timeout value.

The value has the format hh:mm:ss.

Default: 48:00:00
Dynamically Updatable: Yes

INTRODUCED IN: Version 22
not available XmlMetadataCacheSize For internal use only.

Default: 500

Asynchronous processing settings

APPLIES TO: Business Central 2019 release wave 2 and later

The following table describes fields on the Asynchronous Processing tab in the Business Central Server Administration tool.

Setting Key Name Description
Background Sessions - Default Timeout BackgroundSessionsDefaultTimeout Specifies the timeout for background sessions that are created by Session.StartSession method calls that don't set the timeout parameter. When the session exceeds the specified time, it's canceled.

The value has the format hh:mm:ss.

Default: 08:00:00
Dynamically Updatable: Yes

APPLIES TO: Version 19.0 and later. For version 18.0 and later, see Default StartSession Timeout.
Background Sessions - Default Wait Timeout BackgroundSessionsDefaultWaitTimeout Specifies the maximum amount of time that background sessions will wait to be processed.

The value has the format hh:mm:ss.

Default: 08:00:00
Dynamically Updatable: No

INTRODUCED IN: Version 19.0
Background Sessions - Max Concurrent BackgroundSessionsMaxConcurrent Specifies the maximum number of background sessions per tenant that the server instance can actively process at the same time. Requests that exceed the limit will wait in the queue until a slot becomes available. If you don't want a limit, set the value 0.

Default: 10
Dynamically Updatable: No

INTRODUCED IN: Version 19.0
Background Sessions - Max Queued BackgroundSessionsMaxQueued Specifies the maximum number of background sessions per tenant that can be waiting to be processed. If you don't want a limit, set the value 0.

Default: 100
Dynamically Updatable: No

INTRODUCED IN: Version 19.0
Child Sessions Max Concurrency ChildSessionsMaxConcurrency Specifies the maximum number of child sessions that can run concurrently per parent session of a page background task. When the value is exceeded, additional child sessions will be queued and run when a slot becomes available as other child sessions are finished.

Default: 5
Dynamically Updatable: Yes

INTRODUCED IN: Version 15.2
Child Sessions Max Queue Length ChildSessionsMaxQueueLength Specifies the maximum number of child sessions that can be queued per parent session of a page background task. If the value is exceeded, an error occurs.

Default: 100
Dynamically Updatable: Yes

INTRODUCED IN: Version 15.2
Page Background Task Allowed Automation Methods PageBackgroundTaskAllowedAutomationMethods Specifies a list of .NET methods that can be invoked from a page background task. All automation methods in the list are allowed to be executed by a page background task, the rest are blocked with an error message. The setting's value is a comma-separated list of method/assembly pairs that has the format: (methodName , fullyQualifiedAssemblyName), (methodName , fullyQualifiedAssemblyName).

Default: (Update,Microsoft.Dynamics.Nav.Client.BusinessChart;PublicKeyToken=31bf3856ad364e35)

Dynamically Updatable: Yes

INTRODUCED IN: Version 18
Page Background Task Default Timeout PageBackgroundTaskDefaultTimeout Specifies 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. The Page Background Task Default Timeout setting is used when no timeout is provided when the page background task is enqueued.

The value has the format hh:mm:ss.

Default: 00:02:00
Dynamically Updatable: Yes
Page Background Task Max Timeout PageBackgroundTaskMaxTimeout Specifies 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 the Page Background Task Max Timeout setting, the Page Background Task Max Timeout setting is used instead.

The value has the format hh:mm:ss.

Default: 00:10:00
Dynamically Updatable: Yes

For more information about page background tasks, see Page Background Tasks.

Reports settings

The following table describes fields on the Reports tab in the Business Central Server Administration tool.

Setting Key Name Description
Default Max Documents * ReportDefaultMaxDocuments Specifies the number of documents that can be merged when using WordMergeDataItem property on reports. If exceeded, the report will be canceled by the server.

Developers can override this setting by using the MaximumDocumentCount property of a report. Client users can do the same when running a report from the report request page.

If you don't want a limit, set the value to MaxValue.

Default: 200
Dynamically Updatable: Yes
Default Max Rendering Timeout * ReportDefaultTimeout Specifies the maximum execution time that it can take to generate a report. If exceeded, the report will be canceled by the server.

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.

If you don't want a limit, set the value to MaxValue.

For more information about how reports are canceled, see Report Generation and Cancellation Flow.

Timeout format: [dd.]hh:mm:ss[.ff]

Default: 06:00:00
Dynamically Updatable: Yes
Default Max Rows * ReporDefaultMaxRows Specifies the maximum number of rows that can be processed in a report by default. If exceeded, the report will be canceled by the server.

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.

If you don't want a limit, set the value to MaxValue.

For more information about how reports are canceled, see Report Generation and Cancellation Flow.

Default: 500000
Dynamically Updatable: Yes
Enable Application Domain Isolation ReportAppDomainIsolation Specifies whether application domain isolation is used for rendering custom RDLC layouts. This setting pertains to on-premise installations only.

Enabling application domain isolation provides a more secure and reliable environment for processing custom RDLC layouts. However, it can considerably increase the time it takes to render reports. Disabling application domain isolation can improve the rendering time but might have a negative impact on security and reliability.

Default: Enabled
Dynamically Updatable: No
Enable Save as Excel on Request Pages of RDLC-layout Reports EnableSaveToExcelForRdlcReports Specifies whether users can open or save a report as an Excel document if the report uses an RDLC layout.

If you clear this check box, the Excel option is removed from the Print menu on the request page.

Default: Enabled
Dynamically Updatable: No
Enable Save as Word on Request Pages of RDLC-layout Reports EnableSaveToWordForRdlcReports Specifies whether users can open or save a report as a Microsoft Word document if the report uses an RDLC layout.

If you clear this check box, the Word option is removed from the Print menu on the request page.

Default: Enabled
Dynamically Updatable: No
Enable Save from Report Preview EnableSaveFromReportPreview Specifies whether users can save a report as a PDF, Microsoft Word, or Microsoft Excel document from the report preview window.

If you clear this check box, the Save As icon is removed from the report preview window.

Default: Enabled
Dynamically Updatable: No
Enforce Cloud Print Support ReportCloudPrintingEnforced Specifies whether cloud printing is supported for reports. This setting must be enabled to send print jobs to any printer that is set up by an extension that subscribes to the OnAfterDocumentPrintReady event.

If you disable this setting, the OnAfterDocumentPrintReady event is never raised, and print jobs are directed to the default printing on the server.

Default: Enabled
Dynamically Updatable: No
Max Documents (hard limit) * ReportMaxDocuments Specifies the maximum number of documents that can be merged when using WordMergeDataItem property on reports using a Word layout. If exceeded, the report will be canceled by the server. To turn off this limit set the value to MaxValue.

Timeout format: [dd.]hh:mm:ss[.ff]

Default: 500
Dynamically Updatable: Yes
Max Rendering Timeout (hard limit) ReportTimeout Specifies the maximum execution time that it can take to generate a report. If exceeded, the report will be canceled by the server. If you don't want a limit, set the value to MaxValue.

For more information about how reports are canceled, see Report Generation and Cancellation Flow.

Timeout format: [dd.]hh:mm:ss[.ff]

Default: 12:00:00
Dynamically Updatable: Yes
Max Rows (hard limit) ReportMaxRows Specifies the maximum number of rows that can be processed in a report. If exceeded, the report will be canceled by the server. You can also use MaxValue to indicate no limit. If you don't want a limit, set the value to MaxValue.

For more information about how reports are canceled, see Report Generation and Cancellation Flow.

Default: 1000000
Dynamically Updatable: Yes
Report PDF Font Embedding ReportPDFFontEmbedding Specifies whether fonts are embedded in PDF files that are generated for reports when the report uses an RDLC report layout at runtime. This setting applies when reports are run and saved as PDF files on the client (from the report request page or print preview window) or on the server instance (by the SAVEAS function or SAVEASPDF function in AL code).

Note: This setting doesn't apply when a report uses a Word report layout at runtime.

You embed fonts in a PDF of a report to make sure that the PDF will use the same fonts as the original file, no matter where the PDF is opened and which fonts are installed on the computer. However, embedding fonts can significantly increase the size of the PDF files. Disabling font embedding decreases the size of the report PDF files.

Note: This setting is a global setting for font embedding in report PDF files. You can override this setting on a report basis by the specifying the PDFFontEmbedding property.

Default: Enabled
Dynamically Updatable: No
not available ReportingServicePort Specifies the listening TCP port for rendering RDLC reports in a separate process that runs side-by-side with the server instance. The port is used for internal communications between server instance and the reporting service process. If you don't specify a port or set it to 0, a random port provided by the operating system is used.

Default: 0
Dynamically Updatable: No

INTRODUCED IN: Version 20
not available CalculateBestPaperSizeForReportPrinting Determines the paper size to use when printing reports from the client.

If set to true, the system calculates which of the available paper sizes on the printer is best suited for printing, and then uses that paper size.

If set to false, the printer's default paper size is used.

Default: true

* APPLIES TO: Business Central 2020 release wave 2 and later

Query settings

The following table describes fields on the Query tab in the Business Central Server Administration tool.

Setting Key Name Description
Max Execution Timeout QueryTimeout Specifies the maximum execution time that it can take to generate a query. If exceeded, the query will be canceled by the server. If you don't want a limit, set the value to MaxValue.

Timeout format: [dd.]hh:mm:ss[.ff]

Default: MaxValue
Dynamically Updatable: Yes
Max Rows QueryMaxRows Specifies the maximum number of rows that can be processed in a query. If exceeded, the query will be canceled by the server. You can also use MaxValue to indicate no limit. If you don't want a limit, set the value to MaxValue.

Default: MaxValue
Dynamically Updatable: Yes

Extensions settings

The following table describes fields on the Extensions tab in the Business Central Server Administration tool.

Setting Key Name Description
Enable Profile Cache Synchronization EnableProfileCacheSynchronization Specifies whether profile cache synchronization across multiple server instances is enabled. This setting is relevant when there's more than one server instance connected to the same database or tenant. When not enabled, changes done to profile configurations on one server instance won't show on other server instances until the first server instance is restarted. When enabled, profile configuration changes will be automatically synchronized and propagated across all server instances. However, enabling this setting will lower the tenant performance.

For more information about profiles and configurations, see Designing Profiles.

Default: Not enabled (false)
Dynamically Updatable: No
Overwrite Existing Translations OverwriteExistingTranslations Specifies whether to overwrite existing text translations in the base application with text translations included in extensions.

Default: Enabled
Dynamically Updatable: No
Required Extensions RequiredExtensions Specifies a list of required extensions that can't be uninstalled by using the Extension Management page in the client. The extensions can still be uninstalled by using the Uninstall-NAVApp cmdlet of the Business Central Administration Shell.

You specify an extension by its AppID (which is a GUID). When you've more than one extension, separate each AppID with a semicolon. The AppID for the BaseApp extension is 437dbf0e-84ff-417a-965d-ed2bb9650972 and System Application extension is 63ca2fa4-4f03-4f2b-a480-172fef340d3f.

Default: Blank or "" (empty string)
Dynamically Updatable: Yes

APPLIES TO: Business Central 2019 release wave 2 (version 17.0) and later
Solution Version Extension SolutionVersionExtension Specifies the ID of the extension whose version number will show as the Application Version on the client's Help and Support page. Typically, you'd use the extension considered to be your solution's base application. If your solution uses the Microsoft Base Application, set the value to 437dbf0e-84ff-417a-965d-ed2bb9650972.

Default: 00000000-0000-0000-0000-000000000000
Dynamically Updatable: Yes

Development settings

The following table describes fields on the Development tab in the Business Central Server Administration tool.

Setting Key Name Description
Allowed Extension Target Level ExtensionAllowedTargetLevel Specifies the allowed target level when publishing extensions. The options are Internal, Extension, Solution, Personalization, Cloud, and OnPrem.

Note: The Internal, Extension, Solution, and Personalization options have been deprecated and replaced with Cloud and OnPrem.

- If you specify the OnPrem option, the allowed compilation target is set to everything on-premises. The OnPrem setting allows using all restricted APIs. The target setting in the app.json file must also be set to OnPrem. For more information, see JSON Files.

- If you specify the Cloud option, the allowed extension target level is set to SaaS.

- By adding the setting "target":"Cloud" in the manifest enables you to submit the extension to AppSource.

Note: It's recommended to use either OnPrem or Cloud options to set Allowed Extension Target Level.

Default: Internal
Dynamically Updatable: No
Debugger – Long Running SQL Statements Threshold LongRunningSqlStatementsInDebuggerThreshold Specifies the amount of time (in milliseconds) that an SQL query can run before it's logged in debugger telemetry.

Default: Enabled
Dynamically Updatable: Yes
Debugger - Number of SQL Statements to Show AmountOfSqlStatementsInDebugger Specifies the number of SQL statements used in the debugger. The higher number you choose, the more data will be sent to the debugger.

Default: Enabled
Dynamically Updatable: Yes
Debugger - Show Long Running SQL Statements EnableLongRunningSqlStatementsInDebugger Specifies whether long running SQL statements will be shown in the debugger.

Default: Enabled
Dynamically Updatable: Yes
Debugger - Show SQL Statements EnableSqlInformationDebugger Specifies whether the debugger should collect the last used SQL statements and show them in the debugger.

Default: Enabled
Dynamically Updatable: Yes
Debugging Allowed DebuggingAllowed Specifies whether AL debugging is allowed for the Business Central Server instance.

Default: Enabled
Dynamically Updatable: No
Enable Debugging EnableDebugging Specifies whether the Business Central Server instance starts with debugging enabled.

If this option is enabled, the following occurs:

When the client first connects, all C# files for the application are generated. C# files persist between Business Central Server restarts. Application objects are compiled with debug information.

Default: Not enabled
Dynamically Updatable: No
Enable Developer Service Endpoint DeveloperServicesEnabled Specifies whether the Developer service endpoint is enabled. This setting must be enabled to publish extensions and download symbols.

- If the check box is selected, the extension can be published to the allowed extension target level.

- If the check box isn't selected, the extension can't be published.

- This setting can also be controlled from the .xml file.

Default: Not enabled (check box is cleared)
Dynamically Updatable: No
Enable Loading Application Symbol References at Server Startup EnableSymbolLoadingAtServerStartup Specifies whether application symbol references should be loaded at server startup. This setting must be enabled to allow any symbol generation. If the setting isn't enabled, the generatesymbolreference setting doesn't have any effect. For more information, see Running C/SIDE and AL Side-by-Side.

Default: Not enabled (check box is cleared)
Dynamically Updatable: No
Enable Multithreaded Compilation of Published Extensions Service Endpoint EnableMultithreadedCompilation Specifies whether to use multiple threads for compiling AL extensions that are published to the server instance. Using multiple threads can make compilation faster, but might impact the responsiveness of other sessions that are running on the server instance.

Default: Enabled
Dynamically Updatable: No

APPLIES TO: Business Central 2019 release wave 2 (version 17.0) and later.
Enable SSL DeveloperServicesSSLEnabled Specifies whether SSL (HTTPS) is enabled for the developer web service port.

SSL (Secure Sockets Layer) secures the connection for the web services.

- If the check box is selected, then SSL is enabled.

- If the check box isn't selected, the developer web service port can't establish a secure connection.

Default: Not enabled (check box is cleared)
Dynamically Updatable: No
Enable Test Automation TestAutomationEnabled Specifies whether test automation is enabled.

For more information about test automation, see Testing the Application Overview.

Default: Enabled
Dynamically Updatable: No
HttpClient AL Function Maximum Timeout NavHttpClientMaxTimeout Specifies the maximum allowed timeout value that can be set for the HttpClient Timeout AL method.

The value has the format HH:MM:SS.

Default: 00:05:00
Dynamically Updatable: Yes
HttpClient AL Function Response Size NavHttpClientMaxResponseContentSize Specifies the maximum size in megabytes of a response buffer used by the HttpClient AL function.

The maximum allowed extension size can be adjusted based on the HttpClient AL Function Maximum Timeout setting.

Default: 15
Dynamically Updatable: Yes
Port DeveloperServicesPort The listening HTTP port for Microsoft Dynamics NAV Developer web services.

Valid range: 1 - 65535
Default: 7049
Dynamically Updatable: No
not available ForceExtensionAllowedTargetLevel This setting is only used for Business Central on-premises scenarios using Microsoft Entra ID from Visual Studio Code in which case the setting must be set to true.
This setting is not available from the UI.
Default: false. For more information, see Using Microsoft Entra authentication for Business Central on-premises.

Compatibility settings

The following table describes settings that you can adjust for compatibility with other systems. In most cases, we don't recommend that you change these settings from their default values.

Setting Key Name Description
AL Legacy Compatible Date Format Culture List ALCompatibleDateFormatCultureList Specifies the list of language cultures for which dates will be formatted the same way they were in older Business Central versions. Values must be valid language culture names, such as da-DK and en-AU. Separate multiple entries with a comma, like: sv-SE,da-DK,en-AU. Use * as the value to specify legacy Al data formatting for all languages cultures.


Default:
Dynamically Updatable: Yes
Enable Client Callbacks in Write Transactions AllowSessionCallSuspendWhenWriteTransactionStarted Specifies whether callbacks from the server to clients are allowed during write transactions.

Client callbacks, for example, are used when displaying a dialog that requires user input. The setting applies to production and test environments. However, one of the main reasons for testing, to catch cases where a transaction is kept open during the suspension of AL execution.

Default: Enabled (check box is selected)
Dynamically Updatable: No
Enable Cloud Replication Maintenance EnableCloudReplicationMaintenance Specifies whether to keep the cloud replication status in the database up to date. When enabled, synchronize operations on tenants and extensions will update records in the Intelligent Cloud Status table, and set change tracking on tables that are configured to replicate data.

Enabling this setting isn't required for migrating most on-premises solutions to the cloud, and you'll improve synchronization and upgrade performance by disabling it.

Default: Disabled (check box is cleared)
Dynamically Updatable: Yes

APPLIES TO: Business Central 2020 release wave 2 (version 17.4) and later.
Security Protocol SecurityProtocol Specifies the default security protocol level for the server instance. This setting also controls the HttpClient.

Values: Ssl3, Tls, Tls11, Tls12, SystemDefault. For more information about these values, see SecurityProtocolType Enum.

Default: Tls12
Dynamically Updatable: No
Unsupported Language IDs * UnsupportedLanguageIds Specifies which installed Business Central languages aren't available for use in the clients. Use this setting to prevent including languages that have the same name but different culture identifiers (LCIDs). A culture identifier is a standard international numeric abbreviation. For example, the LCID for Spanish - Spain (Traditional) is 1034, and English - United States is 1033.

The setting's value is a semicolon-separated list that contains the LCIDs for each language.

Default: 1034
Dynamically Updatable: No
Use Client Timestamp For Report Execution Timestamp ReplaceReportExecutionTimeWithClientTime Specifies whether to replace the report execution timestamp with the client timestamp instead of the server instance timestamp.

Default: Enabled (check box is selected)
Dynamically Updatable: No
Use FIND('-') to Populate Pages Instead of FIND('=><') UseFindMinusWhenPopulatingPage Specifies whether pages are initially populated by using FIND('-') instead of FIND('=><'). This setting is relevant to pages that display lists in descending order. Enabling this setting ensures that the first record, instead of the last record, is in focus when the page opens. Pages that use the OnFindRecord trigger will ignore this setting and always use FIND('=><').

Default: Enabled (check box is selected)
Dynamically Updatable: No
Use Permission Sets From Extensions ** UsePermissionSetsFromExtensions Specifies whether to use permission sets that are defined as AL objects in extensions or as data stored in the database.

For more information, see Entitlements and Permissions Sets Overview.

Default: Enabled (check box is selected)
Dynamically Updatable: No

* Introduced in Business Central 2020 release wave 1, update 16.4.

** Introduced in Business Central 2021 release wave 1.

Important

Starting March, 2020, Business Central only supports Transport Layer Security (TLS) version 1.2 or later. This applies to Business Central 2019 release wave 2 online and on-premises (version 15.x). Upgrade to Business Central 2019 release wave 2 or later to remove support for earlier versions of TLS. If your solution or an add-on uses TLS 1.0 or 1.1, you must update that configuration or add-on to TLS 1.2 or later as soon as possible. For more information, see Blog post: Update to TLS 1.2 or later in Dynamics 365 Business Central in 2019 release wave 2.

Upgrade settings

APPLIES TO: Business Central 2019 release wave 2 and later

The following table describes fields on the Upgrade tab in the Business Central Server Administration tool.

Setting Key Name Description
Integration Records Table (ID) IntegrationRecordsTableId Specifies the ID of the application table that is used to store integration record IDs. This setting only applies when you upgrade from Business Central Spring 2019 (version 14) to Business Central 2019 release wave 2 (version 15). It ensures that current integration record IDs that are used in the application can be used as-is after upgrade.

When a database is upgraded, a SystemId column will be added to the Integration Records table, and each record in the table will be assigned a SystemId value. The base application looks to this column to identify integration records. If you specify the Integration Records Table (ID) setting, the data upgrade process will set the SystemId to the same value as integration record ID; otherwise, the value is randomly assigned by the system.

If you aren't upgrading to the Business Central 2019 release wave 2 base application, you can either skip this upgrade step by setting the value to 0. This is the case, when you've a fully customized application or you're only doing a technical upgrade. Or, if you 're using a different integration record table than 5151 Integration Record, set the value to ID of your custom integration record table. The custom integration record table must include the following columns as a minimum (with exact naming): Integration ID, Record ID, Table ID.

Default: 5151
Dynamically Updatable: Yes
not available DestinationAppsForMigration Specifies the extensions that Microsoft and 3rd-party extensions have a dependency on. The dependencies typically include the base application, system application, and test application. Only use this setting when upgrading from Business Central Spring 2019. The setting is used during the data upgrade process. If configured, when an extension is published, the server instance will automatically modify the manifest of the extension to include the required dependencies.

Default:
Dynamically Updatable: No

External event settings

APPLIES TO: Business Central 2023 release wave 2 and later

The following table describes parameters related to the external business events functionality. Learn more about business events on Business Central.

Setting Key Name Description
not applicable ExternalEventsEnabledServiceLevel Specifies whether the business events functionality is enabled at the server level. When disabled, this functionality can't be enabled at the environment level. However, when enabled, it can be overridden (disabled) at the environment level.

Default: Enabled
Dynamically Updatable: No
not applicable ExternalEventsEnabledEnvironmentLevel Specifies whether the business events functionality is enabled by default at the environment level. This setting can be used in conjunction with the 'EnableExternalEvents' environment setting to override behavior for specific environments. If the server setting 'ExternalEventsEnabledServiceLevel' is disabled, however, this setting is ignored.

Default: Enabled
Dynamically Updatable: Yes
not available ExternalEventsActivityLogRetentionDays Specifies the number of days records in the External Event Activity Log table are retained.

Default: 7
Dynamically Updatable: No
not available ExternalEventsActivityLogCleanupBatchSize Specifies maximum number of records to remove from the External Event Activity Log table during cleanup as a part of a single transaction.

Default: 50000
Dynamically Updatable: No

Using Business Central Administration Shell to modify server instance settings

The Business Central Administration Shell includes several Set- cmdlets that enable you to create and modify Business Central Server instances.

The main cmdlet for configuring a server instance is the Set-NAVServerConfiguration cmdlet. You can use this cmdlet to change any of the configuration settings that are listed in the previous sections. To change a configuration setting, you set -KeyName parameter to the Key Name that corresponds to the setting, and set the -KeyValue parameter to the new value. For example, you can change the value for DatabaseServer to DatabaseServer.Domain.Com for the server instance named MyInstance by executing this cmdlet:

Set-NAVServerConfiguration -ServerInstance "MyInstance" -KeyName "DatabaseServer" -KeyValue "DatabaseServer.Domain.Com"  

Modifying dynamically updatable settings

For dynamically updatable settings, use the -ApplyTo parameter to specify how to apply the change. The change can be written directly to the configuration file (CustomSettings.config) and applied to the current server instance state. The option you choose will determine whether a server instance restart is required for the change to take effect. The parameter has three options, as described in the following table:

Option Description
ConfigFile Saves the change to the configuration file of the server instance. The change won't take effect until the server instance is restarted.
Memory Applies the change only to the server instance's current state. The changes take effect immediately, without having to restart the server instance. The change is stored in memory. The next time the server instance is restarted, it reverts to the setting in the configuration file.
All Applies the change to the server instance's current setting state (in memory) and to the configuration file. The changes take effect immediately, without having to restart the server instance.

For example, the following command sets the value for the MaxStreamReadSize key to 42424242, without having to restart the server instance.

Set-NAVServerConfiguration -ServerInstanceMyInstance -KeyName MaxStreamReadSize -KeyValue 42424242 -ApplyTo Memory  

For more information about running the Business Central Administration Shell, see Microsoft Dynamics NAV Windows PowerShell Cmdlets.

See Also

Configuring Business Central Web Server Instances
Business Central Server Administration Tool
Enhancing Business Central Server Security
Business Central Windows PowerShell Cmdlets
Configuring Help
Hiding UI Elements
Debugging