对内存中 OLTP 的 SQL Server Integration Services 支持

你可以使用内存优化的表、引用内存优化表的视图或本机编译的存储过程作为你的 SQL ServerIntegration Services (SSIS) 包的源或目标。 你可以在 SSIS 包的数据流中使用 ADO NET 源OLE DB 源ODBC 源 并配置源组组件以便从内存优化的表或视图检索数据,或指定一个 SQL 语句来执行本机编译的存储过程。 同样,你可以使用 ADO NET 目标OLE DB 目标ODBC 目标 将数据加载到内存优化的表或视图,或指定一个 SQL 语句来执行本机编译的存储过程。

您可以在 SSIS 包中配置上述的源和目标组件以从内存优化的表和视图中读取或写入它们,所用的方法与从其他 SQL Server 表和视图中读取或写入它们的方法相同。 但是,在使用本机编译的存储过程时,需要注意下一节中的几个重要事项。

从 SSIS 包调用本机编译的存储过程

若要从 SSIS 包调用本机编译的存储过程,建议将 ODBC 源或 ODBC 目标与格式为的 SQL 语句结合使用:<过程名称>,而不使用 EXEC 关键字 (keyword) 。 如果在 SQL 语句中使用 EXEC 关键字 (keyword) ,则会看到一条错误消息,因为 ODBC 连接管理器将 SQL 命令文本解释为 Transact-SQL 语句而不是存储过程,并使用游标(不支持执行本机编译的存储过程)。 连接管理器将没有 EXEC 关键字的 SQL 语句作为存储过程调用处理,将不使用游标。

还可以使用 ADO .NET 源和 OLE DB 源来调用本机编译的存储过程,但是我们建议您使用 ODBC 源。 如果您配置 ADO .NET 源以执行本机编译的存储过程,将看到错误消息,因为 ADO .NET 源默认使用的 SQL Server (SqlClient) 的数据访问接口不支持执行本机编译的存储过程。 您可以配置 ADO .NET 源以使用 ODBC 数据访问接口、用于 SQL Server的 OLE DB 访问接口或 SQL Server Native Client。 但是,请注意 ODBC 源的性能好于使用 ODBC 数据访问接口的 ADO .NET 源。

另请参阅

SQL Server 对内存中 OLTP 的支持