Я использую SQL2008 и .NET 4.
Следующий запрос UPDATE вызывает ошибки тайм-аута.
Таблица Страницы имеет 600 000 записей.
Ошибка:
System.Data.SqlClient.SqlException
(0x80131904): истекло время ожидания.
тайм-аут истек до
завершение операции или
Сервер не отвечает.
Запрос:
UPDATE Pages
SET Checked = 1 , LastChecked = GETDATE()
OUTPUT Inserted.ID, Inserted.Title INTO @Updated
WHERE ID in
(SELECT TOP (@Count) ID
FROM Pages
WHERE Checked = 0 and FileID = @FileID
ORDER BY ID)
SELECT * FROM @Updated
END
В другом потоке я вставляю записи в таблицу Pages
, это выполняется постоянно (страница добавляется каждые 1 секунду или меньше).
INSERT INTO Pages (Title ,.......)
VALUES (@Title , .......)
Почему я получаю ошибку тайм-аута и как я могу ее исправить?
Разве SQL не ждет бесконечно в ситуации блокировки?