Соединение может иметь только один контекст базы данных. Однако вы можете использовать имена из 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
Кроме того, имена из четырех частей позволяютиспользовать объекты на других серверах через связанные серверы.