2017-07-07 6 views
0

j'ai quelques serveurs liés qui, quand je fais la déclaration,Trouver toutes les tables d'un serveur lié à l'aide fournisseur de serveur IBMDASQL de SQL Server

exec sp_linkedservers 

dans le serveur SQL apparaît comme:

SRV_NAME  SRV_PROVIDERNAME   SRV_CAT 
SERVER1  IBMDASQL     INICAT1 
SERVER2  IBMDASQL     INICAT1 

Je suis en mesure d'accéder à un autre serveur lié avec le même nom de fournisseur en utilisant:

SELECT * FROM OPENQUERY(SERVER3,'SELECT * FROM INICAT1.Schema3.Table') 

Je ne ai pas k maintenant les spécificités des deux autres serveurs, seulement qu'ils ont la même valeur sur SRV_CAT.

Est-ce que quelqu'un sait comment on peut trouver des informations de table à partir d'un serveur en utilisant IBMDASQL comme fournisseur de serveur?

Ce que j'ai essayé est d'utiliser les moyens « réguliers » de trouver l'information, à savoir, par exemple, en utilisant:

exec sp_tables_ex SERVER1 

mais cela montre seulement un jeu de résultats vide.

Répondre

0

En utilisant openquery() on peut utiliser:

SELECT * FROM OPENQUERY(LINKED_SRV, 
'SELECT * FROM SYSTEM.TABLES WHERE Table_Schema LIKE ''TableofInterest'' 
order by Table_Name')