Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В SQL Server 2014 оптимизированные для памяти таблицы не поддерживают транзакции между базами данных. Вы не можете получить доступ к другой базе данных из одной транзакции или того же запроса, который также обращается к таблице, оптимизированной для памяти. Невозможно легко скопировать данные из таблицы в одной базе данных в оптимизированную для памяти таблицу в другой базе данных.
Табличные переменные не являются транзакциальными. Таким образом, переменные таблицы, оптимизированные для памяти, могут использоваться в запросах между базами данных и таким образом могут способствовать перемещению данных из одной базы данных в оптимизированные для памяти таблицы в другую. Можно использовать две транзакции. В первой транзакции вставьте данные из удаленной таблицы в переменную. Во второй транзакции вставьте данные в локальную таблицу, оптимизированную для памяти, из переменной.
Например, чтобы скопировать строку из таблицы t1 в базу данных db1 в таблицу t2 в db2, используя переменную @v1 типа dbo.tt1, можно использовать примерно следующее:
USE db2
GO
DECLARE @v1 dbo.tt1
INSERT @v1 SELECT * FROM db1.dbo.t1
INSERT dbo.t2 SELECT * FROM @v1
GO