ERR-202606-002
CRITICAL
ASSIGNED
SQL Server deadlock khi chốt sổ cuối tháng
| Phòng ban | IT |
| Nhóm PIC | DBA |
| Module | SQL Server |
| Người Report | Tuong Nguyen Anh (PO) · tuong247@gmail.com |
| PIC | Anh Tuấn (IT Lead) · tuan@vietdang.vn |
| Ngày báo | 2026-06-30 |
| Cập nhật | 2026-06-09 |
| Due date | 2026-06-30 |
| Resolved | — |
| Tags | sql-serverdeadlockperiod-close1205 |
Mô tả
Mô tả
Cuối tháng khi kế toán chạy chốt sổ song song với Sales tạo invoice → SQL Server báo error 1205 (deadlock victim) cho 20-30 user.
Bằng chứng
- Extended Events
system_healthcapture 47 deadlock events trong 2026-06-30 từ 14:00-17:00 - Top victim queries: UPDATE OINV + UPDATE OCRD batch chốt sổ
Mức độ ảnh hưởng
- Tần suất: peak cuối tháng (1-2 ngày/tháng)
- User ảnh hưởng: ~30 Sales rep + 5 kế toán
- Business cost: trễ closing 4 giờ, overtime ~3tr/lần
Tiêu chuẩn cần đạt
- Microsoft: deadlock < 5/day cho production OLTP
- Hiện tại VDG: 47 deadlock trong 3 giờ peak
Giải pháp đề xuất
- Bật
READ_COMMITTED_SNAPSHOT(test staging trước) - Implement retry logic + backoff
- Refactor batch chốt sổ chia nhỏ batch < 500 rows
- Schedule chốt sổ ngoài giờ Sales (sau 18:00)
Xem chi tiết: sql_server_deadlock_errors_troubleshooting.md