Попробуйте и помните, что таблицы должны иметь одинаковую структуру.
SELECT *
FROM schema1.tbl_user
UNION
SELECT *
FROM schema2.tbl_user
И для большого количества схем вы можете использовать следующую хранимую процедуру. Это создаст динамический запрос UNION, и вы можете добавить условия для фильтрации имен схемы и таблицы.
DECLARE @table_name NVARCHAR(100)
DECLARE @schema_name NVARCHAR(100)
DECLARE @gettable CURSOR
DECLARE @query NVARCHAR(100)
SET @query=''
SET @gettable = CURSOR FOR
SELECT name,
schema_name(schema_id)
FROM sys.tables
OPEN @gettable
FETCH NEXT
FROM @gettable INTO @table_name, @schema_name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @query = @query + 'SELECT * FROM ' + @schema_name + '.'+ @table_name + ' UNION ';
FETCH NEXT
FROM @gettable INTO @table_name, @schema_name
END
CLOSE @gettable
DEALLOCATE @gettable
print @query;