-- =================================================================================================================== -- Collector: ServerCollector ("server") -- =================================================================================================================== -- Hvad: Starttidspunkt, logiske CPU'er, schedulers, NUMA-noder, fysisk hukommelse og virtualisering. -- Fil: src/SQLInsight.Collectors/Instance/ServerCollector.cs -- Interval: 15 min som standard (SQLInsight:CollectorIntervals:server) -- Versioner: Alle (SQL Server 2000 og nyere) -- -- Rettigheder til agentens login (se db/permissions/grant-least-privilege.sql; [agent] = agentens login): -- GRANT VIEW SERVER STATE TO [agent]; -- SQL Server 2005-2019 -- GRANT VIEW SERVER PERFORMANCE STATE TO [agent]; -- SQL Server 2022+ (erstatter VIEW SERVER STATE) -- GRANT VIEW SERVER SECURITY STATE TO [agent]; -- SQL Server 2022+ -- SQL Server 2000 har ikke VIEW SERVER STATE; se docs/legacy-versions.md (fx kræver DBCC SQLPERF(WAITSTATS) forhøjede rettigheder). -- -- Bruges af: SQLI-CFG-001, SQLI-CFG-002, SQLI-CFG-003, SQLI-CFG-004, SQLI-DB-015 -- Read-only: Ja: kun SELECT samt xp_msver (læser versionsoplysninger), SET-sessionsindstillinger. Intet ændrer -- data, indstillinger eller objekter. -- Kørsel: Kør i SSMS som agentens login. Hver variant er sin egen batch (GO); en variant for en anden SQL Server-version -- end din kan fejle - det er forventet. Agenten kører altid med sessionsindstillingerne i _collectors/InstanceProbe.sql. -- =================================================================================================================== -- Variant: SQL Server 2012 og nyere -- Kilde: ServerCollector.BuildSql(2012+) -- Kode: src/SQLInsight.Collectors/Instance/ServerCollector.cs : ServerCollector.BuildSql(version) SELECT (SELECT sqlserver_start_time FROM sys.dm_os_sys_info), cpu_count, (SELECT COUNT(*) FROM sys.dm_os_schedulers WHERE status = N'VISIBLE ONLINE'), (SELECT COUNT(DISTINCT parent_node_id) FROM sys.dm_os_schedulers WHERE status = N'VISIBLE ONLINE'), physical_memory_kb / 1024, virtual_machine_type_desc FROM sys.dm_os_sys_info GO -- Variant: SQL Server 2008 R2 SP1 og senere 2008 R2-builds -- Kilde: ServerCollector.BuildSql(2008 R2 SP1) -- Kode: src/SQLInsight.Collectors/Instance/ServerCollector.cs : ServerCollector.BuildSql(version) SELECT (SELECT sqlserver_start_time FROM sys.dm_os_sys_info), cpu_count, (SELECT COUNT(*) FROM sys.dm_os_schedulers WHERE status = N'VISIBLE ONLINE'), (SELECT COUNT(DISTINCT parent_node_id) FROM sys.dm_os_schedulers WHERE status = N'VISIBLE ONLINE'), physical_memory_in_bytes / 1048576, virtual_machine_type_desc FROM sys.dm_os_sys_info GO -- Variant: SQL Server 2008 og 2008 R2 før SP1 -- Kilde: ServerCollector.BuildSql(2008) -- Kode: src/SQLInsight.Collectors/Instance/ServerCollector.cs : ServerCollector.BuildSql(version) SELECT (SELECT sqlserver_start_time FROM sys.dm_os_sys_info), cpu_count, (SELECT COUNT(*) FROM sys.dm_os_schedulers WHERE status = N'VISIBLE ONLINE'), (SELECT COUNT(DISTINCT parent_node_id) FROM sys.dm_os_schedulers WHERE status = N'VISIBLE ONLINE'), physical_memory_in_bytes / 1048576, CAST(NULL AS nvarchar(60)) FROM sys.dm_os_sys_info GO -- Variant: SQL Server 2005 -- Kilde: ServerCollector.BuildSql(2005) -- Kode: src/SQLInsight.Collectors/Instance/ServerCollector.cs : ServerCollector.BuildSql(version) SELECT (SELECT create_date FROM sys.databases WHERE database_id = 2), cpu_count, (SELECT COUNT(*) FROM sys.dm_os_schedulers WHERE status = N'VISIBLE ONLINE'), (SELECT COUNT(DISTINCT parent_node_id) FROM sys.dm_os_schedulers WHERE status = N'VISIBLE ONLINE'), physical_memory_in_bytes / 1048576, CAST(NULL AS nvarchar(60)) FROM sys.dm_os_sys_info GO -- Variant: SQL Server 2000 (legacy ODBC-sti): starttidspunkt -- Kilde: ServerCollector.StartTimeSql(2000) -- Kode: src/SQLInsight.Collectors/Db.cs : Db.StartTimeSql(version) SELECT (SELECT login_time FROM master.dbo.sysprocesses WHERE spid = 1) GO -- Variant: SQL Server 2000 (legacy ODBC-sti): CPU og hukommelse -- Kilde: ServerCollector.Sql2000 -- Kode: src/SQLInsight.Collectors/Instance/ServerCollector.cs : ServerCollector.Sql2000 EXEC master.dbo.xp_msver GO