/ / SQL Server OPENQUERY spustený proti základnej databáze - sql-server-2008-r2, sql-server-2016, linked-server, openquery

SQL Server OPENQUERY beží na základnej databáze - sql-server-2008-r2, sql-server-2016, linked-server, openquery

Mám nasledujúce vyhlásenie

SELECT * FROM OPENQUERY(MyLinkedServer,"SELECT * FROM Table")

Ktorý zlyhá s chybou

Poskytovateľ OLEDB "SQLNCLI10" pre prepojený server "MyLinkedServer" vrátený správy "Odporúčaná príprava sa nedá dokončiť"

Keď sa pokúšam

SELECT * FROM OPENQUERY(MyLinkedServer,"SELECT DB_NAME()")

Vidím, že vyhlásenia sa spúšťajú proti hlavnej databáze na prepojenom serveri.

skúsil som

SELECT * FROM OPENQUERY(MyLinkedServer,"USE MyDB; SELECT * FROM Table")

Ale to tiež hovorí, že vyhlásenie nebolo možné pripraviť.

Ako môžem ovládať databázu na prepojenom serveri, na ktorú spúšťa OPENQUERY?

Verzia servera SQL, na ktorom je spustený dopyt, je 2008R2 a vzdialený server je 2016SP1

odpovede:

1 pre odpoveď č. 1

Môžete použiť názov tri časti:

SELECT * FROM OPENQUERY(MyLinkedServer,"SELECT * FROM MyDB.schema_name.Table")