| 
 Los siguientes son ejemplos de consultas SQL contra una base de datos PostgreSQL. Las consultas a otras bases de datos pueden contener algunas diferencias debido a las peculiaridades de la propia base de datos y las complejidades de su uso. 
  
 | 
Las siguientes consultas son deliberadamente subóptimas para mejorar la legibilidad. 
Las consultas no tienen en cuenta la jerarquía de grupos y estaciones debido a las peculiaridades de las instalaciones del lenguaje SQL estándar. 
 | 
 
 
 
Para acceder a la base de datos directamente 
1.Abra el Centro de Control de su Servidor. 2.Vaya a la sección Administración → Consola SQL. 3.Ingrese la consulta SQL requerida. A continuación se ofrecen ejemplos de consultas. 4.Haga clic en el botón Ejecutar. Ejemplos de consultas SQL 
1.Busque estaciones en las que esté instalada la versión de servidor de Windows y en las que las bases de datos de virus sean anteriores a 2019.07.04-00:00:00 UTC (12.0). 
SELECT  
  stations.name Station,  
  groups_list.name OS,  
  station_products.crev Bases  
FROM  
  stations  
  INNER JOIN groups_list ON groups_list.platform =( 
    CAST(stations.lastos AS INTEGER) & ~15728640 
  )  
  AND ( 
    ( 
      CAST(stations.lastos AS INTEGER) & 2130706560 
    ) = 33554560 
  )  
  INNER JOIN station_products ON station_products.id = stations.id  
  AND station_products.product = '10-drwbases'  
  AND station_products.crev < 12020190704000000; 
 | 
 
 
 
2.Encuentra estaciones que tengan en la sección Red antivirus → Estadísticas → Estado registros con nivel Alta o Máxima. 
SELECT  
  stations.name Station  
FROM  
  stations  
WHERE  
  id IN ( 
    SELECT  
      DISTINCT id  
    FROM  
      station_status  
    WHERE  
      severity >= 1342177280 
  ); 
 | 
 
 
 
3.Obtener la correspondencia de los estados y el número de estaciones con estos estados. 
SELECT  
  code Code,  
  COUNT(code) Num  
FROM  
  ( 
    SELECT  
      DISTINCT id,  
      code  
    FROM  
      station_status 
  ) AS t  
GROUP BY  
  Code  
ORDER BY  
  Code; 
 | 
 
 
 
4.Obtenga las 10 amenazas más populares detectadas desde 2019.06.01 hasta 2019.07.01 en estaciones que pertenecen al grupo con el identificador '373a9afb-9c9a-4d4d-b9b1-de817b96bcc5' o cualquier grupo anidado en él. 
SELECT  
  cat_virus.str Threat,  
  COUNT(cat_virus.str) Num  
FROM  
  station_infection  
  INNER JOIN cat_virus ON cat_virus.id = station_infection.virus  
WHERE  
  station_infection.infectiontime BETWEEN 20190601000000000  
  AND 20190701000000000  
  AND station_infection.id IN ( 
    SELECT  
      sid  
    FROM  
      station_groups  
    WHERE  
      gid = '373a9afb-9c9a-4d4d-b9b1-de817b96bcc5'  
      OR gid IN ( 
        SELECT  
          child  
        FROM  
          group_children  
        WHERE  
          id = '373a9afb-9c9a-4d4d-b9b1-de817b96bcc5' 
      ) 
  )  
GROUP BY  
  cat_virus.str  
ORDER BY  
  Num DESC  
LIMIT  
  10; 
 | 
 
 
 
5.Obtener las 10 estaciones más infectadas. 
SELECT  
  Station,  
  Grp,  
  Num  
FROM  
  ( 
    SELECT  
      stations.id,  
      groups_list.id,  
      stations.name Station,  
      groups_list.name Grp,  
      COUNT(stations.id) Num  
    FROM  
      station_infection  
      INNER JOIN stations ON station_infection.id = stations.id  
      INNER JOIN groups_list ON groups_list.id = stations.gid  
    GROUP BY  
      stations.id,  
      groups_list.id,  
      stations.name,  
      groups_list.name  
    ORDER BY  
      Num DESC  
    LIMIT  
      10 
  ) AS t; 
 | 
 
 
 
6.Eliminar la membresía de todas las estaciones de los grupos de usuarios que no son primarios para estas estaciones. 
DELETE FROM  
  station_groups; 
INSERT INTO station_groups(sid, gid)  
SELECT  
  stations.id,  
  groups_list.id  
FROM  
  stations  
  INNER JOIN groups_list ON stations.gid = groups_list.id  
  AND groups_list.type NOT IN(1, 4); 
 | 
 
 
 
7.Buscar los objetos de red antivirus en los que el dominio especificado está presente en la lista blanca del componente de la puerta del SpIDer en la configuración personal. 
SELECT  
  stations.name Station  
FROM  
  station_cfg  
  INNER JOIN stations ON stations.id = station_cfg.id  
WHERE  
  station_cfg.component = 38  
  AND station_cfg.name = 'WhiteVirUrlList'  
  AND station_cfg.value = 'domain.tld'; 
SELECT  
  groups_list.name Grp  
FROM  
  group_cfg  
  INNER JOIN groups_list ON groups_list.id = group_cfg.id  
WHERE  
  group_cfg.component = 38  
  AND group_cfg.name = 'WhiteVirUrlList'  
  AND group_cfg.value = 'domain.tld'; 
SELECT  
  policy_list.name Policy  
FROM  
  policy_cfg  
  INNER JOIN policy_list ON policy_list.id = policy_cfg.id  
WHERE  
  policy_cfg.component = 38  
  AND policy_cfg.name = 'WhiteVirUrlList'  
  AND policy_cfg.value = 'domain.tld'; 
 | 
 
 
 
8.Recuperar eventos de la auditoría para inicios de sesión fallidos de administradores en el Centro de control con los códigos de error de autorización correspondientes. 
SELECT  
  admin_activity.login Login,  
  admin_activity.address Address,  
  activity_data.value ErrorCode,  
  admin_activity.createtime EventTimestamp  
FROM  
  admin_activity  
  INNER JOIN activity_data ON admin_activity.record = activity_data.record  
WHERE  
  admin_activity.oper = 10100  
  AND admin_activity.status != 1  
  AND activity_data.item = 'Error'; 
 | 
 
 
 
9.Buscar estaciones de Windows que no tengan instaladas las correcciones de seguridad necesarias. 
SELECT  
  stations.name Station  
FROM  
  stations  
WHERE  
  id NOT IN ( 
    SELECT  
      station_env_kb.id  
    FROM  
      station_env_kb  
      INNER JOIN stations ON stations.id = station_env_kb.id  
    WHERE  
      ( 
        CAST(stations.lastos AS INTEGER) & 2130706432 
      )= 33554432  
      AND station_env_kb.name IN ( 
        SELECT  
          id  
        FROM  
          env_strings  
        WHERE  
          str IN( 
            'KB4012212', 'KB4012213', 'KB4012214',  
            'KB4012215', 'KB4012216', 'KB4012217',  
            'KB4012598' 
          ) 
      ) 
  ); 
 | 
 
 
 
 |