Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Database value variables
- $DBNull = [System.DBNull]::Value.Equals('NULL')
- $RowBad = "$dt.Rows -lt 24"
- $RowGood = "$dt.Rows -eq 24"
- #SQL server and database to use
- $ServerName = "Server"
- $DatabaseName = "Database"
- #Get previous day's date
- $Date = (get-date).AddDays(-1).ToShortDateString()
- #Queries to run using the date retrieved from the $Date variable
- $Query1 = "SELECT * FROM view_periodprogressionlog WHERE date = '$Date'"
- $Query2 = "proc_startover '$Date'"
- $Query3 = "proc_startperiod '$Date',1"
- #This is most likely unneeded but keeping just in case
- #$SelectRow = "with Database AS(select row_number() over(order by ProcessID) as 'row', * from view_periodprogressionlog) select * from Database where row=2"
- #Timeout parameters
- $QueryTimeout = 120
- $Query3Timeout = 3600
- $ConnectionTimeout = 30
- #Action of connecting to the Database and executing the query and returning results if there were any.
- $conn=New-Object System.Data.SqlClient.SQLConnection
- $ConnectionString = "Server={0};Database={1};Integrated Security=True;Connect Timeout={2}" -f $ServerName,$DatabaseName,$ConnectionTimeout
- $conn.ConnectionString=$ConnectionString
- $conn.Open()
- $cmdQ1=New-Object system.Data.SqlClient.SqlCommand($Query1,$conn)
- $cmdQ1.CommandTimeout=$QueryTimeout
- $ds=New-Object system.Data.DataSet
- $da=New-Object system.Data.SqlClient.SqlDataAdapter($cmdQ1)
- $dt=New-Object Data.DataTable
- $dt=$ds.Tables[0]
- [void]$da.fill($ds)
- $conn.Close()
- $ds.Tables
- if($da.Fill($ds):DBNull.Equals($RowBad) | out-null)
- {
- $conn.ConnectionString=$ConnectionString
- $conn.Open()
- $cmdQ2=New-Object system.Data.SqlClient.SqlCommand($Query2,$conn)
- $cmdQ2.CommandTimeout=$QueryTimeout
- $ds=New-Object system.Data.DataSet
- $da=New-Object system.Data.SqlClient.SqlDataAdapter($cmdQ2)
- [void]$da.fill($ds)
- $cmdQ2=New-Object system.Data.SqlClient.SqlCommand($Query2,$conn)
- $cmdQ2.CommandTimeout=$QueryTimeout
- $ds=New-Object system.Data.DataSet
- $da=New-Object system.Data.SqlClient.SqlDataAdapter($cmdQ2)
- [void]$da.fill($ds)
- $cmdQ3=New-Object system.Data.SqlClient.SqlCommand($Query3,$conn)
- $cmdQ3.CommandTimeout=$Query3Timeout
- $ds=New-Object system.Data.DataSet
- $da=New-Object system.Data.SqlClient.SqlDataAdapter($cmdQ3)
- [void]$da.fill($ds)
- $cmdQ1=New-Object system.Data.SqlClient.SqlCommand($Query1,$conn)
- $cmdQ1.CommandTimeout=$QueryTimeout
- $ds=New-Object system.Data.DataSet
- $da=New-Object system.Data.SqlClient.SqlDataAdapter($cmdQ1)
- [void]$da.fill($ds)
- $conn.Close()
- $ds.Tables | Export-Csv C:\Scripts\PowerShell\SQL\DB.csv
- Write-Host "Please check the Scripts folder for the results of this script."
- }
- else($da.Fill($ds):DBNull.Equals($RowGood) | out-null)
- {
- Write-Host "The database values are fine, please call the help desk for further assistance with troubleshooting the issue."
- }
Advertisement
Add Comment
Please, Sign In to add comment