Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 13 additions & 8 deletions public/Get-DbaUserPermission.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -254,12 +254,13 @@ function Get-DbaUserPermission {

try {
Write-Message -Level Verbose -Message "Removing STIG schema if it still exists from previous run"
$tempdb.ExecuteNonQuery($removeStigSQL)
# We use Invoke-DbaQuery (here and later in the code) because using ExecuteNonQuery with long batches causes problems on AppVeyor.
$null = Invoke-DbaQuery -SqlInstance $server -Database tempdb -Query $removeStigSQL -EnableException
Write-Message -Level Verbose -Message "Creating STIG schema customized for master database"
$createStigSQL = $sql.Replace("<TARGETDB>", 'master')
$tempdb.ExecuteNonQuery($createStigSQL)
$null = Invoke-DbaQuery -SqlInstance $server -Database tempdb -Query $createStigSQL -EnableException
Write-Message -Level Verbose -Message "Building data table for server objects"
$serverDT = $tempdb.Query($serverSQL)
$serverDT = Invoke-DbaQuery -SqlInstance $server -Database tempdb -Query $serverSQL -EnableException
foreach ($row in $serverDT) {
[PSCustomObject]@{
ComputerName = $server.ComputerName
Expand Down Expand Up @@ -294,13 +295,13 @@ function Get-DbaUserPermission {

try {
Write-Message -Level Verbose -Message "Removing STIG schema if it still exists from previous run"
$tempdb.ExecuteNonQuery($removeStigSQL)
$null = Invoke-DbaQuery -SqlInstance $server -Database tempdb -Query $removeStigSQL -EnableException
Write-Message -Level Verbose -Message "Creating STIG schema customized for current database"
$createStigSQL = $sql.Replace("<TARGETDB>", $db.Name)
Write-Message -Level Verbose -Message "Length of createStigSQL: $($createStigSQL.Length)"
$tempdb.ExecuteNonQuery($createStigSQL)
$null = Invoke-DbaQuery -SqlInstance $server -Database tempdb -Query $createStigSQL -EnableException
Write-Message -Level Verbose -Message "Building data table for database objects"
$dbDT = $db.Query($dbSQL)
$dbDT = Invoke-DbaQuery -SqlInstance $server -Database $db.Name -Query $dbSQL -EnableException
foreach ($row in $dbDT) {
[PSCustomObject]@{
ComputerName = $server.ComputerName
Expand All @@ -326,8 +327,12 @@ function Get-DbaUserPermission {
}
}

Write-Message -Level Verbose -Message "Removing STIG schema from tempdb"
$tempdb.ExecuteNonQuery($removeStigSQL)
try {
Write-Message -Level Verbose -Message "Removing STIG schema from tempdb"
$null = Invoke-DbaQuery -SqlInstance $server -Database tempdb -Query $removeStigSQL -EnableException
} catch {
Stop-Function -Message "Failed to remove STIG schema from tempdb on $instance" -ErrorRecord $_ -Target $instance -Continue
}
}
}
}
5 changes: 2 additions & 3 deletions public/Install-DbaDarlingData.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -232,9 +232,8 @@ function Install-DbaDarlingData {
}
if ($Pscmdlet.ShouldProcess($instance, "installing/updating $scriptName in $database")) {
try {
foreach ($query in ($sql -Split "\nGO\b")) {
$null = $db.Query($query)
}
# We use Invoke-DbaQuery because using ExecuteNonQuery with long batches causes problems on AppVeyor.
$null = Invoke-DbaQuery -SqlInstance $server -Database $Database -Query $sql -EnableException
} catch {
Write-Message -Level Warning -Message "Could not execute at least one portion of $scriptName in $Database on $instance." -ErrorRecord $_
$scriptError = $true
Expand Down
7 changes: 3 additions & 4 deletions public/Install-DbaMaintenanceSolution.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -544,9 +544,8 @@ function Install-DbaMaintenanceSolution {
Write-ProgressHelper -ExcludePercent -Message "Installing $shortFileName"
$sql = $fileContents[$file]
try {
foreach ($query in ($sql -Split "\nGO\b")) {
$null = $db.Invoke($query)
}
# We use Invoke-DbaQuery because using ExecuteNonQuery with long batches causes problems on AppVeyor.
$null = Invoke-DbaQuery -SqlInstance $server -Database $Database -Query $sql -EnableException
} catch {
$result = "Failed"
Stop-Function -Message "Could not execute $shortFileName in $Database on $instance" -ErrorRecord $_ -Target $db -Continue
Expand Down Expand Up @@ -807,7 +806,7 @@ function Install-DbaMaintenanceSolution {
}
}

if ($query) {
if ($sql) {
# then whatif wasn't passed
[PSCustomObject]@{
ComputerName = $server.ComputerName
Expand Down
12 changes: 5 additions & 7 deletions public/Install-DbaWhoIsActive.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,6 @@ function Install-DbaWhoIsActive {

$sql = [IO.File]::ReadAllText($sqlfile)
$sql = $sql -replace 'USE master', ''
$batches = $sql -split "GO\r\n"

$matchString = 'Who Is Active? v'

Expand Down Expand Up @@ -187,12 +186,11 @@ function Install-DbaWhoIsActive {

if ($server.Databases[$Database]) {
$ProcedureExists = ($server.Query($ProcedureExists_Query, $Database)).proc_count
foreach ($batch in $batches) {
try {
$null = $server.databases[$Database].ExecuteNonQuery($batch)
} catch {
Stop-Function -Message "Failed to install stored procedure." -ErrorRecord $_ -Continue -Target $instance
}
try {
# We use Invoke-DbaQuery because using ExecuteNonQuery with long batches causes problems on AppVeyor.
$null = Invoke-DbaQuery -SqlInstance $server -Database $Database -Query $sql -EnableException
} catch {
Stop-Function -Message "Failed to install stored procedure." -ErrorRecord $_ -Continue -Target $instance
}

if ($ProcedureExists -gt 0) {
Expand Down