Skip Navigation LinksALVAO 11.2Stránky aplikaceSprávaDatové dotazyDatový dotazDotaz Skip Navigation Links.


Skip Navigation LinksALVAO 11.2 / Stránky aplikace / Správa / Datové dotazy / Datový dotaz / Dotaz

Dotaz

Na této stránce zadejte dotaz SQL.

Upozornění:
Špatně zadaný dotaz SQL může nenávratně poškodit databázi Alvao. SQL dotazy vždy vytvářejte a testujte na testovací kopii produkční databáze

Možnosti:

  • Panel příkazů
    • Uložit - uloží změny.
    • Spustit - spustí dotaz SQL a zobrazí náhled výsledků.
  • Editor dotazů - zadání dotazu SQL.

V dotazu SQL můžete použít následující proměnné

  • @personId - ID uživatele(tPerson.iPersonId), který provádí dotaz na data.
  • @localeId - LCID(tLocale.iLocaleId) preferovaného jazyka uživatele, který spouští datový dotaz.
  • @customId - hodnota řetězcového parametru dotazu customId. Tuto proměnnou můžete použít v uživatelských úpravách, např. v IEntityTab. Adresa URL datového dotazu může vypadat například takto: https://contoso.onalvao.com/Alvao/DataQuery/Result?id=1&customId=1.

Na stránce Datové dotazy mohou uživatelé zobrazit všechny sloupce vrácené dotazem SQL. Pokud název sloupce končí na "TicketId", "NodeId", "SoftwareLicenseId" nebo "PersonId" (např. "MentorPersonId"), zobrazí se hodnoty jako odkazy na odpovídající stránku entity. Je-li vybrán celý řádek, zobrazí se vpravo stránka entity pro první takový sloupec

Příklady dotazů

Dotaz musí obsahovat právě jeden SELECT, ve kterém se neopakují názvy sloupců a neobsahuje řazení.

Všechny počítače

Následující dotaz zjistí podrobnosti o všech počítačích.

SELECT [Object name], [RAM size (GB)], [Total hard disk capacity (GB)], [CPU], [Operating system], [Graphic card], [IP addresses], [MAC addresses]
FROM Query.ObjectEnu
WHERE [Object of Computer type] = 'Yes'

Všechny počítače s nainstalovaným programem AcrobatReader

Zde spojíme hodnoty z více pohledů do jednoho pomocí operátoru LEFT JOIN
SELECT ObjectEnu.[Object name], Software.Product FROM Query.ObjectEnu
LEFT JOIN Query.Software ON [Software].ComputerNodeId = ObjectEnu.[Object id]
WHERE Software.Product = 'Adobe Acrobat Reader'

Všechny počítače a historie jejich přesunů

Dotaz na objekty počítačů a některé vybrané položky jejich historie
SELECT ObjectEnu.[Object name], ObjectLogEnu.[Record date (UTC)], ObjectLogEnu.[Title], ObjectLogEnu.[Message], ObjectLogEnu.[Record kind]
FROM Query.ObjectEnu
LEFT JOIN Query.ObjectLogEnu ON ObjectLogEnu.[Object id] = ObjectEnu.[Object id]
WHERE ObjectEnu.[Object of Computer type] = 'Yes' AND ObjectLogEnu.[Title] = N'Move' AND ObjectLogEnu.[Record kind] = 'Object history'

Diskové jednotky a volné místo

Dotaz na diskové jednotky počítače a stav volného místa.

SELECT o.[Object name], d.[Logical drive], d.[Capacity (GB)], d.[Total free space (GB)], d.[Free space (%)]
FROM Query.DiskDriveEnu d
LEFT JOIN [Query].[ObjectEnu] o ON d.[Object id]=o.[Object id]

Kompatibilita se systémem Windows 11

Stáhněte si skript compatibility.sql a zkontrolujte, které počítače jsou v registru kompatibilní se systémem Windows 11.

Uživatelé s přenesenými prostředky bez přenosového protokolu

Tento dotaz zobrazuje uživatele, kterým byl předán majetek s vyplněným inventárním číslem, ale následně nebyl vystaven předávací protokol.

SELECT
    usr.[Name] [User],
    usr.[Path in tree],
    dbo.fnLocalTime(moves.[Date of last move (UTC)], 'Central Europe Standard Time') [Date last moved],
    dbo.fnLocalTime(pp.[Last PP Date (UTC)], 'Central Europe Standard Time') [Date of last PP]
FROM (
    SELECT
        usr.[Object id] [User Id],
        max(l.[Record date (UTC)]) [Date of last move (UTC)]
    FROM Query.ObjectLogEnu l
        INNER JOIN Query.ObjectEnu o ON o.[Object id]=l.[Object id] AND ISNULL(o.[Inventory number],'')!=''
        INNER JOIN Query.NodeParent np ON np.ChildNodeId=l.[Object id] 
        INNER JOIN Query.ObjectEnu usr ON usr.[Object id]=np.ParentNodeId AND usr.[Type]=N'User' 
    WHERE l.Title=N'Move' 
    GROUP BY usr.[Object id] 
  ) moves 
  INNER JOIN Query.ObjectEnu usr ON usr.[Object id]=moves.[User Id] 
  LEFT JOIN (
    SELECT
      l.[Object id],
      ISNULL(max(l.[Record date (UTC)]),{d'1900-01-01'}) [Last PP Date (UTC)]
    FROM Query.ObjectLogEnu l
    WHERE l.[Record kind]=N'Document' AND l.Title=N'Transmission Log' 
    GROUP BY l.[Object id] 
  ) pp ON pp.[Object id] = moves.[User Id]
WHERE moves.[Date of last move (UTC)]>DATEADD(DAY,1,pp.[Last PP Date (UTC)])

Poznámka: V předávacím protokolu je uvedeno pouze datum (a čas je vždy 00:00:00), takže k němu musíme přidat den

Počítače a jejich zjištěné čipy TPM

Dotaz zobrazí seznam počítačů a jejich zjištěných čipů TPM.

SELECT 
	o.[Object id] NodeId, o.[Type],
    	o.[Object name] [Computer],
    	o.[Path in tree],
    	wo.IsActivated, 
	wo.IsEnabled, 
	wo.IsOwned, 
	wo.Manufacturer, 
	wo.ManufacturerVersion, 
	wo.ManufacturerVersionFull20, 
	wo.ManufacturerVersionInfo, 
	wo.PhysicalPresenceVersionInfo, 
	wo.SpecVersion
FROM Query.ObjectEnu o
	LEFT JOIN vComputerDetectLast cdl ON cdl.lintComputerNodeId=o.[Object id] AND cdl.lintDetectKindId=1
	LEFT JOIN tblWbemObject wo ON wo.lintDetectId=cdl.lintDetectId AND wo.__CLASS='Win32_Tpm'
WHERE o.[Object of Computer type]='Yes'

Změny velikosti paměti RAM v aktivních počítačích v inventáři

Níže uvedený dotaz vygeneruje seznam objektů, u nichž byla v předchozím kalendářním měsíci změněna vlastnost Velikost paměti RAM (GB ).

select 
    L.dteLog as [Date],
    N.txtName as [Object Name],
    N.txtClass as [Type],
    N.txtPath as [Path in tree],
    L.txtLog as [Message],
    P.sPerson as [User]
from tblLog L 
join vNodeClass N on L.lintNodeId = N.intNodeId
join tblKind K on K.intKindId = L.KindId
join tPerson P on P.iPersonId = L.liLogPersonId
where N.IsHidden = 0 and N.IsDiscarded = 0 and N.bComputer = 1 
    and K.intKindCode = 147 and L.lintLogKindId = 4
    and (DATEPART(MONTH, L.dteLog) = (DATEPART(MONTH, DATEADD(MONTH, -1, GETUTCDATE()))))

 

Nenašli jste co jste hledali? Zeptejte se našeho týmu technické podpory.