Catálogo dinâmico de servidor vinculado para executar o MDX por meio do OpenQuery
Eu tenho vários bancos de dados OLAP no meu projeto, portanto, é possível decidir dinamicamente o catálogo para executar essa consulta MDX?
SELECT * FROM OpenQuery(OLAP_SERVER, 'WITH MEMBER measures.X AS dimensions.count SELECT Measures.X ON 0 FROM MyCube') as X
Não quero criar um servidor vinculado separado para cada banco de dados OLAP. Os bancos de dados relacionais e do cubo residem na mesma máquina física.
Minha configuração de servidor vinculado é:
EXEC master.dbo.sp_addlinkedserver
@server = N'OLAP_SERVER'
, @srvproduct=N'OLAP_SERVER', @provider=N'MSOLAP'
, @datasrc=N'localhost'
--, @catalog=N'xxxx' default catalog commented out
GO
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = N'OLAP_SERVER'
, @locallogin = NULL
, @useself = N'FALSE'
, @rmtuser=N'xxxx'
, @rmtpassword='xxxx'
GO
Como alternativa, é possível qualificar totalmente o nome do cubo com o nome do banco de dados OLAP como [OLAPDBName]. [MyCube] no script MDX?
Por favor ajude, obrigado.