O SQL Server 2017 possui alguns novos procedimentos armazenados:
- sp_refresh_single_snapshot_view - parâmetro de entrada para @view_name nvarchar (261), @rgCode int
- sp_refresh_snapshot_views - param de entrada para @rgCode int
E novas entradas no sys.messages:
- 10149 - O índice que possui SNAPSHOT_MATERIALIZATION não pode ser criado na visualização '%. * Ls' porque a definição de visualização contém tabelas com otimização de memória.
- 10642 - SNAPSHOT_MATERIALIZATION não pode ser definido para o índice '%. * Ls' em '%. * Ls' porque é aplicável apenas aos índices nas visualizações.
- 10643 - SNAPSHOT_MATERIALIZATION não pode ser definido para '%. * Ls' em '%. * Ls' porque é aplicável apenas a índices agrupados em visualizações.
- 10648 - SNAPSHOT_MATERIALIZATION não pode ser definido para o índice particionado '%. * Ls' em '%. * Ls'.
- 10649 - O índice não clusterizado '%. * Ls' não pode ser criado em '%. * Ls' que agrupou o índice '%. * Ls' com SNAPSHOT_MATERIALIZATION.
- 10650 - A atualização da (s) visualização (ões) de captura instantânea requer que o isolamento de captura instantânea seja ativado no banco de dados.
- 3760 - Não é possível descartar o índice '%. * Ls' na exibição '%. * Ls' que possui SNAPSHOT_MATERIALIZATION.
- 4524 - Não é possível alterar a exibição '%. * Ls' porque possui materialização de captura instantânea.
- 4525 - Não é possível usar a dica '% ls' na exibição '%. * Ls' que possui materialização de captura instantânea antes que a exibição seja atualizada.
E novos eventos estendidos:
Então, como podemos criar uma visualização materializada por snapshot? (A Microsoft ainda não documentou isso, obviamente.) Aqui está um resumo das coisas que tentei até agora e que não funcionaram.
fonte