Files
DBAdmin/inbox/DataBase/SQLServer/inventory/invent_databases_instances_rap.sql
2026-05-18 06:40:19 +00:00

72 lines
2.5 KiB
Transact-SQL

create table #SVer(ID int, Name sysname, Internal_Value int, Value nvarchar(512)) insert #SVer exec master.dbo.xp_msver
declare @SmoRoot nvarchar(512)
exec master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath', @SmoRoot OUTPUT
--insert into InstanceList
SELECT
serverproperty(N'ComputerNamePhysicalNetBIOS') AS [Host_name],
serverproperty(N'ServerName') as [ServerName],
serverproperty(N'InstanceName') as [InstanceName],
GETDATE() as date_invent,
(select Value from #SVer where Name = N'ProductName') AS [Product],
SERVERPROPERTY(N'ProductVersion') AS [VersionString],
(select Value from #SVer where Name = N'Language') AS [Language],
(select Value from #SVer where Name = N'Platform') AS [Platform],
CAST(SERVERPROPERTY(N'Edition') AS sysname) AS [Edition],
(select Internal_Value from #SVer where Name = N'ProcessorCount') AS [Processors],
(select Value from #SVer where Name = N'WindowsVersion') AS [OSVersion],
(select Internal_Value from #SVer where Name = N'PhysicalMemory') AS [PhysicalMemory],
cast(SERVERPROPERTY('IsClustered') AS varchar) AS [IsClustered],
@SmoRoot AS [RootDirectory],
convert(sysname, serverproperty(N'collation')) AS [Collation]
drop table #SVer
SELECT
serverproperty(N'ComputerNamePhysicalNetBIOS') AS [Host_name],
GETDATE() as date_invent,
dtb.name AS [Database_Name],
case
when DATABASEPROPERTY(dtb.name,'IsShutDown') is null then 0x200
else 0
end |
case
when 1 = dtb.is_in_standby then 0x40
else 0
end |
case
when 1 = dtb.is_cleanly_shutdown then 0x80
else 0
end |
case dtb.state
when 1 then 0x2
when 2 then 0x8
when 3 then 0x4
when 4 then 0x10
when 5 then 0x100
when 6 then 0x20
else 1
end
AS [Database_Status_int],
convert(sysname,DatabasePropertyEx(dtb.name,'Status')) as Database_status,
create_date,
dtb.compatibility_level AS [Database_CompatibilityLevel],
convert(sysname,DatabasePropertyEx(dtb.name,'Recovery')) AS [RecoveryModel],
convert(sysname,DatabasePropertyEx(dtb.name,'UserAccess')) AS [UserAccess],
convert(sysname,DatabasePropertyEx(dtb.name,'Updateability')) AS [ReadOnly]
FROM
master.sys.databases AS dtb
LEFT OUTER JOIN sys.database_mirroring AS dmi ON dmi.database_id = dtb.database_id
WHERE
(CAST(case when dtb.name in ('master','model','msdb','tempdb','IBM') then 1 else dtb.is_distributor end AS bit)=0 and CAST(isnull(dtb.source_database_id, 0) AS bit)=0)
ORDER BY
[Database_Name] ASC