Это просто вопрос выполнения следующего, как указано в https://msdn.microsoft.com/en-us/library/tcbchxcb(v=vs.110).aspx,. Если для параметра READ_COMMITTED_SNAPSHOT установлено значение OFF, необходимо явно установить уровень изоляции для каждого сеанса, чтобы получить доступ к версионным версиям. строки «. Ваша вторая команда ALTER DATABASE устанавливает READ_COMMITTED_SNAPSHOT ON, поэтому код не должен указывать этот TransactionScope.
Есть две стороны монеты производительности, когда кто-то ищет мнение о том, что производительность «достаточна», а не «недостаточна»: либо «предложение» подавляет, либо «спрос» подавляюще…. «может относиться к производительности и пространству, используемому tempdb, в то время как« спрос »может относиться к скорости, с которой происходит запись в tempdb. На стороне поставки можно использовать различные HW (от диска с одним шпинделем 5400 об / мин до массивов SSD). Что касается спроса, то это не проблема SQL Server (хотя не может быть должным образом нормализована структура базы данных), а проблема клиента.
Мои SQL-серверы видят, что клиенты одновременно требуют приблизительно 50 операций записи в минуту и 2000 пакетов в минуту, где записи обычно выполняются по OTLP / короткой стороне. У меня есть 1 ТБ баз данных и 30 ГБ tempdb для каждого SQL Server. Все базы данных в целом нормализованы до 3-й нормальной формы. Все базы данных работают на SSD. Я не беспокоюсь о превышении пропускной способности ввода-вывода диска tempdb. В результате у меня не было проблем с включением изоляции снимков в моих системах. Но я видел другие системы, в которых была предпринята попытка включения изоляции моментального снимка, но она была быстро заброшена.
Опыт вашей системы может отличаться от системы любого другого респондента на порядки. Вы должны стремиться профилировать / надежно воспроизводить записи вашей системы, а также воспроизводить другие варианты использования базы данных tempdb (включая сортировки), чтобы прийти к собственным выводам для вашей собственной системы (для различных HW с достаточным пространством для результирующих результатов вашей системы). размер базы данных). Нагрузочное тестирование не должно быть запоздалой мыслью :). Вам также следует оценить производительность IO вашего диска tempdb - см. https://technet.microsoft.com/library/Cc966412, и быть готовым потратить больше денег, если пропускная способность IO окажется недостаточной.