SQL Server 2017 ha un paio di nuove procedure memorizzate:
- sp_refresh_single_snapshot_view - input param per @view_name nvarchar (261), @rgCode int
- sp_refresh_snapshot_views - input param per @rgCode int
E nuove voci in sys.messages:
- 10149 - L'indice con SNAPSHOT_MATERIALIZATION non può essere creato sulla vista '%. * Ls' perché la definizione della vista contiene tabelle ottimizzate per la memoria.
- 10642 - SNAPSHOT_MATERIALIZATION non può essere impostato per l'indice '%. * Ls' su '%. * Ls' perché è applicabile solo agli indici nelle viste.
- 10643 - SNAPSHOT_MATERIALIZATION non può essere impostato per '%. * Ls' su '%. * Ls' perché è applicabile solo agli indici cluster nelle viste.
- 10648 - SNAPSHOT_MATERIALIZATION non può essere impostato per l'indice partizionato '%. * Ls' su '%. * Ls'.
- 10649 - L'indice non cluster '%. * Ls' non può essere creato su '%. * Ls' che ha un indice cluster '%. * Ls' con SNAPSHOT_MATERIALIZATION.
- 10650 - L'aggiornamento delle viste delle istantanee richiede che l'isolamento delle istantanee sia abilitato sul database.
- 3760 - Impossibile eliminare l'indice '%. * Ls' nella vista '%. * Ls' con SNAPSHOT_MATERIALIZATION.
- 4524 - Impossibile modificare la vista '%. * Ls' perché ha materializzazione istantanea.
- 4525 - Impossibile utilizzare il suggerimento '% ls' sulla vista '%. * Ls' che ha materializzazione istantanea prima che la vista venga aggiornata.
E nuovi eventi estesi:
Quindi, come possiamo creare una vista materializzata da un'istantanea? (Microsoft non lo ha ancora documentato, ovviamente.) Ecco un riassunto delle cose che ho provato finora che non hanno funzionato.