Configure Business Central Server

APPLIES TO: Business Central 2022 release wave 2 (version 21) and later. For later versions, see Configuring Business Central Server in outdated versions.

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.

Configure 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.

Configure 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:

Restart 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 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 general settings for the server.

Key Name Description
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
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
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
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
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
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
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
DataCacheSize The contextual size of the data cache. The value must be in the range 1-20.

Default: 9
Dynamically Updatable: Yes
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
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
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
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
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
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
ServicesCertificateValidationEnabled Specifies whether validation is done on the security certificate.

Default: Enabled
Dynamically Updatable: No
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
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
EnableALServerFileAccess Specifies whether AL functions of the file data type can access files on the Business Central Server computer.

Default: Enabled
Dynamically Updatable: No
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
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
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 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
LockoutPolicyFailedAuthenticationCount Specifies the number of failed sign-in attempts on a user account (within the time window set by the LockoutPolicyFailedAuthenticationWindow setting) at which the user account is disabled.

Default: 0
Dynamically Updatable: No
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
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
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
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
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 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
NetworkProtocol Specifies the network protocol for accessing the database.

Valid values: Default, Named, Sockets, MultiProtocol

Default: Default
Dynamically Updatable: No
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
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
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
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
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
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
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 SessionEventTableRetainInterval or NonInteractiveSessionsLogRetainInterval 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
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
TokenSigningCertificateValidationMode Specifies which certificate validation mode to use for token signing validation. This setting is applicable only if the ServicesCertificateValidationEnabled 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
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
ServicesUseNTLMAuthentication Specifies whether NTLM authentication is enabled for web services. To require Kerberos authentication, disable this option.

Default: Not enabled
Dynamically Updatable: No
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
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
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
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
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
XmlMetadataCacheSize For internal use only.

Default: 500

Database settings

The following table describes settings related to the database.

Note

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

Key Name Description
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
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
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
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
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

APPLIES TO: Version 23 and earlier. Removed in version 24.
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: Yesbr />
APPLIES TO: Version 23 and earlier.Removed in version 24.
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
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.
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
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
EnableSqlConnectionEncryption Specifies whether the SQL connect string should request encryption when connecting to SQL Server services.

Default: Not enabled
Dynamically Updatable: No
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
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
TrustSQLServerCertificate Specifies whether Business Central Server should trust the SQL Server certificate.

Default: Not enabled
Dynamically Updatable: No
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
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
SqlCommandTimeout Specifies the contextual time-out for a SQL command.

Default: 0:30:00
Dynamically Updatable: No
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
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
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 SqlCommandTimeout will be used. The value has the format hh:mm:ss.

Default: -1
Dynamically Updatable: Yes
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
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

Client services settings

The following table describes settings related to clients.

Key Name Description
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 ClientServicesProhibitedFileTypes 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
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.
ClientServicesCompressionThreshold The threshold in memory consumption at which Business Central Server starts compressing datasets, in kilobytes.

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

Default: Enabled
Dynamically Updatable: No
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 ExchangeAuthenticationMetadataLocation 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
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 ClientServicesIdleClientTimeout to equal or lower than the ClientServicesKeepAliveInterval, to enable ClientServicesIdleClientTimeout. You can also use MaxValue as a value to indicate no time-out.

Default: MaxValue
Dynamically Updatable: Yes
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
ClientServicesMaxItemsInObjectGraph The maximum number of objects to serialize or deserialize.

Default: 512
Dynamically Updatable: No
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
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
ClientServicesPort The listening HTTP port for client services.

Valid range: 1 - 65535
Default: 7085 (7046 in version 20 and earlier)
Dynamically Updatable: No
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 ClientServicesAllowedFileTypes 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
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
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
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 ClientServicesCredentialType is set to AccessControlService.

Default: EncryptAndSign
Dynamically Updatable: No
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
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

SOAP services settings

The following table describes settings related to SOAP services.

Key Name Description
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
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
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
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
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
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
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
SOAPServicesPort The listening HTTP port for SOAP web services.

Valid range: 1 - 65535
Default: 7047
Dynamically Updatable: No
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
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

OData services settings

The following table describes settings related OData services.

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
ODataEnableExcelAddInAnnotations Specifies whether Excel add-in annotations should be provided in OData metadata.

Default: Enabled
Dynamically Updatable: No
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
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
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 ODataReadonlyGetDisabledForObjects. This setting only applies if EnableSqlReadOnlyReplicaSupport is enabled. For more information, see Using Read Scale-Out for Better Performance

Default: Enabled
Dynamically Updatable: No
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
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
ODataMaxBodySize Specifies the maximum request body size, in megabytes, supported in OData.

Default: 350
Dynamically Updatable: No
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
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 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
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
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 ODataReadonlyGetEnabled is enabled.

Default:
Dynamically Updatable: No
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
ODataServicesPort The listening HTTP port for Business Central OData web services.

Valid range: 1 - 65535
Default: 7048
Dynamically Updatable: No
ODataV4MaxConcurrentRequests Specifies the maximum number of OData V4 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
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
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
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
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

Important

The maximum permitted size of an OData web services request is specified by the SOAPServicesMaxMsgSize setting the SOAP services section.

NAS services settings

The following table describes settings related to NAS services.

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.

Key Name Description
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
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
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
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
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 settings related to management services.

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

Default: Enabled
Dynamically Updatable: No

APPLIES TO: Version 21. Deleted and replaced by ManagementAPIServicesEnabled in later versions.
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
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

APPLIES TO: Version 21. Deleted and replaced by ManagementAPIServicesPort in later versions.
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.

ManagementApiServicesPort Specifies the listening TCP port for the management API services used by the Business Central Administration Shell

Default: 7086
Dynamically Updatable: No
ManagementApiServicesSSLEnabled Specifies whether SSL (HTTPS) is enabled for the management API services port.

Default: Not enabled
Dynamically Updatable: No

Azure key vault client identity and extension settings

The following table describes settings related to Azure key vault settings. 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.

Key Name Description
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
AzureKeyVaultClientCertificateStoreName Specifies the certificate store where the key vault reader certificate is stored.

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

Default: My
Dynamically Updatable: No
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
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 settings related to configuring 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 ClientServicesCredentialType is set to AccessControlService. For more information about authenticating using Microsoft Entra ID, see Authenticating Users with Microsoft Entra ID.

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
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
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 AzureActiveDirectoryClientCertificateThumbprint, with a fallback to use the AzureActiveDirectoryClientSecret.

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

Default:
Dynamically Updatable: No
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 ClientServicesCredentialType 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
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
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
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
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
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
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 ClientServicesCredentialType is set to AccessControlService. For more information, see Authenticating Users with Microsoft Entra ID.

Default:
Dynamically Updatable: No

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

Data encryption settings

The following table describes settings related to data encryption. For more information about data encyrption, see Data Encryption.

Key Name Description
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 settings.

Default: LocalKeyFile
Dynamically Updatable: No
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 settings related to tasks scheduler. The task scheduler processes jobs and other processes on a scheduled basis. For more information about task scheduler, see Task Scheduler.

Key Name Description
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
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
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
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
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
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
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
XmlMetadataCacheSize For internal use only.

Default: 500

Asynchronous processing settings

The following table describes settings related to asynchronous processing by the server.

Key Name Description
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
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
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
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
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
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
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
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 PageBackgroundTaskDefaultTimeout 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
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 PageBackgroundTaskMaxTimeout setting, the PageBackgroundTaskMaxTimeout 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 settings related to reports.

Key Name Description
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Query settings

The following table describes settings related to query objects.

Key Name Description
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
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 settings related to working with extensions.

Key Name Description
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
OverwriteExistingTranslations Specifies whether to overwrite existing text translations in the base application with text translations included in extensions.

Default: Enabled
Dynamically Updatable: No
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
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 settings related to development in AL.

Key Name Description
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 ExtensionAllowedTargetLevel.

Default: Internal
Dynamically Updatable: No
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
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
EnableLongRunningSqlStatementsInDebugger Specifies whether long running SQL statements will be shown in the debugger.

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

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

Default: Enabled
Dynamically Updatable: No
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
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
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
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
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
TestAutomationEnabled Specifies whether test automation is enabled.

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

Default: Enabled
Dynamically Updatable: No
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
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 NavHttpClientMaxTimeout setting.

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

Valid range: 1 - 65535
Default: 7049
Dynamically Updatable: No
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.

Key Name Description
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
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
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
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
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
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
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
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

Important

Starting March, 2020, with 2019 release wave 2, Business Central only supports Transport Layer Security (TLS) version 1.2 or later. Upgrade to one of the latest supported Business Central release waves 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

The following table describes settings related to upgrade.

Key Name Description
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
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 (version 23) and later

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

Key Name Description
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
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
ExternalEventsActivityLogRetentionDays Specifies the number of days records in the External Event Activity Log table are retained.

Default: 7
Dynamically Updatable: No
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