Как разрешить одновременное чтение и запись на одну и ту же таблицу в SQL Server

590
curious1

У меня есть веб-сайт, который работает на MS SQL Server 2014 Enterprise с двумя кластерными виртуальными машинами и AlwaysOn.

Сайт часто читает и пишет на одном столе. Однако все операции чтения и записи всегда происходят в разных строках (записях). Другими словами, никогда не бывает, чтобы две или более операции чтения или записи происходили в одной и той же строке одновременно.

Как я могу настроить эту таблицу, чтобы убедиться, что запись или чтение строки в этой таблице не заблокирует доступ к другим строкам в той же таблице другими операциями чтения и записи одновременно? Например, две записи могут выполняться в таблице одновременно, поскольку они никогда не записывают в одну и ту же строку. В принципе, я бы хотел повысить производительность сайта и снизить шансы возникновения тупиковых ситуаций.

Спасибо за любой вклад!

1
Здравствуйте, DavidPostill, это вопрос о компьютерном программном обеспечении, в данном случае MS SQL Server. У каждого поставщика базы данных есть свои собственные способы выполнения уровней изоляции в дополнение к соблюдению общих концепций транзакций базы данных. Это не вопрос программирования. Я спрашиваю о том, как сделать это на SQL Server, конкретном программном продукте. curious1 6 лет назад 0
Попробуйте выполнить некоторое тестирование с помощью [Подсказки] (https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table) "* Следующие подсказки в таблице допускаются как с, так и без ключевое слово WITH: NOLOCK, READUNCOMMITTED, UPDLOCK, REPEATABLEREAD, SERIALIZABLE, READCOMMITTED, TABLOCK, TABLOCKX, PAGLOCK, ROWLOCK, NOWAIT, READPAST, XLOCK, SNAPSHOT и NOEXPAND * ". Также не забывайте, что существует сообщество SE https://dba.stackexchange.com/, посвященное таким вопросам SQL, поэтому ознакомьтесь с ними. Вы помечаете SQL 2008, но упоминаете 2015 в посте, что это, кстати? Pimp Juice IT 6 лет назад 1
@PimpJuiceIT, большое спасибо за помощь в этом и другом вопросе! У меня SQL 2014. Причина выбора SQL 2008 заключается в том, что я обнаружил, что в группах, связанных с SQL Server, так мало людей. curious1 6 лет назад 0
@PimpJuiceIT, если вы можете оставить свои комментарии как aswer, я выберу его в качестве решения. curious1 6 лет назад 0
Мод получил его с самого начала. Я прошу прощения. Вы возле Вашингтона, округ Колумбия? curious1 6 лет назад 0

0 ответов на вопрос