Otcopus deploy - SQL - Deploy DACPAC "Не удалось подключиться к серверу базы данных". - PullRequest
0 голосов
/ 23 октября 2019

Попытка развертывания Octopus в первый раз. Попытка развернуть dacpac на машине, и он продолжает отказывать. Я продолжаю получать следующую ошибку:

Exception calling "Extract" with "4" argument(s): "Could not connect to database server." 
At C:\Octopus\Work\20191023152506-102-81\Script.ps1:394 char:13 
+             $dacServices.Extract($dbDacPacFilepath, $TargetDatabase,  ... 
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException 
    + FullyQualifiedErrorId : DacServicesException 

The remote script failed with exit code 1 

The action SQL - Deploy DACPAC on Staging failed

В настоящее время я использую SQL Server 2017 и установил dacframework для SQL Server 2016. Для строки подключения, которую я пытался использовать . , localhost , а имя сервера указано в sql management studio. Я не передаю никаких учетных данных, я использую интегрированную безопасность. Я также передаю имя базы данных. Я также следил за этим видео на YouTube, не используя переменные проекта.

1 Ответ

0 голосов
/ 24 октября 2019

В моем предыдущем опыте я просто использовал SqlPackage.exe для развертывания dacpac. Помогает в ручном тестировании и полировке разрешений или других проблем.

Например:

#example usage:Generate-DBUpdate-Script -server $dbServer -db $dbName -user $dbUser -psw $dbPassword -dacpacFilePath $dacpacFile -publishProfilePath ".\Publish\$dbPublishProfile" -outputFile $SqlUpgradeArtifactName
function Generate-DBUpdate-Script($server, $db, $user, $psw, $dacpacFilePath, $publishProfilePath, $outputFile)
{        
    #generate an update script
    & 'C:\Program Files (x86)\Microsoft SQL Server\110WorkingDAC\DAC\bin\SqlPackage.exe' /Action:Script /OutputPath:$outputFile /SourceFile:$dacpacFilePath /Profile:$publishProfilePath /TargetServerName:$server /TargetDatabaseName:$db /TargetUser:$user /TargetPassword:$psw

    #save generated script as deployment artifact
    New-OctopusArtifact $outputFile
}

Можно изменить действие на publish, чтобы избежать создания сценарияи сразу же развернитесь.

Надеюсь, это поможет.

...