---
id: post/duiliotacconi-com/1425
type: post
title: Optimized Locking feature vs Dynamics 365 Business Central
summary: Optimized Locking in SQL Server 2025 requires ReadCommitted transaction isolation, but Dynamics 365 Business Central uses RepeatableRead by default, preventing the feature from working effectively. The post examines tri-state locking, RCSI, and transaction isolation levels in both online and on-premises deployments.
tier: community
language: en
tags:
  - optimized locking
  - transaction isolation
  - concurrency
  - sql server 2025
  - azure sql
  - tri-state locking
  - rcsi
system: platform
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:00:53.043Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-post: 1
  input_hash: 6cc6fdabd9294e4d7c38d56653de344545d5f0081c1c2bd24a60b0c5cd6af25f
evidence:
  - kind: blog
    url: https://duiliotacconi.com/2025/05/30/optimized-locking-feature-vs-dynamics-365-business-central/
    title: Optimized Locking feature vs Dynamics 365 Business Central
    date: "2025-05-30"
    commit: null
    t: null
    quote: null
  - kind: blog
    url: https://duiliotacconi.com/2025/05/30/optimized-locking-feature-vs-dynamics-365-business-central/
    title: Optimized Locking feature vs Dynamics 365 Business Central
    date: "2025-05-30"
    commit: null
    t: null
    quote: Optimized Locking feature needs ReadCommitted (4096) transaction isolation - or any row versioning-based isolation levels - to effectively work at its best
  - kind: blog
    url: https://duiliotacconi.com/2025/05/30/optimized-locking-feature-vs-dynamics-365-business-central/
    title: Optimized Locking feature vs Dynamics 365 Business Central
    date: "2025-05-30"
    commit: null
    t: null
    quote: Hence, sorry but Optimized Locking feature won't kick in its full potential with almost all the typical Dynamics 365 Business Central transactions.
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
post_id: "1425"
source_id: duiliotacconi-com
source_name: Duilio Tacconi
url: https://duiliotacconi.com/2025/05/30/optimized-locking-feature-vs-dynamics-365-business-central/
published_at: "2025-05-30T14:53:28.000Z"
author: Duilio Tacconi
full_text: false
words: 728
quotes:
  - text: Optimized Locking feature needs ReadCommitted (4096) transaction isolation - or any row versioning-based isolation levels - to effectively work at its best
    why_it_matters: This explains the core incompatibility preventing BC from leveraging SQL Server 2025's new Optimized Locking capabilities
  - text: Hence, sorry but Optimized Locking feature won't kick in its full potential with almost all the typical Dynamics 365 Business Central transactions.
    why_it_matters: This is the main conclusion showing that BC cannot fully benefit from the new feature without architectural changes
code_objects_mentioned: []
systems:
  - platform
  - development
versions_mentioned:
  - 2024 Wave 2
  - v25
preview:
  embeddable: true
  frame_url: https://duiliotacconi.com/2025/05/30/optimized-locking-feature-vs-dynamics-365-business-central/embed/
  image: https://duiliotacconi.com/wp-content/uploads/2025/05/image-8.png
  image_alt: null
  image_w: 736
  image_h: 461
  site_name: Dynamics 365 Business Central tales, myths, legends. And something serious.
  favicon: https://duiliotacconi.com/wp-content/uploads/2023/07/cropped-wordpress.png?w=32
  probed_at: "2026-10-07T11:51:06.676Z"
---

# Optimized Locking feature vs Dynamics 365 Business Central

[Read the post](https://duiliotacconi.com/2025/05/30/optimized-locking-feature-vs-dynamics-365-business-central/) · Duilio Tacconi (Duilio Tacconi, MVP) · 2025-05-30 · 728 words · tier community · reviewed (checked by Opus)

> Optimized Locking in SQL Server 2025 requires ReadCommitted transaction isolation, but Dynamics 365 Business Central uses RepeatableRead by default, preventing the feature from working effectively. The post examines tri-state locking, RCSI, and transaction isolation levels in both online and on-premises deployments.

## Key points

- Tri-state locking and ReadIsolation in BC apply only to in-transaction single reads, while the default isolation level remains RepeatableRead
- Optimized Locking feature needs ReadCommitted isolation to function properly, but BC transactions typically use RepeatableRead (65536)
- BC 2024 Wave 2 made tri-state locking with RCSI the default for all deployments
- Web service and job queue sessions show different isolation levels like ReadUncommitted (256)
- The product group should consider changing BC's default isolation level from RepeatableRead to ReadCommitted for better optimization

## Quotes

- "Optimized Locking feature needs ReadCommitted (4096) transaction isolation - or any row versioning-based isolation levels - to effectively work at its best" (This explains the core incompatibility preventing BC from leveraging SQL Server 2025's new Optimized Locking capabilities)
- "Hence, sorry but Optimized Locking feature won't kick in its full potential with almost all the typical Dynamics 365 Business Central transactions." (This is the main conclusion showing that BC cannot fully benefit from the new feature without architectural changes)

## Context

- Features: Optimized Locking, Tri-state locking, Read Committed Snapshot Isolation (RCSI), AL ReadIsolation statement, Transaction isolation levels
- Versions: 2024 Wave 2, v25

Source: Duilio Tacconi, community blog. Summary, key points and quotes are derived (CONTENT-NOTICE.md); read the original for the full text.
