Erstellen einer speicheroptimierten Tabelle
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance
Speicheroptimierte Tabellen sind ein Feature von SQL Server, bei dem sich die gesamte Tabelle im Arbeitsspeicher befindet. Eine zweite Kopie der Tabellendaten wird auf Festplatte gespeichert. Daten in speicheroptimierten Tabellen werden nur während der Datenbankwiederherstellung vom Datenträger gelesen. Dies ist beispielsweise nach einem Neustart des Servers der Fall. Speicheroptimierte Tabellen können im Tabellen-Designer in Azure Data Studio erstellt werden.
Hinweis
Speicheroptimierte Tabellen müssen zu einer Dateigruppe gehören. Weitere Informationen hierzu finden Sie in dieser Dokumentation zu speicheroptimierten Dateigruppen.
Speicheroptimierte Tabellen müssen über einen nicht gruppierten Primärschlüssel verfügen. Eine Einführung in speicheroptimierte Tabellen finden Sie im Artikel Einführung in speicheroptimierte Tabellen. Darüber hinaus müssen alle speicheroptimierten Tabellen mindestens einen Index aufweisen.
Erstellen einer speicheroptimierten Tabelle
Um eine speicheroptimierte Tabelle zu erstellen, muss für die Datenbank eine Dateigruppe erstellt worden sein. Öffnen Sie im Objekt-Explorer ein neues Abfrage-Editor-Fenster auf Serverebene, da wir eine völlig neue Datenbank erstellen, in der die speicheroptimierte Tabelle abgelegt wird. Kopieren Sie im Abfrage-Editor den folgenden Code, fügen Sie ihn ein, und führen Sie ihn aus:
CREATE DATABASE imoltp GO -------------------------------------- -- create database with a memory-optimized -- filegroup and a container. ALTER DATABASE imoltp ADD FILEGROUP imoltp_mod CONTAINS MEMORY_OPTIMIZED_DATA; ALTER DATABASE imoltp ADD FILE ( name='imoltp_mod1', filename='c:\data\imoltp_mod1') TO FILEGROUP imoltp_mod; ALTER DATABASE imoltp SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = ON; GO --
Mit dem oben genannten Code wird eine neue Datenbank erstellt. Der Datenbank wird eine Dateigruppe hinzugefügt, und der Dateigruppe wird eine Datei hinzugefügt. Schließlich wird die Isolationsstufe für jede speicheroptimierte Tabelle, die dieser Datenbank hinzugefügt wurde, auf SNAPSHOT festgelegt.
Erstellen Sie als Nächstes Ihre Tabelle, indem Sie die imoltp-Datenbank im Objekt-Explorer öffnen, mit der rechten Maustaste auf den Ordner Tabellen klicken und Neue Tabelle auswählen. Daraufhin wird die Tabellen-Designeransicht geöffnet. Weisen Sie den Primärschlüssel für diese Tabelle zu (stellen Sie sicher, dass dieser Primärschlüssel nicht gruppiert ist, indem Sie das Kontrollkästchen Gruppiert in den Primärschlüssel-Einstellungen deaktivieren).
Im Bereich Tabelleneigenschaften. Aktivieren Sie das Kontrollkästchen Speicheroptimiert. Daraufhin wird die Dropdownliste „Dauerhaftigkeit“ angezeigt, in der Sie auswählen können, ob nur das Schema im Arbeitsspeicher oder sowohl das Schema als auch die Daten im Arbeitsspeicher gespeichert werden sollen. Wenn Sie „Schema“ auswählen, wird nur das Schema Ihrer Datenbank im Arbeitsspeicher gespeichert. Wie unten gezeigt, wird das Skript aktualisiert, um die Änderungen widerzuspiegeln.
Wenn Sie Schema auswählen, wird nur das Schema im Arbeitsspeicher gespeichert. Wenn Sie Schema and Daten auswählen, werden sowohl das Schema als auch die Daten im Arbeitsspeicher gespeichert. Beachten Sie die Änderung im Skript.
Hinweis
Der Tabellen-Designer unterstützt auch Hashindizes und Columnstore-Indizes, die beim Erstellen der speicheroptimierten Tabelle konfiguriert werden können.