Estou em um debate sobre se você também precisa definir ALLOW SNAPSHOT ISOLATION no próprio tempdb ou apenas nos bancos de dados do usuário para que a funcionalidade seja ativada (além do código que faz referência a isso)?
A maioria dos artigos e exemplos parece definir a propriedade apenas no próprio banco de dados do usuário e deixar o tempdb como OFF como está. Mas então encontrei este link Pro SQL Server 2005 Database Design and Optimization , que diz:
(Você pode até fazer isso no tempdb)
alter database tempdb set allow_snapshot_isolation on
É necessário configurá-lo também no tempdb além do banco de dados do usuário ou apenas no banco de dados do usuário?
O objetivo principal é para um aplicativo que precisa ter o isolamento de instantâneo ativado.
não
Habilitar o Snapshot Isolation para o banco de dados do usuário em que seus usuários executarão consultas é suficiente. Ativá-lo para tempdb é desnecessário para que funcione.
O controle de versão de linha ocorrerá em tempdb, a menos que você habilite a recuperação acelerada do banco de dados, independentemente de o isolamento de instantâneo estar habilitado para tempdb.