Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Удаление большого количества записей  [new]
avsam
Member

Откуда:
Сообщений: 24
Добрый день,

есть таблица, из которой надо удалять записи миллионами штук.
Сначала записи маркируются, как неактивные.
Есть ли возможность удалять эти неактивные записи без необходимости постоянного соединения клиента с сервером.
Что-то типа хранимой процедуры, которая запускается и удаляет сама, не поддерживая постоянный коннект с клиентом.
2 дек 14, 18:39    [16939582]     Ответить | Цитировать Сообщить модератору
 Re: Удаление большого количества записей  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4901
Job или SSIS пакет
2 дек 14, 18:45    [16939607]     Ответить | Цитировать Сообщить модератору
 Re: Удаление большого количества записей  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
avsam
Добрый день,

есть таблица, из которой надо удалять записи миллионами штук.
Сначала записи маркируются, как неактивные.
Есть ли возможность удалять эти неактивные записи без необходимости постоянного соединения клиента с сервером.
Что-то типа хранимой процедуры, которая запускается и удаляет сама, не поддерживая постоянный коннект с клиентом.


Нажо заметить, что даже если бы процедура умела запускаться сама, то ей тоже нужен коннект
2 дек 14, 20:38    [16940060]     Ответить | Цитировать Сообщить модератору
 Re: Удаление большого количества записей  [new]
Alexander Us
Member

Откуда:
Сообщений: 1161
avsam,

Напишите T-SQL скрипт.

вариант 1) самое простое:

delete table xxxx where ...
недостаток: на время операции таблица будет заблокирована, т.е. у клиентских приложений могут возникнуть таймауты.

вариант 2) посложнее:
если не хотите надолго блокировать таблицу, удаляйте в цикле, по N записей.
или обычный цикл по записям, помеченым для удаления, или цикл c DELETE TOP N, выход по @@ROWCOUNT=0

запускайте скрипт прямо на сервере, из sql джоба (sql agent)
3 дек 14, 01:30    [16940934]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить