Skip to content

Commit 0b9be65

Browse files
Connect-DbaInstance: Fix for issue when changing database context (#9505)
1 parent 7eec680 commit 0b9be65

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

public/Connect-DbaInstance.ps1

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -639,10 +639,13 @@ function Connect-DbaInstance {
639639
if ($Database) {
640640
# Save StatementTimeout because it might be reset on GetDatabaseConnection
641641
$savedStatementTimeout = $connContext.StatementTimeout
642-
$connContext = $connContext.GetDatabaseConnection($Database)
642+
$connContext = $connContext.GetDatabaseConnection($Database, $false)
643643
$connContext.StatementTimeout = $savedStatementTimeout
644644
}
645645
$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $connContext
646+
if ($Database -and $server.ConnectionContext.CurrentDatabase -ne $Database) {
647+
Write-Message -Level Warning -Message "Changing connection context to database $Database was not successful. Current database is $($server.ConnectionContext.CurrentDatabase). Please open an issue on https://github.com/dataplat/dbatools/issues."
648+
}
646649
} else {
647650
$server = $inputObject
648651
}

tests/Connect-DbaInstance.Tests.ps1

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,13 @@ Describe "$commandname Integration Tests" -Tags "IntegrationTests" {
206206
$serverClone.ConnectionContext.ServerInstance | Should -Match '^ADMIN:'
207207
$serverClone | Disconnect-DbaInstance
208208
}
209+
210+
It "clones when using Backup-DabInstace" {
211+
$server = Connect-DbaInstance -SqlInstance $script:instance1 -Database tempdb
212+
$null = Backup-DbaDatabase -SqlInstance $server -Database msdb
213+
$null = Backup-DbaDatabase -SqlInstance $server -Database msdb -WarningVariable warn
214+
$warn | Should -BeNullOrEmpty
215+
}
209216
}
210217

211218
Context "multiple connections are properly made using strings" {

0 commit comments

Comments
 (0)