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é.
la source