В зависимости от сценария вы получаете для всех дБ выходной "master" с помощью DB_NAME () .
Вы можете использовать DB_NAME (DB_ID (''? '')) в следующих случаях:
exec sp_msforeachdb 'select DB_NAME(DB_ID(''?'')), Value from ?.dbo.MyTable WHERE(ColumnX = N''1'')'
, что приведет к чему-то вроде этого:
+ ------------- + ------- +
| DBLegacy | VA1 |
+ ------------- + ------- +
+ ------------- + ------- +
| DBNew12 | ABC |
+ ------------- + ------- +
+ ------------- + ------- +
| DBOld333 | XYZ |
+ ------------- + ------- +
Чтобы получить результаты в одном наборе результатов, см .:
SQL Server: sp_MSforeachdb в единый набор результатов
Это приведет к этому:
+ ------------- + ------- +
| DBLegacy | VA1 |
+ ------------- + ------- +
| DBNew12 | ABC |
+ ------------- + ------- +
| DBOld333 | XYZ |
+ ------------- + ------- +