Как просмотреть все мои базы данных для конкретного сервера при одном подключении? - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь прочитать данные из DB1, выполнить некоторые вычисления и затем сохранить их в DB2. И DB1, и DB2 находятся на одном сервере.

Однако, когда я подключаюсь к серверу в SSMS, он не показывает мне DB1 и DB2 при одном подключении. Как подключиться к серверу, чтобы он показывал DB1 и DB2 в одном соединении?

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Спасибо за помощь, Дэн, у меня не получилось присвоение имен из 4 частей. Закончилось создание внешней таблицы в DB2, что позволило мне запрашивать данные, хранящиеся в DB1

0 голосов
/ 07 октября 2019

Соединение может иметь только один контекст базы данных. Однако вы можете использовать имена из 3-х частей, чтобы квалифицировать имена объектов с другими именами баз данных, что позволяет запросу использовать объекты в других базах данных в том же соединении.

USE Database1; --use Database1 as default context
SELECT 
      'Database1' AS DatabaseName
    , OBJECT_SCHEMA_NAME(object_id) AS SchemaName
    , name AS TableName
FROM sys.tables -- 1 or 2-part name uses current database
UNION ALL
SELECT
      'Database2' AS DatabaseName
    , OBJECT_SCHEMA_NAME(object_id) AS SchemaName
    , name AS TableName
FROM Database2.sys.tables; -- 3-part name uses other database

Кроме того, имена из четырех частей позволяютиспользовать объекты на других серверах через связанные серверы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...