мій старший сказав мені, що для виконання SQL Query за замовчуванням не блокується таблиця.
Це правда. Однак це не означає, що запит не може заблокувати таблицю.
чи звіт SSRS насправді блокує будь-які таблиці, які запитуються?
SSRS отримує дані, які використовуються для візуалізації звіту, шляхом запуску запиту або збереженої процедури проти бази даних.
Цей запит визначає розробник, і він може закінчитися блокуванням таблиці (або таблиць), залежно від рівня ізоляції та кількості рядків. (Насправді, можуть бути випадки, коли ви хочете це зробити спеціально .) Суть полягає в тому, що розробник залежить від того, як працює запит на запит. SSRS не може вирішити цю проблему для вас. Тому немає жодної документації.
Розглянемо (наприклад):
- Використовуйте,
READ UNCOMMITTED
якщо брудні читання в порядку
- Увімкнення та використання рівня ізоляції знімків
- Увімкніть доставку журналу в режимі очікування та запустіть запити проти копії, яка лише для читання
SET TRANSACTION ISOLATION LEVEL
наприклад,READ UNCOMMITTED
якщо ви не заперечуєте, ризикуючи прочитати кілька брудних читань.