Почему это не удается с сообщением 41317: пользовательская транзакция, которая обращается к таблицам, оптимизированным для памяти - PullRequest
0 голосов
/ 03 августа 2020
use WorldWideImporters;
go

Changed database context to 'WorldWideImporters'.

select name, is_memory_optimized 
from sys.tables 
where is_memory_optimized = 1;
go

name                       is_memory_optimized
----------------------------------------------
ColdRoomTemperatures               1
VehicleTemperatures                1

База данных WorldWideImporters содержит две таблицы, оптимизированные для памяти.

Однако, когда я пробую это

create database foo;
go

select * 
into foo.dbo.ColdRoomTemperatures_Archive 
from ColdRoomTemperatures_Archive;
go

, я получаю следующее:

Msg 41317, уровень 16, состояние 3, сервер 670dd29ba44a, строка 1 Пользовательская транзакция, которая обращается к оптимизированным для памяти таблицам или скомпилированным в собственном коде модулям, не может получить доступ к более чем одной пользовательской базе данных или модели баз данных и msdb, и она не может записывать данные в мастер. поскольку ColdRoomTemperatures_archived не является оптимизированной для памяти таблицей согласно sys.tables. Что мне здесь не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...