Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
При попытке чтения некоторых свойств объекта DB = Server.Databases.Item("MyDB") обнаружил интересную особенность:
Следующие свойства:
CreatedTimestamp, ID, IsLoaded, LastProcessed, LastSchemaUpdate, LastUpdate, Name, SiteID, State
читаются нормально.

А вот при попытке прочесть одно из свойств:
Accounts, AggregationPrefix, Collation, DatabasePermissions, DataSourceImpersonationInfo,
DataSources, DataSourceViews, DbStorageLocation, Dimensions, EstimatedSize...

получаю ошибку:
Microsoft.AnalysisServices: Deserialization failed: The 'DbStorageLocation' element in the 'http://schemas.microsoft.com/analysisservices/2008/engine/100/100' namespace is unexpected.

Причем... не важно, какое из свойств я пытаюсь прочесть: Collation или DbStorageLocation, ошибка одна и та же....
Упоминание в ошибке касается именно свойства "DbStorageLocation"....

DbStorageLocation - это место хранения БД

Что я опять не так делаю.... В чем причина?
11 мар 18, 14:25    [21247785]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1950
Ruban Igor
При попытке чтения некоторых свойств объекта DB = Server.Databases.Item("MyDB") обнаружил интересную особенность:
Следующие свойства:
CreatedTimestamp, ID, IsLoaded, LastProcessed, LastSchemaUpdate, LastUpdate, Name, SiteID, State
читаются нормально.

А вот при попытке прочесть одно из свойств:
Accounts, AggregationPrefix, Collation, DatabasePermissions, DataSourceImpersonationInfo,
DataSources, DataSourceViews, DbStorageLocation, Dimensions, EstimatedSize...

получаю ошибку:
Microsoft.AnalysisServices: Deserialization failed: The 'DbStorageLocation' element in the 'http://schemas.microsoft.com/analysisservices/2008/engine/100/100' namespace is unexpected.

Причем... не важно, какое из свойств я пытаюсь прочесть: Collation или DbStorageLocation, ошибка одна и та же....
Упоминание в ошибке касается именно свойства "DbStorageLocation"....

DbStorageLocation - это место хранения БД

Что я опять не так делаю.... В чем причина?

Вы используете комплект устаревших AMO (скорее всего от 2008 R2) для обращения к SSAS 2012. Проверьте, что версии совпадают. Лучше в виртуальной машине поставить developer версию, развернуть маленькую тестовую MOLAP базу от Microsoft и там уже потестировать свой код.
11 мар 18, 15:35    [21247844]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
Andy_OLAP,

Скачал отсюда:
https://www.microsoft.com/en-us/download/details.aspx?id=55264

файл SQL_AS_AMO.msi для 2016 версии.

После установки ничего не изменилось....
11 мар 18, 21:11    [21248131]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
даже... скачал все варианты SQL_AS_AMO.msi : для версий 2008, 2012, 2014, 2016
Установил каждый из них...но.. ничего не изменилось.
Осталась та же ошибка.

А имеет ли значение: откуда идет обращение?
Если я пробую делать чтение со стороны 1С 8.3 ... может в этом причина?
11 мар 18, 21:31    [21248145]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
Ошибка не проявляется для баз, у которых свойство: "DbStorageLocation" - не указано
12 мар 18, 00:16    [21248293]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1950
Ruban Igor
Ошибка не проявляется для баз, у которых свойство: "DbStorageLocation" - не указано

Так с этого нужно было начинать. На сервере несколько OLAP баз. Одна из них повреждена. Физически. XML файл запорот. А внутри него упоминание недефолтного DbStorageLocation. Угадать кривую базу можно по журналу windows application при старте SSAS службы, но не всегда.

Лечения нет никакого. Точнее, если говорить хирургическим языком - поможет пересадка свежего органа. Останавливаете службу SSAS, переименовываете файлы и каталоги первой базы, стартуете, проверяете через AMO, останавливаете службу SSAS, переименовываете для первой обратно и "прячете" вторую, стартуете, проверяете через AMO, останавливаете, переименовываете обратно. Собственно, делать такое нужно при желании починить и при понимании, что бэкапы свежие, бэкапы структуры MOLAP базы в XMLA файле отдельно есть, любая кривая база будет разрушена, создана с нуля из XMLA файла и полностью обработана.
Если кубы нарезаны на секции, а для архивных секций исходных данных больше нет - заниматься лечением нет смысла.

Вот как-то так. Все очень печально и совсем некошерно. А таки что делать.
12 мар 18, 00:36    [21248309]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
Andy_OLAP,

Почему Вы решили, что базы повреждены?
Речь идет о новосозданных базах. :)
Провел эксперимент. Создал одну базу с пустым значением свойства "Path", а вторую - с указанным каталогом.
При попытке прочесть свойства первой базы - ошибок нет. При чтении свойств второй - есть.

Server = CreateObject("Microsoft.AnalysisServices.Server");
Server.Connect("Provider=MSOLAP.6;Data Source=OLAP\S2014;");

DB1 = Server.Databases.Item("N2014"); // в этой базе "Path", он же DbStorageLocation - не указан при создании базы
DB1.Collation - возвращает "Cyrillic_General_CI_AS"

DB2 = Server.Databases.Item("S2014"); // в этой базе "Path", он же DbStorageLocation - Указан при создании базы
DB2.Collation - выдает ошибку:
Microsoft.AnalysisServices: Deserialization failed: The 'DbStorageLocation' element in the 'http://schemas.microsoft.com/analysisservices/2008/engine/100/100' namespace is unexpected.
12 мар 18, 05:25    [21248380]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1950
Ruban Igor
Andy_OLAP,

Почему Вы решили, что базы повреждены?
Речь идет о новосозданных базах. :)


DB2 = Server.Databases.Item("S2014"); // в этой базе "Path", он же DbStorageLocation - Указан при создании базы

Запретные символы в названии каталога конечно же есть? :) А зря. Не любит этого ни AMO, ни SSAS.
12 мар 18, 13:23    [21249512]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
Andy_OLAP,

Вот пример каталога:

d:\MyPath\

Какой из символов ту запретный? Двоеточие или "\" ?
12 мар 18, 13:32    [21249553]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1950
Ruban Igor
Andy_OLAP,

Вот пример каталога:

d:\MyPath\

Какой из символов ту запретный? Двоеточие или "\" ?

Двоеточие. Его можно только с 2012-го, а у Вас явно используется что-то старое.
"скачал все варианты SQL_AS_AMO.msi : для версий 2008, 2012, 2014, 2016
Установил каждый из них...но.. ничего не изменилось" - базы делаете 2014-е или скрипт от 2008-й прогоняете?
12 мар 18, 13:41    [21249599]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
Уже не первый день мучаюсь с этой проблемой.
Вроде бы даже начал понимать причину.

Скорее всего используется старый (от MS SQL 2005 , т.е. версии 9) десериализатор.

Проблема в том, что доустановки SQL_AS_AMO.msi более поздних версий (2008 R2, 2012, 2014, 2016)
не заменяют этот самый "десериализатор по умолчанию" на более свежий.

А как выбрать нужную библиотеку для этого, например, версии 10.50 (для 2008 R2):
c:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.AnalysisServices.DLL
не знаю.
Это не C#, где можно напрямую подтянуть dll-ку.

В силу разных причин - вынужден писать этот клиентский инструмент на 1С 8.3....
А там нет возможности выбора библиотеки.

P.S. на С# следующий код прекрасно отрабатывает работает:
------------------------------------
using System;
using Microsoft.AnalysisServices;

namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
String OLAPServerName;
OLAPServerName = "OLAP\\S2008";
Server OLAPServer = new Server();
OLAPServer.Connect("Provider=MSOLAP.4;Data Source=" + OLAPServerName + ";");
Console.WriteLine("ServerName : " + OLAPServerName);
foreach (Database OLAPDatabase in OLAPServer.Databases)
{
Console.WriteLine("---------- DatabaseName : " + OLAPDatabase.Name);
Console.WriteLine("Collation : " + OLAPDatabase.Collation);
Console.WriteLine("DbStorageLocation : " + OLAPDatabase.DbStorageLocation);
}
bool k = false;
Console.ReadKey(k);
}
}
}

К сообщению приложен файл. Размер - 77Kb
12 мар 18, 13:54    [21249664]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
Andy_OLAP
Ruban Igor
Andy_OLAP,

Вот пример каталога:

d:\MyPath\

Какой из символов ту запретный? Двоеточие или "\" ?

Двоеточие. Его можно только с 2012-го, а у Вас явно используется что-то старое.
"скачал все варианты SQL_AS_AMO.msi : для версий 2008, 2012, 2014, 2016
Установил каждый из них...но.. ничего не изменилось" - базы делаете 2014-е или скрипт от 2008-й прогоняете?


Двоеточие ? Хм.... Удивлён.
Как правильно указать путь? В оригинале он: "d:\MyPath\"
Пробовал без двоеточия, "d\MyPath\" указать при создании.
Management Studio ругается, не дает создать базу
12 мар 18, 14:05    [21249717]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
Ruban Igor
Andy_OLAP
пропущено...

Двоеточие. Его можно только с 2012-го, а у Вас явно используется что-то старое.
"скачал все варианты SQL_AS_AMO.msi : для версий 2008, 2012, 2014, 2016
Установил каждый из них...но.. ничего не изменилось" - базы делаете 2014-е или скрипт от 2008-й прогоняете?


Двоеточие ? Хм.... Удивлён.
Как правильно указать путь? В оригинале он: "d:\MyPath\"
Пробовал без двоеточия, "d\MyPath\" указать при создании.
Management Studio ругается, не дает создать базу


Превращение каталога в формат UNC результата не дало
MyPath - расшарил каталог. Оба варианта не сработали
\\OLAP\d$\MyPath
\\OLAP\MyPath
12 мар 18, 14:24    [21249798]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1950
Ruban Igor
Уже не первый день мучаюсь с этой проблемой.
Вроде бы даже начал понимать причину.

Скорее всего используется старый (от MS SQL 2005 , т.е. версии 9) десериализатор.

Проблема в том, что доустановки SQL_AS_AMO.msi более поздних версий (2008 R2, 2012, 2014, 2016)
не заменяют этот самый "десериализатор по умолчанию" на более свежий.

Процитирую себя же "Вы используете комплект устаревших AMO (скорее всего от 2008 R2) для обращения к SSAS 2012. Проверьте, что версии совпадают".
В чем тут дело - есть сервер с OLAP базами, есть ПК, где Вы запускаете свои скрипты. Логично предположить, что AMO работают локально, поэтому и десериализатор используется старый. Один раз прописала винда в своем реестре настройки - и оставила.
Поэтому и рекомендация. Попробуйте установить VirtualBox, там поставить AMO от 2012 или 2014, там выполнить скрипт. Это довольно быстро, зато гарантия, что тесты проводите на чистой машине.
12 мар 18, 14:37    [21249843]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
Andy_OLAP
Ruban Igor
Уже не первый день мучаюсь с этой проблемой.
Вроде бы даже начал понимать причину.

Скорее всего используется старый (от MS SQL 2005 , т.е. версии 9) десериализатор.

Проблема в том, что доустановки SQL_AS_AMO.msi более поздних версий (2008 R2, 2012, 2014, 2016)
не заменяют этот самый "десериализатор по умолчанию" на более свежий.

Процитирую себя же "Вы используете комплект устаревших AMO (скорее всего от 2008 R2) для обращения к SSAS 2012. Проверьте, что версии совпадают".
В чем тут дело - есть сервер с OLAP базами, есть ПК, где Вы запускаете свои скрипты. Логично предположить, что AMO работают локально, поэтому и десериализатор используется старый. Один раз прописала винда в своем реестре настройки - и оставила.
Поэтому и рекомендация. Попробуйте установить VirtualBox, там поставить AMO от 2012 или 2014, там выполнить скрипт. Это довольно быстро, зато гарантия, что тесты проводите на чистой машине.


Согласен с Вашим ходом мыслей.... НО, считаю, что правильнее научиться управлять этим самым десериализатором...
Т.е. наверное лучше научиться перезаписывать настройки в реестре...

Конечно же попробую предложенный Вами вариант. Результаты доложу.
Спасибо.
12 мар 18, 17:40    [21250609]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 32441
Блог
Ruban Igor,

лучше скажите, зачем вы все это делаете?
12 мар 18, 19:08    [21250875]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...  [new]
Ruban Igor
Member

Откуда: Киев
Сообщений: 232
Критик
Ruban Igor,

лучше скажите, зачем вы все это делаете?


Конечно же для достижения собственных целей.
Но, думаю, и после решения своей проблемы - этот топик будет полезен тем, кто тоже столкнулся с такой проблемой.
13 мар 18, 08:55    [21251664]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить