Anforderungen für die Verwendung von speicheroptimierten TabellenRequirements for Using Memory-Optimized Tables

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions)

Informationen zum Verwenden von In-Memory-OLTP in Azure-Datenbanken finden Sie unter Erste Schritte mit In-Memory in SQL-Datenbanken.For using In-Memory OLTP in Azure DB see Get started with In-Memory in SQL Database.

Zusätzlich zu den Hardware- und Softwareanforderungen für die Installation von SQL Server gilt für die Verwendung von In-Memory-OLTP Folgendes:In addition to the Hardware and Software Requirements for Installing SQL Server, the following are requirements to use In-Memory OLTP:

  • SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 (oder höher), alle Editionen.SP1 (or later), any edition. Für SQL Server 2014 (12.x)SQL Server 2014 (12.x) und SQL Server 2016 (13.x)SQL Server 2016 (13.x) RTM (vor SP1) ist die Enterprise-, Developer- oder Evaluation-Edition erforderlich.For SQL Server 2014 (12.x)SQL Server 2014 (12.x) and SQL Server 2016 (13.x)SQL Server 2016 (13.x) RTM (pre-SP1) you need Enterprise, Developer, or Evaluation edition.

    Hinweis

    Für In-Memory OLTP ist die 64-Bit-Version von SQL ServerSQL Server erforderlich.In-Memory OLTP requires the 64-bit version of SQL ServerSQL Server.

  • SQL ServerSQL Server benötigt ausreichend Arbeitsspeicher, um die Daten in speicheroptimierten Tabellen und Indizes aufzunehmen. Des Weiteren wird zusätzlicher Speicherplatz für die Unterstützung der Online-Arbeitsauslastung benötigt.needs enough memory to hold the data in memory-optimized tables and indexes, as well as additional memory to support the online workload. Weitere Informationen finden Sie unter Schätzen der Arbeitsspeicheranforderungen speicheroptimierter Tabellen .See Estimate Memory Requirements for Memory-Optimized Tables for more information.

  • Stellen Sie bei der Ausführung von SQL ServerSQL Server auf einem virtuellen Computer (VM) sicher, dass genügend Arbeitsspeicher dem virtuellen Computer zugewiesen ist, sodass der Arbeitsspeicher unterstützt wird, der für speicheroptimierte Tabellen und Indizes benötigt wird.When running SQL ServerSQL Server in a Virtual Machine (VM), ensure there is enough memory allocated to the VM to support the memory needed for memory-optimized tables and indexes. 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.Depending on the VM host application, the configuration option to guarantee memory allocation for the VM could be called Memory Reservation or, when using Dynamic Memory, Minimum RAM. Stellen Sie sicher, dass diese Einstellungen für die Anforderungen der Datenbanken in SQL ServerSQL Serverausreichend sind.Make sure these settings are sufficient for the needs of the databases in SQL ServerSQL Server.

  • Geben Sie Speicherplatz frei, der zweimal der Größe der dauerhaften speicheroptimierten Tabellen entspricht.Free disk space that is two times the size of your durable memory-optimized tables.

  • Der Prozessor muss die cmpxchg16b -Anweisung unterstützen, um In-Memory-OLTP verwenden zu können.A processor needs to support the instruction cmpxchg16b to use In-Memory OLTP. Alle modernen 64-Bit-Prozessoren unterstützen cmpxchg16b.All modern 64-bit processors support cmpxchg16b.

    Wenn Sie eine VM-Hostanwendung verwenden und SQL ServerSQL Server einen Fehler anzeigt, der von einem älteren Prozessor verursacht wird, sollten Sie überprüfen, ob die Anwendung eine Konfigurationsoption zum Aktivieren von cmpxchg16benthält.If you are using a Virtual Machine and SQL ServerSQL Server displays an error caused by an older processor, see if the VM host application has a configuration option to allow cmpxchg16b. Andernfalls können Sie Hyper-V verwenden, das cmpxchg16b ohne Änderung einer Konfigurationsoption unterstützt.If not, you could use Hyper-V, which supports cmpxchg16b without needing to modify a configuration option.

  • In-Memory-OLTP wird als Teil von Database Engine Servicesinstalliert.In-Memory OLTP is installed as part of Database Engine Services.

    Zum Installieren der Berichtgenerierung (Bestimmen, ob eine Tabelle oder eine gespeicherte Prozedur zu In-Memory-OLTP portiert werden soll) und SQL Server Management StudioSQL Server Management Studio (um In-Memory-OLTP über den Objekt-Explorer von SQL Server Management StudioSQL Server Management Studio zu verwalten) gehen Sie zu Herunterladen von SQL Server Management Studio (SSMS).To install report generation (Determining if a Table or Stored Procedure Should Be Ported to In-Memory OLTP) and SQL Server Management StudioSQL Server Management Studio (to manage In-Memory OLTP via SQL Server Management StudioSQL Server Management Studio Object Explorer), download SQL Server Management Studio (SSMS).

Wichtige Anmerkungen zur Verwendung von In-Memory-OLTPIn-Memory OLTPImportant Notes on using In-Memory-OLTPIn-Memory OLTP

  • Von SQL Server 2016 (13.x)SQL Server 2016 (13.x) an ist die Größe für speicheroptimierte Tabellen unbeschränkt. Dies gilt jedoch nicht für den verfügbaren Arbeitsspeicher.Starting SQL Server 2016 (13.x)SQL Server 2016 (13.x), there is no limit on the size of memory-optimized tables, other than available memory.

  • In SQL Server 2014 (12.x)SQL Server 2014 (12.x) sollte die Gesamtgröße aller dauerhaften Tabellen in einer Datenbank im Arbeitsspeicher maximal 250 GB betragen.In SQL Server 2014 (12.x)SQL Server 2014 (12.x), the total in-memory size of all durable tables in a database should not exceed 250 GB. Weitere Informationen finden Sie unter Schätzen der Arbeitsspeicheranforderungen speicheroptimierter Tabellen.For more information, see Estimate Memory Requirements for Memory-Optimized Tables.

Hinweis

Ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 unterstützen Standard und Express Edition 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.Starting SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1, Standard and Express Editions support In-Memory OLTP, but they impose quotas on the amount of memory you can use for memory-optimized tables in a given database. In Standard Edition sind dies 32 GB pro Datenbank. In Express Edition sind dies 352 MB pro Datenbank.In Standard edition this is 32GB per database; in Express edition this is 352MB per database.

  • Wenn Sie eine oder mehrere Datenbanken mit speicheroptimierten Tabellen erstellen, sollten Sie die sofortige Dateiinitialisierung für die Instanz aktivieren (also dem Dienststartkonto für SQL ServerSQL Server das Benutzerrecht SE_MANAGE_VOLUME_NAME erteilen).If you create one or more databases with memory-optimized tables, you should enable Instant File Initialization (IFI) by granting the SQL ServerSQL Server service startup account the SE_MANAGE_VOLUME_NAME user right. Ohne die sofortige Dateiinitialisierung werden speicheroptimierte Speicherdateien (Daten- und Änderungsdateien) bei der Erstellung initialisiert, was sich negativ auf die Leistung der Arbeitsauslastung auswirken kann.Without IFI, memory-optimized storage files (data and delta files) will be initialized upon creation, which can have negative impact on the performance of your workload. Weitere Informationen zur sofortigen Dateiinitialisierung, einschließlich Informationen, wann sie aktiviert werden sollte, finden Sie unter Sofortige Datenbankdateiinitialisierung.For more information about IFI, including how to enable it, see Database Instant File Initialization.

Weitere InformationenSee Also

In-Memory-OLTP (Arbeitsspeicheroptimierung)In-Memory OLTP (In-Memory Optimization)
Sofortige DatenbankdateiinitialisierungDatabase Instant File Initialization
Handbuch zur ArbeitsspeicherarchitekturMemory Architecture guide