Я пишу некоторый код регистрации/аудита, который будет работать в процессе производства (не только при возникновении ошибок или при разработке). Прочитав Coding Horror's experiences with dead-locking and logging, я решил обратиться за советом. (Решение Джеффа «не регистрировать» для меня не сработает, это юридически подтвержденный аудит безопасности)Рекомендации по минимизации блокировки при добавлении только таблицы в MS SQL Server?
Есть ли подходящий уровень изоляции для минимизации конкуренции и блокировки? Любые подсказки подсказок, которые я могу добавить в инструкцию insert или хранимую процедуру?
Я глубоко забочусь о целостности транзакций для всего, кроме таблицы аудита. Идея состоит в том, что так много будет записано, что если несколько записей терпят неудачу, это не проблема. Если ведение журнала останавливает какую-либо другую транзакцию - это будет плохо.
Я могу войти в базу данных или файл, хотя вход в файл менее привлекателен, потому что мне нужно как-то отображать результаты. Запись в файл (почти) гарантирует, что регистрация не будет мешать другому коду.
какая версия сервера sql? –
SQL 2000, хотя слухи о том, что когда-нибудь офис перейдет на SQL 2008. – MatthewMartin