Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSAS stored procedure timeout / 7 сообщений из 7, страница 1 из 1
16.02.2017, 18:20:17
    #39406050
SSAS stored procedure timeout
Добрый день, коллеги.

Не знаю как побороть следующую проблему. Есть процедура на C#, деплойнули в SSAS.

Вызываем MDX:

call SqlQuery.ExecuteProc("olap.sp_SBC_Cost", "@f_month = ....

получаем:

Query (1, 6) Execution of the managed stored procedure ExecuteProc failed with the following error: Exception has been thrown by the target of an invocation.Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

Работает ровно 30 секунд и обрывается.

Кто подскажет куда копать? Что/где поменять, чтобы выполнялось столько, сколько выполнялось (без ограничений по времени)?
...
Рейтинг: 0 / 0
16.02.2017, 18:47:29
    #39406078
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSAS stored procedure timeout
Игорь Бобак,

на таком количестве информации только пальцем в небо наверное
свойства соединения задаются на клиенте или на сервере (в том числе connection timeout/session..)
выполняется наверно под сервисной учёткой,
кроме того сети сервера компьютера разработчика могут быть разными
...
Рейтинг: 0 / 0
16.02.2017, 18:54:19
    #39406082
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSAS stored procedure timeout
SSAS_SP наверное из какой-то сети:

1) создаёт соединение к SQL серверу (под какой-то учёткой) с SSAS сервера..
2) подставляет параметры и выполняет SP в какой-то SQL базе/схеме

так что копать с обратной стороны выполняя шаги в ручную на тех машинах и под теми учётками в какой цепи/последовательности это происходит..
если конечно не банальный вопрос доступа на выполнение нужнного кода (.Net/framework etc..) или настроек SSAS на вызов продцедур (и пр. типа externalconnection/command timeout, comudfenabled и пр.)..
...
Рейтинг: 0 / 0
16.02.2017, 19:01:45
    #39406089
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSAS stored procedure timeout
частично можешь в той-же SQL базе проверить как QueryLog будет работать если его туда временно перекинуть..
и в серверных настройках есть много пунктов с окончанием ..TimeOut
для простоты сделай в базе продцедуру отрабатывающую за секунду и её вызывай.
...
Рейтинг: 0 / 0
16.02.2017, 19:08:18
    #39406095
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSAS stored procedure timeout
бывает стоит проверить есть-ли нужная Assembly на сервере,
добавь туда ещё (в Assembly) внутреннюю функцию (без вызова внешних соединений) - типа простой внутренний MDX .. вызови увидешь работает-ли сама Assembly
...
Рейтинг: 0 / 0
16.02.2017, 19:25:28
    #39406109
SSAS stored procedure timeout
нашел в чем причина.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
public static DataTable ExecuteProc(string aProcName, string aParams)
        {
            var p = new Dictionary<string, string>();
              string pattern = @"(@\w+)\s*=\s*(\{.*?\})";
            foreach (Match m in Regex.Matches(aParams, pattern))
                p.Add(m.Groups[1].Value, m.Groups[2].Value);
            string connString = ConnectionStringRegistryRead();
            using (SqlConnection conn = new SqlConnection(connString))
            {
                conn.Open();
                var proc = new SqlCommand(aProcName, conn);
                proc.CommandTimeout = 0;
                proc.CommandType = CommandType.StoredProcedure;
                foreach (var pair in p)
                    proc.Parameters.Add(pair.Key, SqlDbType.NVarChar, -1).Value = pair.Value;
                var dt = new DataTable("Results");
                var da = new SqlDataAdapter(proc);
                da.Fill(dt);
                return dt;
            }
        }




Вся проблема была вот здесь - proc.CommandTimeout = 0;


Оказывается, по умолчанию 30 секунд - видно из сорсов.
Вылетал exception на da.Fill(dt) который по факту вызывает команду и не может дождаться результата.

Простите за беспокойство.
...
Рейтинг: 0 / 0
16.02.2017, 21:18:45
    #39406170
Alex_496
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSAS stored procedure timeout
Игорь Бобак,

прощаем :)

при большом количестве пользователей возвращать записи с реляционки, да еще в большом количестве, через SSAS - не айс
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSAS stored procedure timeout / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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