Ich finde Informationen von anderen Instanzen über Verbindungsserver mit der SERVERPROPERTY
. Leider bezieht sich die SERVERPROPERTY
auf den Server, von dem ich jetzt die Abfrage ausführe.List Informationen über SQL Server über Verbindungsserver
Können Sie mir helfen?
Abfrage:
declare @instance_name nvarchar(50)
declare @command nvarchar(max)
declare instance_name_cursor cursor for
select name
from msdb.sys.servers
where product = 'SQL Server'
open instance_name_cursor
FETCH NEXT FROM instance_name_cursor INTO @instance_name
while @@FETCH_STATUS = 0
begin
select @command = 'declare @osversion nvarchar(50)
set @osversion = (select
case
when windows_release = ''10.0'' then ''Windows Server 2016''
when windows_release = ''6.3'' then ''Windows Server 2012 R2''
when windows_release = ''6.2'' then ''Windows Server 2012''
when windows_release = ''6.1'' then ''Windows Server 2008 R2''
when windows_release = ''6.0'' then ''Windows Server 2008''
end
from sys.dm_os_windows_info)
insert into mydatabase.dbo.sql_server_info
select SERVERPROPERTY (''MachineName''),SERVERPROPERTY (''ProductVersion''),
SERVERPROPERTY (''Edition''),SERVERPROPERTY (''ProductLevel''),
cpu_count,(physical_memory_kb /1024),
(select maximum FROM ['[email protected]_name+'].master.sys.configurations
where configuration_id=1544),@osversion
from ['[email protected]_name+'].master.sys.dm_os_sys_info'
exec (@command)
FETCH NEXT FROM instance_name_cursor INTO @instance_name
end
CLOSE instance_name_cursor
DEALLOCATE instance_name_cursor
Works groß, vielen Dank! – HoP