Переключить базу данных под 1С в режим версионирования

КОНФИГУРАЦИЯ 1С ДОЛЖНА БЫТЬ В РЕЖИМЕ УПРАВЛЯЕМЫХ БЛОКИРОВОК

мы готовы помочь перевести вашу конфигурацию на управляемый режим блокировок

1) Выгоняем всех из базы (можно даже застропорить сервер 1с)
2) Открываем SQL Server Management Studio, New Query
3) Пишем:

USE [master]
GO
ALTER DATABASE [Моя База] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [Моя База]
SET ALLOW_SNAPSHOT_ISOLATION ON

ALTER DATABASE [Моя База]
SET READ_COMMITTED_SNAPSHOT ON
ALTER DATABASE [Моя База] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO

где «Моя База» естественно нужно заменить на название вашей базы данных

Примечание. В «родном режиме» (без совместимости с 8.2) 1С 8.3 этот режим уже включен. Если у Вас 8.2 или режим совместимости, то надо помнить что рестарт сервера 1С может «сбросить версионирование».

Определить состояние базы можно скриптом

select name,snapshot_isolation_state_desc,is_read_committed_snapshot_on  from sys.databases

Как работает версионирование

Берем примеру десять пользователей, которые читают остатки на складе.
В обычном режиме MS SQL Server каждый делает попытку наложить блокировку на строку с нужной записью остатков.
Когда вы включите версионирование, то каждый пользователь прочитает ВЕРСИЮ,
которая предварительно будет помещена из основной базы в tempdb.
Затем сделает транзакцию и удалит версию.

Если положить tempdb на медленные диски (умышлено), то по отношению к текущему состоянию скорость в рамках одного потока замедлится, но общая параллельность все равно улучшиться.

Надо понимать что любые технические решения имеют ВСЕГДА И ПЛЮСЫ И МИНУСЫ
и надо уметь выбирать какие плюсы имеют большее значение чем минусы!

Включение версионирования при зеркалировании http://blogs.msdn.com/b/sqlcat/archive/2010/03/16/how-to-enable-rcsi-for-a-database-with-database-mirroring.aspx

Задать вопрос по нюансом этой технологии можно в форум.