Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 sp_addlinkedserver для OLAP  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 894
Hello world!
Ниже приведен скрипт создания Linked сервера для OLAP
EXEC sp_addlinkedserver
     @server='Olap_Server',	-- Имя создаваемого Linked сервера
     @srvproduct='SSAS',	-- Название продукта источника данных
     @provider='MSOLAP',	-- Поставщик, соответствующий источнику данных

     @datasrc='N01000039',	-- Имя OLAP сервера
     @catalog='OLAP'		-- База, в которой находится Куб
GO

После его выполнения, можно выполнять MDX-запросы из сессии реляционного SQL. Проверил, запросы работают.
Посмотреть свойства созданного объекта в графическом редакторе.

К сообщению приложен файл. Размер - 36Kb
13 мар 18, 11:10    [21252186]     Ответить | Цитировать Сообщить модератору
 Re: sp_addlinkedserver для OLAP  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 894
В приведенном скрине видно, что провайдером является 'Microsoft OLE DB Provider for Analysis Services 11.0'

В качестве эксперимента создаю второй Linked сервер для OLAP, но уже таким скриптом.
EXEC sp_addlinkedserver
     @server='Olap_Server2',	 
     @srvproduct='SSAS',	 
     @provider='Microsoft OLE DB Provider for Analysis Services 11.0',	 

     @datasrc='N01000039',	 
     @catalog='OLAP'

Второй Linked сервер - создается, но в графических свойствах в качестве провайдера указан 'Microsoft OLE DB Provider for SQL Server'

Вопрос 1: почему во втором случае провайдер определился неверно?

И вторая часть с которой бы хотелось разобраться, это аргумент @catalog.
Как я понял, для него нужно указать имя базы, в которой находится куб.
Вопрос 2:Но как быть если в базе несколько кубов?
Вопрос 3: Верно ли, что в @srvproduct можно положить любую строку?
13 мар 18, 11:11    [21252188]     Ответить | Цитировать Сообщить модератору
 Re: sp_addlinkedserver для OLAP  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
msdn

google
13 мар 18, 11:15    [21252206]     Ответить | Цитировать Сообщить модератору
 Re: sp_addlinkedserver для OLAP  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
Yagrus2
И вторая часть с которой бы хотелось разобраться, это аргумент @catalog.
Как я понял, для него нужно указать имя базы, в которой находится куб.
Вопрос 2:Но как быть если в базе несколько кубов?


у меня была задачка опросить внутренности SSAS и выдать кол-во баз и кубов + некоторую другую инфу

решил так:
1) создавал linked без указания каталога
2) брал список баз для шага 3
3) с указанием @catalog, динамически в цикле создавал, опрашивал и уничтожал linked серверы, получая необходимые мне данные
13 мар 18, 15:29    [21253007]     Ответить | Цитировать Сообщить модератору
 Re: sp_addlinkedserver для OLAP  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 894
komrad,

А как вы получали список из пункта 2 ?
20 мар 18, 10:54    [21270585]     Ответить | Цитировать Сообщить модератору
 Re: sp_addlinkedserver для OLAP  [new]
etyk
Guest
С SQL 2012 : https://msdn.microsoft.com/ru-ru/library/hh230820(v=sql.110).aspx

USE [master]
GO

EXEC master.dbo.sp_dropserver @server=N'TEST_OLAP', @droplogins='droplogins'
GO

EXEC master.dbo.sp_addlinkedserver @server = N'TEST_OLAP', @srvproduct=N'MSOLAP', @provider=N'MSOLAP', @datasrc=N'(local):2383'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TEST_OLAP',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
GO

-- exec sp_tables_ex [TEST_OLAP]
SELECT * FROM OPENQUERY([TEST_OLAP], 'SELECT * FROM $SYSTEM.DBSCHEMA_CATALOGS')
20 мар 18, 11:45    [21270800]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить