View difference between Paste ID: RxjsgTuj and q5kFNwry
SHOW: | | - or go back to the newest paste.
1
#Database value variables
2
$DBNull = [System.DBNull]::Value.Equals('NULL')
3-
$DBValue = [System.DBNull]::Value.Equals('Y')
3+
$RowBad = "$dt.Rows -lt 24"
4
$RowGood = "$dt.Rows -eq 24"
5
6
#SQL server and database to use
7
$ServerName = "Server"
8
$DatabaseName = "Database"
9
10
#Get previous day's date
11
$Date = (get-date).AddDays(-1).ToShortDateString()
12
13-
$Query1 = "SELECT * FROM Table(nolock) WHERE date = '$Date'"
13+
14
$Query1 = "SELECT * FROM view_periodprogressionlog WHERE date = '$Date'"
15
$Query2 = "proc_startover '$Date'"
16-
$RowValue = "with Database AS(select row_number() over(order by ProcessID) as 'row', * from Table) select * from Database where row=2"
16+
17
18
#This is most likely unneeded but keeping just in case
19
#$SelectRow = "with Database AS(select row_number() over(order by ProcessID) as 'row', * from view_periodprogressionlog) select * from Database where row=2"
20
21
#Timeout parameters
22
$QueryTimeout = 120
23
$Query3Timeout = 3600
24
$ConnectionTimeout = 30
25
26
#Action of connecting to the Database and executing the query and returning results if there were any.
27
$conn=New-Object System.Data.SqlClient.SQLConnection
28
$ConnectionString = "Server={0};Database={1};Integrated Security=True;Connect Timeout={2}" -f $ServerName,$DatabaseName,$ConnectionTimeout
29
$conn.ConnectionString=$ConnectionString
30
$conn.Open()
31
$cmdQ1=New-Object system.Data.SqlClient.SqlCommand($Query1,$conn)
32
$cmdQ1.CommandTimeout=$QueryTimeout
33
$ds=New-Object system.Data.DataSet
34
$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmdQ1)
35-
 if($RowValue:DBNull.Equals($DBValue))
35+
$dt=New-Object Data.DataTable
36
$dt=$ds.Tables[0]
37
[void]$da.fill($ds)
38
$conn.Close()
39
$ds.Tables
40
 if($da.Fill($ds):DBNull.Equals($RowBad) | out-null)
41
{
42
            $conn.ConnectionString=$ConnectionString
43
			$conn.Open()
44
			$cmdQ2=New-Object system.Data.SqlClient.SqlCommand($Query2,$conn)
45
			$cmdQ2.CommandTimeout=$QueryTimeout
46
			$ds=New-Object system.Data.DataSet
47
			$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmdQ2)
48
			[void]$da.fill($ds)
49
			$cmdQ2=New-Object system.Data.SqlClient.SqlCommand($Query2,$conn)
50
			$cmdQ2.CommandTimeout=$QueryTimeout
51
			$ds=New-Object system.Data.DataSet
52
			$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmdQ2)
53
			[void]$da.fill($ds)
54
			$cmdQ3=New-Object system.Data.SqlClient.SqlCommand($Query3,$conn)
55
			$cmdQ3.CommandTimeout=$Query3Timeout
56
			$ds=New-Object system.Data.DataSet
57
			$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmdQ3)
58
			[void]$da.fill($ds)
59
			$cmdQ1=New-Object system.Data.SqlClient.SqlCommand($Query1,$conn)
60
			$cmdQ1.CommandTimeout=$QueryTimeout
61
			$ds=New-Object system.Data.DataSet
62
			$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmdQ1)
63-
else($RowValue:DBNull.Equals($DBNull))
63+
64
			$conn.Close()
65
			$ds.Tables | Export-Csv C:\Scripts\PowerShell\SQL\DB.csv
66
			Write-Host "Please check the Scripts folder for the results of this script."
67
}
68
else($da.Fill($ds):DBNull.Equals($RowGood) | out-null)
69
{
70
            Write-Host "The database values are fine, please call the help desk for further assistance with troubleshooting the issue."
71
}