Jun 3, 2026, 11:07 AM

This commit is contained in:
Paweł Domański
2026-06-03 09:07:50 +00:00
parent 38431b4334
commit 157a88d0f0
+23 -9
View File
@@ -22,13 +22,14 @@ function Test-SQLConnection {
[string]$ServerInstance [string]$ServerInstance
) )
$connWarnings = $null
try { try {
# Using Test-DbaConnection from dbatools # Using Test-DbaConnection from dbatools and suppressing console warnings while capturing them
$testResult = Test-DbaConnection -SqlInstance $ServerInstance -ErrorAction Stop $testResult = Test-DbaConnection -SqlInstance $ServerInstance -ErrorAction Stop -WarningAction SilentlyContinue -WarningVariable connWarnings
if ($testResult.Connect -eq $true) { if ($testResult -and $testResult.Connect -eq $true) {
# If connection is successful, get some basic instance info # If connection is successful, get some basic instance info
$instanceInfo = Get-DbaInstance -SqlInstance $ServerInstance -ErrorAction Stop $instanceInfo = Get-DbaInstance -SqlInstance $ServerInstance -ErrorAction Stop -WarningAction SilentlyContinue
return @{ return @{
Success = $true Success = $true
Instance = $instanceInfo.Name Instance = $instanceInfo.Name
@@ -37,10 +38,18 @@ function Test-SQLConnection {
Status = "Online" Status = "Online"
} }
} else { } else {
return @{ Success = $false; Error = "Connection failed." } $errDetail = "Connection failed."
if ($connWarnings) {
$errDetail = "$errDetail ($($connWarnings -join '; '))"
}
return @{ Success = $false; Error = $errDetail }
} }
} catch { } catch {
return @{ Success = $false; Error = $_.Exception.Message } $errMsg = $_.Exception.Message
if ($connWarnings) {
$errMsg = "$errMsg ($($connWarnings -join '; '))"
}
return @{ Success = $false; Error = $errMsg }
} }
} }
@@ -54,9 +63,10 @@ function Get-SQLDatabases {
[string]$ServerInstance [string]$ServerInstance
) )
$dbWarnings = $null
try { try {
# Using Get-DbaDatabase from dbatools # Using Get-DbaDatabase from dbatools and suppressing console warnings while capturing them
$databases = Get-DbaDatabase -SqlInstance $ServerInstance -ErrorAction Stop $databases = Get-DbaDatabase -SqlInstance $ServerInstance -ErrorAction Stop -WarningAction SilentlyContinue -WarningVariable dbWarnings
$dbList = @() $dbList = @()
foreach ($db in $databases) { foreach ($db in $databases) {
$dbList += [pscustomobject]@{ $dbList += [pscustomobject]@{
@@ -68,7 +78,11 @@ function Get-SQLDatabases {
} }
return $dbList return $dbList
} catch { } catch {
throw "Failed to get databases: $($_.Exception.Message)" $errMsg = $_.Exception.Message
if ($dbWarnings) {
$errMsg = "$errMsg ($($dbWarnings -join '; '))"
}
throw "Failed to get databases: $errMsg"
} }
} }