powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / In-memory tables, SSAS и Snapshot
5 сообщений из 5, страница 1 из 1
In-memory tables, SSAS и Snapshot
    #39726472
Lissaro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Есть база DWH на MS Sql Server 2017 и кубовая Analysis Services. На DWH есть memory optimized таблицы.
Сейчас пытаюсь перевести DWH на snapshot.
Для этого выполнил скрипты:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ALTER DATABASE DWH
SET READ_COMMITTED_SNAPSHOT ON
GO

ALTER DATABASE DWH
SET ALLOW_SNAPSHOT_ISOLATION ON
GO

ALTER DATABASE DWH
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON
GO


В SSAS солюшне в свойствах источника данных DWH установил MARS connection в True и Isolation в Snapshot. Куб не процессится, падает на ошибке
Код: plaintext
Error: 0xC1060000 at Time, Analysis Services Execute DDL Task: Ошибка OLE DB: Ошибка OLE DB или ODBC : Memory optimized tables and natively compiled modules cannot be accessed or created when the session TRANSACTION ISOLATION LEVEL is set to SNAPSHOT.; 42000.
Пробую отпроцесить одно измерение Timeloss Cause.dim, которое получает данных из вьюхи с in-memory таблицей const.[YesNo]
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE VIEW [updatable].[view_dimTimeLossCause]
AS
	SELECT tlCause.IsTimeLossCauseArchive		AS IsTimeLossCauseArchive
		, tlArchiveYN.Name						AS IsTimeLossCauseArchiveName
		, tlCause.TimeLossCauseDWID				AS TimeLossCauseDWID
		, tlCause.TimeLossCauseName				AS TimeLossCauseName
		FROM updatable.dictTimeLossCause	AS tlCause (nolock)
			LEFT JOIN const.[YesNo]			AS tlArchiveYN (nolock)
				ON tlCause.IsTimeLossCauseArchive = tlArchiveYN.DWID
GO


При процессинге падает ошибка
Код: plaintext
Ошибки модуля хранения OLAP: При обработке dimension с идентификатором "View Dim Time Loss Cause" и именем "Причина списания" произошла ошибка.
Если в свойствах источника данных вернуть isolation в Readcommited, то всё успешно процессится.

В профайлере в database engine запрос из вьюхи возвращает 0 строк для snapshot и нужное количество при ReadCommited, в профайлере при подключении к Analysis Services процессинг закначивается как раз после селекта из вьюхи.
В студии запрос выполняется без проблем.

Пробовал менять хинт NOLOCK на SNAPSHOT, но ничего не менялось.

Помогите, пожалуйста, разобраться с проблемой.
...
Рейтинг: 0 / 0
In-memory tables, SSAS и Snapshot
    #39726504
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lissaro,

Вы не можете перевести сообщение об ошибке или что?
...
Рейтинг: 0 / 0
In-memory tables, SSAS и Snapshot
    #39726506
Lissaro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов, могу, конечно.
Вопрос, можно ли как-то это обойти?
...
Рейтинг: 0 / 0
In-memory tables, SSAS и Snapshot
    #39726536
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LissaroВладислав Колосов, могу, конечно.
Вопрос, можно ли как-то это обойти?
а зачем вам снапшот изоляция на двх?
...
Рейтинг: 0 / 0
In-memory tables, SSAS и Snapshot
    #39726546
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подозреваю, что для достижения целостности. Иначе куб может криво загрузиться. Можно настроить CDC + SSIS для тех же целей.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / In-memory tables, SSAS и Snapshot
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]