Моя проблема в том, что мне нужно удалить около 60 миллионов записей из таблицы, не вызывая взаимоблокировок с другими процессами, которые используют эту таблицу. На данный момент я почти закончил удаление записей, используя цикл while, который обрабатывает только около 1 млн. Записей за раз, однако это заняло весь день.
В1. Каков оптимальный способ удаления больших объемов данных из таблицы, при котором таблица остается в оперативном режиме и минимально влияет на другие ресурсы, которые должны использовать эту таблицу в MS SQL Server 2005?
В2. Есть ли способ реализовать блокировку отдельных строк (а не блокировку таблиц) в SQL Server, как в Oracle? (Примечание, отвечая на это, может ответить на вопрос Q1).
A2: Как @Remus Rusanu сообщил мне, что есть способ блокировка уровня строки с удалением.