SQL Server 2017 comporte quelques nouvelles procédures stockées:
- sp_refresh_single_snapshot_view - paramètre d'entrée pour @view_name nvarchar (261), @rgCode int
- sp_refresh_snapshot_views - paramètre d'entrée pour @rgCode int
Et nouvelles entrées dans sys.messages:
- 10149 - Impossible de créer un index comportant SNAPSHOT_MATERIALIZATION dans la vue '%. * Ls' car la définition de la vue contient des tables optimisées pour la mémoire.
- 10642 - SNAPSHOT_MATERIALIZATION ne peut pas être défini pour l'index '%. * Ls' sur '%. * Ls' car il ne s'applique qu'aux index sur les vues.
- 10643 - SNAPSHOT_MATERIALIZATION ne peut pas être défini pour '%. * Ls' sur '%. * Ls' car il ne s'applique qu'aux index clusterisés sur les vues.
- 10648 - SNAPSHOT_MATERIALIZATION ne peut pas être défini pour l'index partitionné '%. * Ls' sur '%. * Ls'.
- 10649 - Impossible de créer l'index non clusterisé '%. * Ls' sur '%. * Ls' comportant un index clusterisé '%. * Ls' avec SNAPSHOT_MATERIALIZATION.
- 10650 - L'actualisation des vues d'instantané nécessite l'activation de l'isolation de l'instantané sur la base de données.
- 3760 - Impossible de supprimer l'index '%. * Ls' dans la vue '%. * Ls' contenant SNAPSHOT_MATERIALIZATION.
- 4524 - Impossible de modifier la vue '%. * Ls' car elle comporte une matérialisation d'instantané.
- 4525 - Impossible d'utiliser l'indicateur '% ls' sur la vue '%. * Ls' comportant une matérialisation d'instantané avant l'actualisation de la vue.
Et nouveaux événements étendus:
Alors, comment pouvons-nous créer une vue matérialisée par un instantané? (Microsoft ne l'a pas encore documentée, évidemment.) Voici un résumé des choses que j'ai essayées jusqu'à présent et qui n'ont pas fonctionné.