Azure DevOps代理通过PowerShell连接SQL VM数据库时出现连接错误
Azure DevOps执行SQL Server备份脚本失败排查
我正尝试配置Azure DevOps,使其运行PowerShell脚本对虚拟机(VM)上托管的SQL Server数据库执行备份操作。目前使用的测试备份脚本在VM的PowerShell ISE中可正常运行:
$userName = "MyCompany-SqlServer\DevOps" $password = "*****" $serverInstance = "MyCompany-Sql" $database = "MyCompanyDatabase" $backupFilePath = "S:\DevOpsBackups" $fileDate = $(Get-Date -format 'yyyyMMdd') $backupFile = "$backupFilePath\$database-$fileDate.bak" $pWord = ConvertTo-SecureString -String $password -AsPlainText -Force $credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $userName, $pWord cls Write-Host Backing up $database Backup-SqlDatabase -ServerInstance $serverInstance -Database $database -BackupFile $backupFile -CopyOnly -CompressionOption On -SqlCredential $credential
但在DevOps发布管道任务中运行该脚本时失败,报错如下:
2023-03-20T13:33:33.7640125Z Backing up MyCompanyDatabase 2023-03-20T13:34:14.4239350Z ##[error]Backup-SqlDatabase : Failed to connect to server MyCompany-Sql. At D:\a\_temp\46e76f20-b9b4-4643-8a6e-07cbc8498baa.ps1:29 char:1 + Backup-SqlDatabase -ServerInstance $serverInstance -Database $databa ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Backup-SqlDatabase], ConnectionFailureException + FullyQualifiedErrorId : Microsoft.SqlServer.Management.Common.ConnectionFailureException,Microsoft.SqlServer.Man agement.PowerShell.BackupSqlDatabaseCommand 2023-03-21T13:34:14.4815400Z ##[error]PowerShell exited with code '1'. 2023-03-21T13:34:14.5311388Z ##[section]Finishing: PowerShell Script
我尝试了以下方法,但均未解决问题:
- 使用个人登录凭据(服务器/SQL管理员)运行脚本
- 将登录账户替换为SQL Server的
sa凭据 - 创建Windows登录并映射到新的SQL Server登录
原本以为是SQL Server权限问题,但脚本在PS ISE中运行正常,因此无法确定根本原因。
更新
根据建议运行Test-NetConnection后失败,输出结果(服务器名称已替换):
2023-03-21T11:09:38.6985316Z Id Name PSJobTypeName State HasMoreData Location Command 2023-03-21T11:09:38.7018451Z -- ---- ------------- ----- ----------- -------- ------- 2023-03-21T11:09:38.7035965Z 1 a79e797f-2d5... NotStarted False ... 2023-03-21T11:09:41.7367105Z WARNING: Name resolution of MyCompany-Sql failed 2023-03-21T11:09:41.7705121Z 2023-03-21T11:09:41.7765631Z ComputerName : MyCompany-Sql 2023-03-21T11:09:41.7784973Z RemoteAddress : 2023-03-21T11:09:41.7802978Z ResolvedAddresses : 2023-03-21T11:09:41.7874016Z PingSucceeded : False 2023-03-21T11:09:41.7910331Z PingReplyDetails : 2023-03-21T11:09:41.7911650Z TcpClientSocket : 2023-03-21T11:09:41.7980940Z TcpTestSucceeded : False 2023-03-21T11:09:41.7999683Z RemotePort : 0 2023-03-21T11:09:41.8021003Z TraceRoute : 2023-03-21T11:09:41.8038092Z Detailed : False 2023-03-21T11:09:41.8055751Z InterfaceAlias : 2023-03-21T11:09:41.8127030Z InterfaceIndex : 0 2023-03-21T11:09:41.8147624Z InterfaceDescription : 2023-03-21T11:09:41.8207864Z NetAdapter : 2023-03-21T11:09:41.8208865Z NetRoute : 2023-03-21T11:09:41.8210513Z SourceAddress : 2023-03-21T11:09:41.8212980Z NameResolutionSucceeded : False 2023-03-21T11:09:41.8234948Z BasicNameResolution : 2023-03-21T11:09:41.8252474Z LLMNRNetbiosRecords : 2023-03-21T11:09:41.8270502Z DNSOnlyRecords : 2023-03-21T11:09:41.8295866Z AllNameResolutionResults : 2023-03-21T11:09:41.8365320Z IsAdmin : False 2023-03-21T11:09:41.8367615Z NetworkIsolationContext : 2023-03-21T11:09:41.8372941Z MatchingIPsecRules : 2023-03-21T11:09:41.8379585Z 2023-03-21T11:09:41.8454408Z ##[warning]Name resolution of MyCompany-Sql failed
已在Windows Server上确认服务器名称MyCompany-Sql正确。
内容的提问来源于stack exchange,提问作者EvilDr
相关产品推荐
相关产品推荐

