跨数据库查询

在 SQL Server 2014 中,内存优化表不支持跨数据库事务。 在同一个事务或查询中访问内存优化表时,不能访问另一个数据库。 无法轻松地将数据从一个数据库中的表复制到另一个数据库中的内存优化表。

表变量不是事务性的。 因此,内存优化表变量可用于跨数据库查询,从而有助于将数据从一个数据库移到另一个内存优化表中。 可以使用两个事务。 在第一个事务中,将数据从远程表插入到变量中。 在第二个事务中,将数据从变量中插入到本地内存优化表。

例如,若要使用 dbo.tt1 类型的变量 @v1 将数据库 db1 中的表 t1 中的行复制到 db2 中的表 t2,可以使用如下所示的内容:

USE db2   
GO   
DECLARE @v1 dbo.tt1   
INSERT @v1 SELECT * FROM db1.dbo.t1   
INSERT dbo.t2 SELECT * FROM @v1   
GO  

另请参阅

迁移到 In-Memory OLTP