У нас есть несколько SQL-серверов, и большинство из них являются автономными. Мне нужно создать хранимую процедуру/представление, которая введет все имена баз данных в таблицу со всех серверов.Получить все имена баз данных с нескольких серверов
Есть ли способ сделать это с помощью хранимой процедуры или представления? У меня нет опыта в PowerShell или .Net.
Вот что у меня есть. Я просто не могу понять, как «прыгать» с сервера на сервер и добавлять все мои результаты в реальную таблицу.
CREATE TABLE ##temp
(
DATABASE_NAME VARCHAR(100),
DATABASE_SIZE INT,
REMARKS VARCHAR(500)
)
INSERT into ##temp
EXEC [sp_databases]
--doing this to also get ServerName along with the db name.
--When I insert into a real table, I'll seperate it into two columns plus remove "@[email protected]"
update ##temp
set DATABASE_NAME = (select @@SERVERNAME) + '@[email protected] ' + DATABASE_NAME
where DATABASE_NAME not like '%@[email protected]%'
select DATABASE_NAME from ##temp
Вы можете выполнять запросы к нескольким серверам через окно «Зарегистрированные серверы» –