Как я могу получить существующие данные из базы данных SQL Server при обновлении многих строк? - PullRequest
0 голосов
/ 02 октября 2019

У нас есть программа, которая анализирует несколько файлов каждые полчаса и вставляет или обновляет данные в базе данных MS SQL Server. Проблема в том, что кажется, что программа совершает много операций за один раз. Раньше это не было проблемой, но недавно проанализированные файлы значительно увеличились в размере, и теперь каждые полчаса база данных перестает отвечать на запросы примерно на 5 минут, и мы не можем выполнить простой оператор выбора, пока программа завершает фиксациювсе изменения это делает.

Мы не можем изменить программу, так как я могу заставить базу данных извлекать старые строки, пока программа завершает фиксацию своих изменений, а не просто делает тайм-аут, как в настоящее время?

1 Ответ

0 голосов
/ 02 октября 2019

Вы можете изменить уровень изоляции базы данных, чтобы использовать изоляцию моментального снимка для чтения. https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/snapshot-isolation-in-sql-server

Прочтите эту статью, чтобы лучше понять последствия включения RCSI. Это может привести к снижению производительности и может привести к нежелательным результатам, так что тестируйте !: https://www.brentozar.com/archive/2013/01/implementing-snapshot-or-read-committed-snapshot-isolation-in-sql-server-a-guide/

...