- /Daily_Backup_review/database_s3_check.ps1 - /Daily_Backup_review/Get-StorageContainerContent.ps1 - /Daily_Backup_review/Global_Checks.ps1 - /Daily_Backup_review/list_table_within_databases.ps1 - /Daily_Backup_review/Start-AzureSQLExport.ps1 - /Daily_Backup_review/Start-BackupCheckBpScus.ps1 - /Daily_Backup_review/Start-BackupCheckBpWeu.ps1 - /Daily_Backup_review/Start-BackupCheckRoserAttachments.ps1 - /Daily_Backup_review/Start-BackupCheckRoserCloud.ps1 - /Daily_Backup_review/Start-BackupCheckTotal.ps1 - /Daily_Backup_review/Start-DatabaseExport.ps1 - /Daily_Backup_review/Start-PointInTimeRestore.ps1 - /Daily_Backup_review/list_databases_within_instances.py - /Daily_Citrix_VDA_and_Server_Utilization_review/Cloudwatch_review/cloudwatch_alarm_ap-southeast-2.json - /Daily_Citrix_VDA_and_Server_Utilization_review/Cloudwatch_review/Cloudwatch_review.ps1 - /Ansible/audit-netscaler-exp.yaml - /Ansible/concurrent-user.yaml - /Ansible/do-something.yaml - /Ansible/hello-world.yaml - /Ansible/p6-log-cleanup.yaml - /Ansible/Roser_DB_backup_one_off.yaml - /Ansible/test-sql.yaml - /Ansible/test-sql-double-creds.yaml - /RoserUsefull/access_bulk_servers.ps1 - /RoserUsefull/access_bulk_servers_cezar.ps1 - /RoserUsefull/Bulk_copy_files.ps1 - /RoserUsefull/Besfort_data.ps1 - /RoserUsefull/check_permissions_bulk_servers.ps1 - /RoserUsefull/Check-p6interface-checksum.ps1 - /RoserUsefull/compare_files.ps1 - /RoserUsefull/connections_parser.ps1 - /RoserUsefull/drop_rds_registry_key.ps1 - /RoserUsefull/EmergencyAccessRemote.ps1 - /RoserUsefull/Keycloak_TestConnection.ps1 - /RoserUsefull/Kickoff_disconnected_users.ps1 - /RoserUsefull/launch_jira.ps1 - /RoserUsefull/launch_jira_gui.ps1 - /RoserUsefull/ownership_taker_anonymized.ps1 - /RoserUsefull/purge_files.ps1 - /RoserUsefull/remove_local_profiles_PowerShell.PS1 - /RoserUsefull/retrieve_attachements.ps1 - /RoserUsefull/Send_patch_multiple_servers.ps1 - /RoserUsefull/Test-RSAAPI-BP.ps1 - /RoserUsefull/Linux_identify_big_files.sh
56 lines
2.0 KiB
YAML
56 lines
2.0 KiB
YAML
- hosts: all
|
|
tasks:
|
|
- name: Concurrent User
|
|
community.general.mssql_script:
|
|
login_user: "{{ database_admin_user }}"
|
|
login_password: "{{ database_admin_password }}"
|
|
login_host: "{{ database_host }}"
|
|
db: "{{ db_name }}"
|
|
script: |
|
|
use {{ db_name }}
|
|
DECLARE @start Datetime = '{{ begin_date }}';
|
|
DECLARE @end Datetime = '{{ end_date }}';
|
|
WITH RankedDays AS (
|
|
SELECT
|
|
login_day,
|
|
column_{{ month }}{{ year }}_concurrent_user_count,
|
|
ROW_NUMBER() OVER (PARTITION BY MONTH(login_day) ORDER BY column_{{ month }}{{ year }}_concurrent_user_count DESC) AS rn
|
|
FROM
|
|
(
|
|
select login_day, max(column_{{ month }}{{ year }}_concurrent_user_count) column_{{ month }}{{ year }}_concurrent_user_count from (
|
|
SELECT
|
|
DISTINCT CAST(ul_main.logindate AS DATE) AS login_day,
|
|
( SELECT
|
|
COUNT(DISTINCT CHECKSUM(ul_sub.fk_userid, ul_sub.createcomputer))
|
|
FROM
|
|
tblUserLogin ul_sub
|
|
INNER JOIN tblApplication a ON a.pk_applicationid = ul_sub.fk_applicationid
|
|
WHERE
|
|
a.enumvalue IN (2, 3, 4, 5, 7, 11, 13, 15, 6, 9, 18, 10) --no rosercatalog!
|
|
AND ul_sub.logindate <= ul_main.logindate
|
|
AND (
|
|
CASE
|
|
WHEN lastheartbeat < logoutdate
|
|
THEN lastheartbeat
|
|
ELSE logoutdate
|
|
END
|
|
) >= ul_main.logindate
|
|
) AS column_{{ month }}{{ year }}_concurrent_user_count
|
|
FROM
|
|
tblUserLogin ul_main
|
|
WHERE
|
|
ul_main.logindate >= @start
|
|
AND ul_main.logindate < @end
|
|
) max_of_each_month group by login_day ) sub_query
|
|
WHERE login_day LIKE '{{ year }}%'
|
|
)
|
|
SELECT
|
|
login_day,
|
|
column_{{ month }}{{ year }}_concurrent_user_count
|
|
FROM
|
|
RankedDays
|
|
WHERE
|
|
rn <= 1
|
|
ORDER BY
|
|
MONTH(login_day),
|
|
column_{{ month }}{{ year }}_concurrent_user_count DESC; |