powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sp_addlinkedserver для OLAP
6 сообщений из 6, страница 1 из 1
sp_addlinkedserver для OLAP
    #39613985
Фотография Yagrus2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello world!
Ниже приведен скрипт создания Linked сервера для OLAP
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
EXEC sp_addlinkedserver
     @server='Olap_Server',	-- Имя создаваемого Linked сервера
     @srvproduct='SSAS',	-- Название продукта источника данных
     @provider='MSOLAP',	-- Поставщик, соответствующий источнику данных

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


После его выполнения, можно выполнять MDX-запросы из сессии реляционного SQL. Проверил, запросы работают.
Посмотреть свойства созданного объекта в графическом редакторе.
...
Рейтинг: 0 / 0
sp_addlinkedserver для OLAP
    #39613986
Фотография Yagrus2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приведенном скрине видно, что провайдером является 'Microsoft OLE DB Provider for Analysis Services 11.0'

В качестве эксперимента создаю второй Linked сервер для OLAP, но уже таким скриптом.
Код: sql
1.
2.
3.
4.
5.
6.
7.
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 можно положить любую строку?
...
Рейтинг: 0 / 0
sp_addlinkedserver для OLAP
    #39613992
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
sp_addlinkedserver для OLAP
    #39614174
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yagrus2И вторая часть с которой бы хотелось разобраться, это аргумент @catalog.
Как я понял, для него нужно указать имя базы, в которой находится куб.
Вопрос 2: Но как быть если в базе несколько кубов?


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

решил так:
1) создавал linked без указания каталога
2) брал список баз для шага 3
3) с указанием @catalog, динамически в цикле создавал, опрашивал и уничтожал linked серверы, получая необходимые мне данные
...
Рейтинг: 0 / 0
sp_addlinkedserver для OLAP
    #39617309
Фотография Yagrus2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

А как вы получали список из пункта 2 ?
...
Рейтинг: 0 / 0
sp_addlinkedserver для OLAP
    #39617369
etyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С SQL 2012 : https://msdn.microsoft.com/ru-ru/library/hh230820(v=sql.110).aspx

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
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')
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sp_addlinkedserver для OLAP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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