Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Database value variables
- $DBNull = [System.DBNull]::Value.Equals('NULL')
- $DBValue = [System.DBNull]::Value.Equals('Y')
- #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 Table(nolock) WHERE date = '$Date'"
- $Query2 = "proc_startover '$Date'"
- $Query3 = "proc_startperiod '$Date',1"
- $RowValue = "with Database AS(select row_number() over(order by ProcessID) as 'row', * from Table) 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)
- [void]$da.fill($ds)
- $conn.Close()
- $ds.Tables
- if($RowValue:DBNull.Equals($DBValue))
- {
- $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($RowValue:DBNull.Equals($DBNull))
- {
- 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