-
Notifications
You must be signed in to change notification settings - Fork 63
/
Copy pathDMart-UpdateCDCDB.ps1
35 lines (28 loc) · 1.9 KB
/
DMart-UpdateCDCDB.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# DMart-UpdateDB.ps1
param(
$SQLServer = 'PSQLRPT2',
[string]$ScriptDir = 'C:\Users\MMessano\Desktop\DMartInterum',
$Beta = 0,
[String[]] $DatabaseList,
$FilePrefix = 'Log',
[switch]$Log
)
$DQuery = "SELECT CDCReportDB FROM ClientConnectionCDC WHERE Beta = " + $Beta + " ORDER BY 1"
$Databases = Invoke-Sqlcmd -ServerInstance $SQLServer -Database PA_DMart -Query $DQuery
$DataScripts = Get-ChildItem -Path $ScriptDir -Filter *Data*.sql | sort-object -desc
cls
if ($Databases) {
foreach ($DB IN $Databases) {
Write-Host "Begin" $DB[0]
if ($DataScripts) {
foreach ( $DataScript IN $DataScripts ) {
Invoke-SQLCMD -ServerInstance $SQLServer -Database $DB[0] -InputFile $DataScript.FullName -QueryTimeout 120
Write-Host "`tApplied " $DataScript.FullName "to the" $DB[0]"database"on" $SQLServer."
}
}
}
# else {
# Write-Host "WTF " $DB[0] " is not a Data database."
# }
Write-Host "End" $DB[0]
}