跨数据库查询

在 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  

另请参阅

迁移到内存中 OLTP