SQL Server 2017 verfügt über einige neue gespeicherte Prozeduren:
- sp_refresh_single_snapshot_view - Eingabeparameter für @view_name nvarchar (261), @rgCode int
- sp_refresh_snapshot_views - Eingabeparameter für @rgCode int
Und neue Einträge in sys.messages:
- 10149 - Ein Index mit SNAPSHOT_MATERIALIZATION kann für die Sicht '%. * Ls' nicht erstellt werden, da die Sichtdefinition speicheroptimierte Tabellen enthält.
- 10642 - SNAPSHOT_MATERIALIZATION kann nicht für den Index '%. * Ls' für '%. * Ls' festgelegt werden, da er nur für Indizes für Ansichten gilt.
- 10643 - SNAPSHOT_MATERIALIZATION kann nicht für '%. * Ls' in '%. * Ls' festgelegt werden, da es nur für Clustered-Indizes für Ansichten gilt.
- 10648 - SNAPSHOT_MATERIALIZATION kann nicht für den partitionierten Index '%. * Ls' für '%. * Ls' festgelegt werden.
- 10649 - Der nicht gruppierte Index '%. * Ls' kann nicht für '%. * Ls' erstellt werden, für den der Index '%. * Ls' mit SNAPSHOT_MATERIALIZATION gruppiert wurde.
- 10650 - Für die Aktualisierung von Snapshot-Ansichten muss die Snapshot-Isolation in der Datenbank aktiviert sein.
- 3760 - Der Index '%. * Ls' für die Ansicht '%. * Ls' mit SNAPSHOT_MATERIALIZATION kann nicht gelöscht werden.
- 4524 - Die Ansicht '%. * Ls' kann nicht geändert werden, da sie über eine Momentaufnahme-Materialisierung verfügt.
- 4525 - Hinweis '% ls' für Ansicht '%. * Ls' mit Momentaufnahme-Materialisierung kann nicht verwendet werden, bevor die Ansicht aktualisiert wird.
Und neue Extended Events:
Also, wie können wir eine Snapshot-materialisierte Ansicht erstellen? (Microsoft hat es offensichtlich noch nicht dokumentiert.) Hier ist eine Zusammenfassung der Dinge, die ich bisher ausprobiert habe und die nicht funktioniert haben.