SQL Server 2017 tiene un par de nuevos procedimientos almacenados:
- sp_refresh_single_snapshot_view - parámetro de entrada para @view_name nvarchar (261), @rgCode int
- sp_refresh_snapshot_views - parámetro de entrada para @rgCode int
Y nuevas entradas en sys.messages:
- 10149: el índice que tiene SNAPSHOT_MATERIALIZATION no se puede crear en la vista '%. * Ls' porque la definición de la vista contiene tablas optimizadas para la memoria.
- 10642 - SNAPSHOT_MATERIALIZATION no se puede establecer para el índice '%. * Ls' en '%. * Ls' porque solo es aplicable a los índices en las vistas.
- 10643 - SNAPSHOT_MATERIALIZATION no se puede establecer para '%. * Ls' en '%. * Ls' porque solo es aplicable a los índices agrupados en las vistas.
- 10648 - SNAPSHOT_MATERIALIZATION no se puede establecer para el índice particionado '%. * Ls' en '%. * Ls'.
- 10649: el índice no agrupado '%. * Ls' no se puede crear en '%. * Ls' que tiene el índice agrupado '%. * Ls' con SNAPSHOT_MATERIALIZATION.
- 10650 - La actualización de las vistas de instantáneas requiere que el aislamiento de instantáneas esté habilitado en la base de datos.
- 3760: no se puede eliminar el índice '%. * Ls' en la vista '%. * Ls' que tiene SNAPSHOT_MATERIALIZATION.
- 4524: no se puede modificar la vista '%. * Ls' porque tiene materialización de instantánea.
- 4525 - No se puede usar la sugerencia '% ls' en la vista '%. * Ls' que tiene materialización de instantánea antes de que se actualice la vista.
Y nuevos eventos extendidos:
Entonces, ¿cómo podemos crear una vista materializada con instantáneas? (Microsoft aún no lo ha documentado, obviamente). Aquí hay una idea general de las cosas que he probado hasta ahora que no han funcionado.