functions/Get-DbrInfo.ps1

<#
/*
 
Various queries for getting information out of the DBA Database
Connect to Server hosting DBA Database
 
 
Use
 
where IL.Inactive = 0
 
to only get active instances
 
*/
 
 
-- Generic infomration about Servers and locations and environments
 
Select IL.ServerName,
        IL.InstanceName,
        IL.Environment,
        IL.location
FROM dbo.InstanceList IL
-- where IL.Environment = 'Prod'
-- Where IL.Location = 'Bolton'
 
-- Generic infromation about servers and clients
 
Select
        DISTINCT C.ClientName,
        IL.ServerName
FROM dbo.InstanceList IL
JOIN
dbo.ClientDatabaseLookup CDL
ON
CDL.InstanceID = IL.InstanceID
JOIN dbo.Clients C
ON c.ClientID = cdl.ClientID
WHERE C.ClientName <> 'DBA-Team' ---- AND C.ClientName = '' -- AND IL.ServerName = ''
group by C.ClientName ,ServerName
 
 
-- Generic SQL Instance Information Specifics can be picked from the SQLInfo table as required - The date checked value will show how up to date the data is
 
Select IL.ServerName,
        IL.InstanceName,
        IL.Environment,
        IL.location,
        SI.*
FROM dbo.InstanceList IL
JOIN info.SQLInfo SI
ON SI.instanceid = IL.InstanceID
--- Use the relevant where clause you require here
 
order by SI.ServerName
 
 
-- Generic Windows Information Specifics can be picked from the ServerOSInfo table as required - The date checked value will show how up to date the data is
Select
        SOI.*
FROM info.serverosinfo SOI
 
-- Pick your required where clause here
 
-- Generic Database Information Specifics can be picked from the Databases table as required - The date checked value will show how up to date the data is
 
Select IL.ServerName,
        IL.InstanceName,
        IL.Environment,
        IL.location,
        D.*
FROM dbo.InstanceList IL
JOIN info.Databases D
ON D.InstanceID = IL.InstanceID
where D.Name = 'Name of Database 175'
 
-- pick your required where clause here
 
 
---- Job Detail INformation is in the AgentJobDetail table this holds infomration about every job that ran
Select IL.ServerName,
        IL.InstanceName,
        IL.Environment,
        IL.location,
        AJD.*
FROM dbo.InstanceList IL
JOIN info.AgentJobDetail AJD
ON AJD.InstanceID = IL.InstanceID
 
-- pick your required where clause here - Think about LastRuntime or outcome or server or job name
WHERE AJD.InstanceID
IN
 
(Select IL.InstanceID
FROM dbo.InstanceList IL
WHERE IL.Environment = 'Prod' ---- This clause is looking for Prod Environment Servers with Jobs that have Newport in the name
and AJD.JobName LIKE '%Index%')
 
and AJD.LastRunTime > DATEADD(day,-1,GETDATE()) --- That finished since yesterday
ORDER by AJD.LastRunTime desc
 
 
---- Job Server INformation is in the AgentJobServer table this holds a roll up of each days job records
 
Select IL.ServerName,
        IL.InstanceName,
        IL.Environment,
        IL.location,
        AJS.*
FROM dbo.InstanceList IL
JOIN info.AgentJobServer AJS
ON AJS.InstanceID = IL.InstanceID
 
-- pick your required where clause here - Think about LastRuntime or outcome or server or job name
WHERE AJS.InstanceID
IN
 
(Select IL.InstanceID
FROM dbo.InstanceList IL
WHERE IL.Environment = 'Prod' ---- This clause is looking for Prod Environment Servers in Bolton
and IL.Location = 'Bolton')
 
and AJS.Date > DATEADD(day,-1,GETDATE()) --- That were collected since yesterday
ORDER by IL.ServerName
 
 
-- Find the server a database is on
 
SELECT il.ServerName,
    il.InstanceName,
    il.Port,
    d.Name,
    il.Environment,
    c.ClientName,
    cdl.Notes
    FROM info.Databases d
    join dbo.InstanceList il
    on il.InstanceID = d.InstanceID
    join dbo.ClientDatabaseLookup cdl
    on d.DatabaseID = cdl.DatabaseID
    join dbo.clients c
    on cdl.ClientID = c.ClientID
    where d.name LIKE'%172%'
    AND IL.InActive = 0
     
    #>