Как разрешить конфликт учетных данных с помощью dbatools

Вопрос задан: 8 месяцев назад Последняя активность: 6 месяцев назад
up 0 down

Цель сценария powershell - скопировать базу данных с одного сервера на другой, а затем выполнить простой запрос на конечном сервере. текущий пользователь не имеет разрешений на серверах баз данных, поэтому на обоих серверах был создан логин, пароль хранится в файле в виде защищенной строки:

$sourceServer = "ServerA"
$destServer = "ServerB"

$restoreUser = "replicationuser"
$encPass = Get-Content -Path ".\SecuredPass.spf"
$secString= $encPass  | ConvertTo-SecureString -Key (1..16)
$restoreCredential=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $restoreUser, $secString

Copy-DbaDatabase -Source $sourceServer -Destination $destServer -Database "MyDatabase" -SourceSqlCredential $restoreCredential -DestinationSqlCredential $restoreCredential -BackupRestore -NetworkShare "\\MyShare\Databases" -WithReplace -EnableException
$sqlQuery = 'select 1+1'    
Invoke-DbaSqlQuery -Query $sqlQuery -SqlInstance $destServer -SqlCredential $restoreCredential

при запуске сценария база данных копируется, но при выполнении запроса выдается следующее сообщение:

WARNING: [15:53:29][Invoke-DbaQuery] Failure | Property LoginSecure cannot be changed or read after a connection string has been set.

Что нужно сделать, чтобы использовать учетные данные при выполнении запроса?

1 ответ

up 0 down

У нас были некоторые проблемы с обработкой учетных данных Invoke-DbaQuery. Вы можете попробовать последнюю версию и посмотреть, существует ли эта проблема.