Anforderungen für die Verwendung von speicheroptimierten Tabellen

Gilt für: SQL Server

In diesem Artikel werden die Anforderungen für die Einführung von In-Memory-Features in SQL Server beschrieben.

Anforderungen

Zusätzlich zu SQL Server 2022: Hardware- und Softwareanforderungen gelten für die Verwendung von In-Memory-OLTP folgende Anforderungen:

  • SQL Server 2016 (13.x) SP 1 und höhere Versionen, beliebige Edition. Für SQL Server 2014 (12.x) und SQL Server 2016 (13.x) RTM (vor SP1) benötigen Sie die Enterprise, Developer oder Evaluation Edition.

  • In-Memory-OLTP erfordert die 64-Bit-Version von SQL Server.

  • SQL Server benötigt ausreichend Arbeitsspeicher, um die Daten in speicheroptimierten Tabellen und Indizes aufzunehmen, und zusätzlichen Speicherplatz für die Unterstützung der Online-Workload. Weitere Informationen finden Sie unter Schätzen der Arbeitsspeicheranforderungen speicheroptimierter Tabellen.

  • Stellen Sie bei der Ausführung von SQL Server auf einer virtuellen Maschine (VM) sicher, dass der VM genügend Arbeitsspeicher zugewiesen ist, sodass der Arbeitsspeicher unterstützt wird, der für speicheroptimierte Tabellen und Indizes benötigt wird. Abhängig von der VM-Hostanwendung wird die Konfigurationsoption zum Garantieren von Speicherbelegung für die VM „reservierter Speicher“ genannt, oder „Mindestarbeitsspeicher“ bei Verwendung von dynamischer Arbeitsspeicherverwaltung. Stellen Sie sicher, dass diese Einstellungen für die Anforderungen der Datenbanken in SQL Server ausreichend sind.

  • Geben Sie Speicherplatz frei, der zweimal der Größe der dauerhaften speicheroptimierten Tabellen entspricht.

  • Der Prozessor muss die Anweisung cmpxchg16b unterstützen, um In-Memory-OLTP verwenden zu können. Alle modernen 64-Bit-Prozessoren unterstützen cmpxchg16b.

    Wenn Sie eine virtuelle Maschine verwenden und SQL Server einen Fehler anzeigt, der von einem älteren Prozessor verursacht wird, sollten Sie überprüfen, ob die Anwendung eine Konfigurationsoption zum Aktivieren von cmpxchg16b enthält. Andernfalls können Sie Hyper-V verwenden, das cmpxchg16b ohne Änderung einer Konfigurationsoption unterstützt.

  • In-Memory-OLTP wird als Teil von Database Engine Servicesinstalliert.

    Zum Installieren der Berichtgenerierung (Bestimmen, ob eine Tabelle oder eine gespeicherte Prozedur zu In-Memory-OLTP portiert werden soll) und SQL Server Management Studio (um In-Memory-OLTP über den Objekt-Explorer von SQL Server Management Studio zu verwalten) gehen Sie zu Herunterladen von SQL Server Management Studio (SSMS).

Hinweis

Wichtige Hinweise zur Verwendung von In-Memory-OLTP

  • In SQL Server 2016 (13.x) und höheren Versionen ist die Größe für speicheroptimierte Tabellen unbeschränkt. Dies gilt jedoch nicht für den verfügbaren Arbeitsspeicher.

  • In SQL Server 2014 (12.x) sollte die Gesamtgröße aller dauerhaften Tabellen in einer Datenbank im Arbeitsspeicher maximal 250 GB betragen. Weitere Informationen finden Sie unter Schätzen der Arbeitsspeicheranforderungen speicheroptimierter Tabellen.

Hinweis

Ab SQL Server 2016 (13.x) SP 1 unterstützen die Standard und Express Editionen In-Memory OLTP, aber sie bedingen Kontingente für die Menge an Arbeitsspeicher, die Sie für speicheroptimierte Tabellen in einer bestimmten Datenbank verwenden können. In Standard Edition sind dies 32 GB pro Datenbank. In Express Edition sind dies 352 MB pro Datenbank.

  • Wenn Sie eine oder mehrere Datenbanken mit speicheroptimierten Tabellen erstellen, sollten Sie die schnelle Dateiinitialisierung (IFI) aktivieren, indem Sie dem Startkonto des SQL Server-Diensts das Benutzerrecht SE_MANAGE_VOLUME_NAME erteilen. Ohne die sofortige Dateiinitialisierung werden speicheroptimierte Speicherdateien (Daten- und Änderungsdateien) bei der Erstellung initialisiert, was sich negativ auf die Leistung der Arbeitsauslastung auswirken kann. Weitere Informationen zur schnellen Dateiinitialisierung, einschließlich Informationen zu ihrer Aktivierung, finden Sie unter Schnelle Datenbankdateiinitialisierung.

  • Bekanntes Problem: Bei Datenbanken mit speicheroptimierten Tabellen kann die Durchführung einer Transaktionsprotokollsicherung ohne Wiederherstellung und später das Ausführen einer Wiederherstellung eines Transaktionsprotokolls mit Wiederherstellung zu einem nicht reagierenden Datenbankwiederherstellungsprozess führen. Dieses Problem kann sich auch auf die Protokollversandfunktionalität auswirken. Um dieses Problem zu umgehen, kann die SQL-Server-Instanz vor dem Initiieren des Wiederherstellungsvorgangs neu gestartet werden.