Мне удалось создать псевдоним для связанного сервера, используя this method. При связывании сервера я указал каталог по умолчанию, поэтому теперь я могу выполнить удаленный SP, пропустив схему и имя базы данных, например. это работает:SELECT из каталога по умолчанию связанного сервера
EXEC REMOTE_SERVER_ALIAS...REMOTE_STORED_PROCEDURE
Но по какой-то причине я не могу использовать тот же подход для простой выбор:
SELECT * FROM REMOTE_SERVER_ALIAS...REMOTE_TABLE
Попытка выполнить это бросает ошибку:
An invalid schema or catalog was specified
Любая идея, как сделать это работает?
P.S. Я знаю о OPENQUERY
подходе, а не использовать его из-за своих ограничений
Я думаю, что разные версии SQL Server анализируют это по-разному, поэтому наилучшим вариантом является использование полного имени, хотя его немного больше, чтобы печатать. – idstam
@idstam Проблема в том, что мы создаем универсальный скрипт, который должен запускаться на сервере с неизвестным именем и БД с неизвестным именем (мы знаем, что БД будет иметь SP и таблицы с известными именами). Таким образом, идея заключалась в создании сервера с псевдонимом с каталогом по умолчанию, поэтому сценарий должен просто указывать псевдоним сервера и имена таблиц/SPs. –