Partager via


Requêtes inter-bases de données

Dans SQL Server 2014, les tables optimisées en mémoire ne prennent pas en charge les transactions entre bases de données. Vous ne pouvez pas accéder à une autre base de données à partir de la même transaction ou de la même requête qui accède également à une table optimisée en mémoire. Vous ne pouvez pas facilement copier des données d’une table d’une base de données vers une table optimisée en mémoire dans une autre base de données.

Les variables de table ne sont pas transactionnelles. Par conséquent, les variables de table optimisées en mémoire peuvent être utilisées dans les requêtes inter-bases de données et peuvent ainsi faciliter le déplacement de données d’une base de données vers des tables mémoire optimisées dans une autre. Vous pouvez utiliser deux transactions. Dans la première transaction, insérez les données de la table distante dans la variable. Dans la deuxième transaction, insérez les données dans la table à mémoire optimisée locale à partir de la variable.

Par exemple, pour copier la ligne de la table t1 dans la base de données db1 vers la table t2 dans db2, à l’aide de la variable @v1 de type dbo.tt1, vous pouvez utiliser quelque chose comme suit :

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

Voir aussi

Migration vers In-Memory OLTP