Заблокировать SQL-таблицу в течение определенного периода времени
Мы пытаемся протестировать наше новое программное обеспечение здесь, основанное на SQL 2005.
Мы хотим видеть, как он будет реагировать, когда одна из таблиц, которые программное обеспечение использует во время вставки/обновления, блокируется.
Есть ли способ в SQL 2005, который мы можем имитировать?
так что мы можем видеть, как мы можем справиться с ошибкой на лицевой стороне?
Ответы
Ответ 1
В SQL Server Management Studio запустите этот TSQL script (установите тайм-аут на то, что вам подходит)
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
UPDATE table
SET ColumnName = ColumnName
WAITFOR DELAY '00:02:00' -- 2 minutes hh:mm:ss
-- Run your test while table is locked and delay is counting down
ROLLBACK TRANSACTION
Ответ 2
Используя другой сеанс,
-
Сделайте BEGIN TRANSACTION
-
Вызов UPDATE table set columnName = columnName
-
Запустите тест
-
Проверьте свои результаты
-
COMMIT TRAN / ROLLBACK TRAN
транзакция