Skip to content

Commit 65337fc

Browse files
authored
Issue #3467 (#3468)
Fixes #3467 Issue 3467 Can't create a backup of a container with the Backup-BCContainerDatabases commandlet Use PowerShell 5 in places where invoke-sqlcmd or other functions from the SqlServer PowerShell module are used Co-authored-by: freddydk <[email protected]>
1 parent dd0cf4c commit 65337fc

9 files changed

+14
-10
lines changed

AppHandling/Clean-BcContainerDatabase.ps1

+2-2
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ try {
9696
$copyTables += @("Entitlement", "Entitlement Set", "Membership Entitlement")
9797
}
9898

99-
Invoke-ScriptInBCContainer -containerName $containerName -scriptblock { Param($platformVersion, $databaseName, $databaseServer, $databaseInstance, $copyTables, $multitenant)
99+
Invoke-ScriptInBCContainer -containerName $containerName -usePwsh:$false -scriptblock { Param($platformVersion, $databaseName, $databaseServer, $databaseInstance, $copyTables, $multitenant)
100100

101101
Write-Host "Stopping ServiceTier in order to replace database"
102102
Set-NavServerInstance -ServerInstance $ServerInstance -stop
@@ -196,7 +196,7 @@ try {
196196
if ($customconfig.Multitenant -eq "True") {
197197

198198
Write-Host "Switching to multitenancy"
199-
Invoke-ScriptInBCContainer -containerName $containerName -scriptblock { Param($databaseName, $databaseServer, $databaseInstance)
199+
Invoke-ScriptInBCContainer -containerName $containerName -usePwsh:$false -scriptblock { Param($databaseName, $databaseServer, $databaseInstance)
200200
$databaseServerInstance = $databaseServer
201201
if ($databaseInstance) {
202202
$databaseServerInstance += "\$databaseInstance"

AppHandling/Compile-AppInNavContainer.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ try {
363363
# locate application version number in database if using SQLEXPRESS
364364
try {
365365
if (($customConfig.DatabaseServer -eq "localhost") -and ($customConfig.DatabaseInstance -eq "SQLEXPRESS")) {
366-
$appVersion = Invoke-ScriptInBcContainer -containerName $containerName -scriptblock { Param($databaseName)
366+
$appVersion = Invoke-ScriptInBcContainer -containerName $containerName -usePwsh:$false -scriptblock { Param($databaseName)
367367
(invoke-sqlcmd -ServerInstance 'localhost\SQLEXPRESS' -ErrorAction Stop -Query "SELECT [applicationversion] FROM [$databaseName].[dbo].[`$ndo`$dbproperty]").applicationVersion
368368
} -argumentList $customConfig.DatabaseName
369369
$publishedApps += @{ "Name" = "Application"; "Publisher" = "Microsoft"; "Version" = $appversion }

Bacpac/Backup-NavContainerDatabases.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ try {
4949
}
5050
$containerBakFolder = Get-BcContainerPath -containerName $containerName -path $bakFolder -throw
5151

52-
Invoke-ScriptInBcContainer -containerName $containerName -ScriptBlock { Param($containerBakfolder, $bakFolder, $tenant, $databasecredential, $compress)
52+
Invoke-ScriptInBcContainer -containerName $containerName -usePwsh:$false -ScriptBlock { Param($containerBakfolder, $bakFolder, $tenant, $databasecredential, $compress)
5353

5454
function Backup {
5555
Param (

Bacpac/Export-NavContainerDatabasesAsBacpac.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ try {
6464
}
6565
$containerBacpacFolder = Get-BcContainerPath -containerName $containerName -path $bacpacFolder -throw
6666

67-
Invoke-ScriptInBcContainer -containerName $containerName -ScriptBlock { Param([PSCredential]$sqlCredential, $bacpacFolder, $tenant, $commandTimeout, $includeDacPac, $diagnostics, $additionalArguments, $doNotCheckEntitlements)
67+
Invoke-ScriptInBcContainer -containerName $containerName -usePwsh:$false -ScriptBlock { Param([PSCredential]$sqlCredential, $bacpacFolder, $tenant, $commandTimeout, $includeDacPac, $diagnostics, $additionalArguments, $doNotCheckEntitlements)
6868

6969
function CmdDo {
7070
Param(

Bacpac/Restore-DatabasesInNavContainer.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ try {
7070
$containerBakFolder = Get-BcContainerPath -containerName $containerName -path $bakFolder -throw
7171
}
7272

73-
Invoke-ScriptInBCContainer -containerName $containerName -scriptblock { Param($bakFolder, $bakFile, $databaseName, $tenant, $databaseFolder, $sqlTimeout)
73+
Invoke-ScriptInBCContainer -containerName $containerName -usePwsh:$false -scriptblock { Param($bakFolder, $bakFile, $databaseName, $tenant, $databaseFolder, $sqlTimeout)
7474

7575
function Restore {
7676
Param (

ContainerHandling/New-NavContainer.ps1

+2-2
Original file line numberDiff line numberDiff line change
@@ -1978,7 +1978,7 @@ if (-not `$restartingInstance) {
19781978

19791979
if ($SqlServerMemoryLimit -and $customConfig.databaseServer -eq "localhost" -and $customConfig.databaseInstance -eq "SQLEXPRESS") {
19801980
Write-Host "Set SQL Server memory limit to $SqlServerMemoryLimit MB"
1981-
Invoke-ScriptInBCContainer -containerName $containerName -scriptblock { Param($SqlServerMemoryLimit)
1981+
Invoke-ScriptInBCContainer -containerName $containerName -usePwsh:$false -scriptblock { Param($SqlServerMemoryLimit)
19821982
Invoke-Sqlcmd -ServerInstance 'localhost\SQLEXPRESS' -Query "USE master EXEC sp_configure 'show advanced options', 1 RECONFIGURE WITH OVERRIDE;"
19831983
Invoke-Sqlcmd -ServerInstance 'localhost\SQLEXPRESS' -Query "USE master EXEC sp_configure 'max server memory', $SqlServerMemoryLimit RECONFIGURE WITH OVERRIDE;"
19841984
Invoke-Sqlcmd -ServerInstance 'localhost\SQLEXPRESS' -Query "USE master EXEC sp_configure 'show advanced options', 0 RECONFIGURE WITH OVERRIDE;"
@@ -2376,7 +2376,7 @@ if (-not `$restartingInstance) {
23762376
if ($multitenant) {
23772377
Write-Host "Switching to multitenant"
23782378

2379-
Invoke-ScriptInBCContainer -containerName $containerName -scriptblock {
2379+
Invoke-ScriptInBCContainer -containerName $containerName -usePwsh:$false -scriptblock {
23802380

23812381
$customConfigFile = Join-Path (Get-Item "C:\Program Files\Microsoft Dynamics NAV\*\Service").FullName "CustomSettings.config"
23822382
[xml]$customConfig = [System.IO.File]::ReadAllText($customConfigFile)

Misc/Set-BcContainerFeatureKeys.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ $telemetryScope = InitTelemetryScope -name $MyInvocation.InvocationName -paramet
2626
try {
2727

2828
if ($featureKeys.Keys.Count -ne 0) {
29-
Invoke-ScriptInBCContainer -containerName $containerName -ScriptBlock { Param([string] $tenant, [hashtable] $featureKeys)
29+
Invoke-ScriptInBCContainer -containerName $containerName -usePwsh:$false -ScriptBlock { Param([string] $tenant, [hashtable] $featureKeys)
3030
$customConfigFile = Join-Path (Get-Item "C:\Program Files\Microsoft Dynamics NAV\*\Service").FullName "CustomSettings.config"
3131
[xml]$customConfig = [System.IO.File]::ReadAllText($customConfigFile)
3232
$databaseServer = $customConfig.SelectSingleNode("//appSettings/add[@key='DatabaseServer']").Value

ReleaseNotes.txt

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
6.0.15
2+
Issue 3467 Can't create a backup of a container with the Backup-BCContainerDatabases commandlet
3+
Use PowerShell 5 in places where invoke-sqlcmd or other functions from the SqlServer PowerShell module are used
4+
15
6.0.14
26
Issue 3465 Regression: Flush-ContainerHelperCache calculates wrong CacheFolder
37

Version.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.0.14-dev
1+
6.0.15-dev

0 commit comments

Comments
 (0)