SQL Server Integration Services-Unterstützung für In-Memory OLTP

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Sie können eine speicheroptimierte Tabelle, eine Ansicht, die auf speicheroptimierte Tabellen verweist, oder eine nativ kompilierte gespeicherte Prozedur als Quelle oder Ziel für Ihr SQL Server Integration Services (SSIS)-Paket verwenden. Sie können ADO NET Source, OLE DB Sourceoder ODBC Source im Datenfluss eines SSIS-Pakets verwenden und die Quellkomponente so konfigurieren, dass Daten aus einer speicheroptimierten Tabelle oder einer Sicht abgerufen werden. Sie können auch eine SQL-Anweisung angeben, um eine systemintern kompilierte gespeicherte Prozedur auszuführen. Ebenso können Sie ADO NET Destination, OLE DB Destinationoder ODBC Destination verwenden, um Daten in eine speicheroptimierte Tabelle oder eine Sicht zu laden, oder Sie können eine SQL-Anweisung angeben, um eine systemintern kompilierte gespeicherte Prozedur auszuführen.

Sie können die oben erwähnten Quell- und Zielkomponenten in einem SSIS-Paket so konfigurieren, dass sie in speicheroptimierte Tabellen und Ansichten auf die gleiche Weise wie bei anderen SQL Server-Tabellen und -Ansichten lesen/schreiben können. Beim Verwenden systemintern kompilierter gespeicherter Prozeduren sind jedoch die wichtigen Aspekte im folgenden Abschnitt zu beachten.

Aufrufen einer systemintern kompilierten gespeicherten Prozedur aus einem SSIS-Paket

Um eine nativ kompilierte gespeicherte Prozedur aus einem SSIS-Paket aufzurufen, empfiehlt es sich, eine ODBC-Quelle oder ein ODBC-Ziel mit einer SQL-Anweisung des Formats zu verwenden: Prozedurname> ohne das Schlüsselwort EXEC.< Wenn Sie das EXEC-Schlüsselwort in der SQL-Anweisung verwenden, wird eine Fehlermeldung angezeigt, da der ODBC-Verbindungs-Manager den SQL-Befehlstext als Transact-SQL-Anweisung anstelle einer gespeicherten Prozedur interpretiert und Cursor verwendet, die für die Ausführung von nativ kompilierten gespeicherten Prozeduren nicht unterstützt werden. Der Verbindungs-Manager behandelt die SQL-Anweisung ohne EXEC-Schlüsselwort als Aufruf einer gespeicherten Prozedur, und es wird kein Cursor verwendet.

Sie können eine systemintern kompilierte gespeicherte Prozedur auch mit einer ADO.NET-Quelle und OLE DB-Quelle aufrufen, es wird jedoch empfohlen, eine ODBC-Quelle zu verwenden. Wenn Sie die ADO .NET-Quelle so konfigurieren, dass eine nativ kompilierte gespeicherte Prozedur ausgeführt wird, wird eine Fehlermeldung angezeigt, da der Datenanbieter für SQL Server (SqlClient), den die ADO .NET-Quelle standardmäßig verwendet, die Ausführung von nativ kompilierten gespeicherten Prozeduren nicht unterstützt. Sie können die ADO .NET-Quelle so konfigurieren, dass der ODBC-Datenanbieter, ole DB-Anbieter für SQL Server oder SQL Server Native Client verwendet wird. Beachten Sie jedoch, dass die ODBC-Quelle eine bessere Leistung als die ADO.NET-Quelle mit dem ODBC-Datenanbieter bietet.

Weitere Informationen

SQL Server-Unterstützung für In-Memory OLTP