update
This commit is contained in:
61
MsSQL/script.ps1
Normal file
61
MsSQL/script.ps1
Normal file
@ -0,0 +1,61 @@
|
||||
Function QuerySQLServer([string]$DBServer, [string]$DBName, [string]$Query) {
|
||||
Try {
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$resultsDataTable = New-Object System.Data.DataTable
|
||||
|
||||
$cn = new-object System.Data.SqlClient.SqlConnection("Data Source=$DBServer;Integrated Security=SSPI;Initial Catalog=$DBName")
|
||||
$cn.open()
|
||||
|
||||
$cmd = new-object "System.Data.SqlClient.SqlCommand" ($Query , $cn)
|
||||
$reader = $cmd.ExecuteReader()
|
||||
|
||||
$resultsDataTable.Load($reader)
|
||||
|
||||
$cn.Close()
|
||||
|
||||
return $resultsDataTable
|
||||
}
|
||||
Catch {
|
||||
write-host $_.Exception.Message
|
||||
$_.Exception.Message >> "d:\error.log"
|
||||
}
|
||||
Finally {
|
||||
$ErrorActionPreference = "Continue"
|
||||
}
|
||||
}
|
||||
|
||||
cls
|
||||
|
||||
$bReturnOK = $TRUE
|
||||
$bReturnCritical = $FALSE
|
||||
$bReturnWarning = $FALSE
|
||||
$returnStateOK = 0
|
||||
$returnStateWarning = 1
|
||||
$returnStateCritical = 2
|
||||
$returnStateUnknown = 3
|
||||
|
||||
$strCritical = ""
|
||||
$strWarning = ""
|
||||
$DataTexte = ""
|
||||
|
||||
$ComputerName = $env:COMPUTERNAME
|
||||
|
||||
$Liste = QuerySQLServer "$ComputerName" "dhb_prd" "SELECT A.session_id, Db_Name(database_id) AS [database], DateDiff(MINUTE, A.connect_time, GetDate()) AS [Connected (mins)], num_reads, num_writes, login_name, Text AS SQL FROM sys.dm_exec_connections AS A INNER JOIN sys.dm_exec_sessions AS B ON A.session_id = B.session_id INNER JOIN sys.sysprocesses AS s ON s.spid = A.session_id OUTER APPLY::fn_get_sql(sql_handle)"
|
||||
$Liste | Format-Table | Out-String|% {Write-Host $_}
|
||||
|
||||
$DataTexte = $Liste.login_name
|
||||
|
||||
If ($bReturnCritical) {
|
||||
write-output $strCritical
|
||||
write-output $strWarning "|" $DataTexte
|
||||
exit $returnStateCritical
|
||||
}
|
||||
Elseif ($bReturnWarning) {
|
||||
write-output $strWarning "|" $DataTexte
|
||||
exit $returnStateWarning
|
||||
}
|
||||
Else {
|
||||
write-output "OK - Nombre de requete en cours : $DataTexte | 'NbrequetesEnCours'=$DataTexte "
|
||||
exit $returnStateOK
|
||||
}
|
Reference in New Issue
Block a user