- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在通过 Azure DevOps Pipelines 部署 Azure SQL DB 来刷新 CI/CD 流程。我正在使用 Adventure Works 数据库并设置一个导入架构的 Visual Studio 项目。
我配置了一个管道来发布 dacpac 并使用 SqlAzureDacpacDeployment@1 运行后续部署,但收到以下错误:
2020-10-10T02:36:34.1421137Z ##[error]Unable to connect to target server 'server.database.windows.net'. Please verify the connection information such as the server name, login credentials, and firewall rules for the target server.
2020-10-10T02:36:34.1605855Z ##[error]Windows logins are not supported in this version of SQL Server.
2020-10-10T02:36:34.2143924Z ##[error]The Azure SQL DACPAC task failed. SqlPackage.exe exited with code 1.Check out how to troubleshoot failures at https://aka.ms/sqlazuredeployreadme#troubleshooting-
2020-10-10T02:36:34.2522414Z ##[section]Finishing: SqlAzureDacpacDeployment
我使用的是最新的 Windows,这是我的 YAML 管道:
trigger:
- master
pool:
vmImage: 'windows-latest'
jobs:
- job: BuildDeploySQL
variables:
- group: SQLServerLogin
steps:
- task: VSBuild@1
inputs:
solution: '**\*.sln'
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)'
publishLocation: 'pipeline'
- task: SqlAzureDacpacDeployment@1
inputs:
azureSubscription: 'Subscription Name here'
AuthenticationType: 'server'
ServerName: 'server.database.windows.net'
DatabaseName: 'AdventureWorks'
SqlUsername: 'sqladmin'
SqlPassword: ${{ variables.Password }}
deployType: 'DacpacTask'
DeploymentAction: 'Publish'
DacpacFile: '$(Pipeline.Workspace)\s\AdventureWorks\bin\Debug\*.dacpac'
IpDetectionMethod: 'AutoDetect'
我尝试从本地计算机进行部署,并且使用相同的 sql 凭据成功了。此外,我已确认 SQL 数据库已允许启用 Azure 服务。我还尝试将 dacpac 部署到新的空数据库并收到相同的错误。
我确实相信这可能只是一个通用错误消息,因为我的部署日志确实显示与服务器的成功连接:
2020-10-10T02:36:18.7912964Z Invoke-Sqlcmd -ServerInstance "server.database.windows.net" -Database "AdventureWorks" -Username "sqladmin" -Password ****** -Inputfile
....
2020-10-10T02:36:33.0554895Z Initializing deployment (Start)
** 更新只是为了排除我确实创建了一个具有 DBO_owner 权限的新 SQL 登录名并使用它运行部署并收到相同的错误消息。
最佳答案
上述错误可能是因为构建代理 IP 未列入 Azure SQL 数据库的防火墙规则的允许列表。请参阅此链接关于 IP ranges for Microsoft-hosted agents .
您可以检查 Azure 数据库的防火墙规则设置,并尝试允许所有 IP 范围。
您还可以添加 Azure CLi 任务来获取代理 IP,并为 Azure 数据库设置防火墙规则,以允许代理 IP 在管道中动态运行。请参阅this thread .
steps:
- task: AzureCLI@2
displayName: 'Azure CLI '
inputs:
azureSubscription: 'azureSubscription'
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
$agentIp = (New-Object net.webclient).downloadstring("http://checkip.dyndns.com") -replace "[^\d\.]"
az sql server firewall-rule create -g $(rg) -s $(server) -n test --start-ip-address $agentIp --end-ip-address $agentIp
您还可以创建 self-hosted agent在本地计算机/Azure VM 上。并在此自托管代理上运行您的管道。请注意将您的本地计算机 IP 列入 Azure 数据库的白名单。
关于azure - 通过 Azure DevOps Pipelines 部署 DACPAC 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64289508/
环境: 使用 Visual Studio 2013 Update 4 中的 SQL Server 数据库工具创建用于发布数据库的 DacPac。 使用 TFS 构建来构建和删除数据库项目。 使用 Sq
我正在用数据在表 xxx 中删除一列。 DACPAC 正在生成如下检查。 IF EXISTS (select top 1 1 from [dbo].[xxx]) RAISERROR (N'Ro
我有一个 dacpac 文件,我正在使用 DacServices 库通过应用程序进行部署。我有以下代码可以做到这一点: var dp = DacPackage.Load(dacpacPath); va
我们希望将 dbproj 升级为 sqlproj,以便我们可以将其指向新的 SQL 2012 数据库。目前我们有一个程序可以读取 .dbschema xml 文件以查找所有表和列并从中检索信息。我们使
我正在做一些自动化,并且正在将一些 10-15 个古怪的旧脚本重写为一个简单的单元,这可以: 生产环境MsSql2012数据库方案导出 在开发环境中将数据库方案导入MsSql2012 我使用 Micr
我有一个 .dacpac 文件,它被 MSBuild 调用并发布到 QA 数据库进行测试。此发布失败,我从他们那里得到的错误是一般的“发生错误”消息。我希望我可以从 dacpac 生成部署脚本并遍历它
我正在尝试使用 sqlpackage.exe 在租户上部署 dacpac。 目前,我正在向将部署它的帐户授予 SysAdmin 或 db_owner 权限,并且它工作正常。 但是在生产中,如果目标租户
是否可以在不部署 DACPAC 的情况下针对数据库测试它?如果没有发现错误,Action=Deploy 的 sqlpackage.exe 将部署它,Action=Report 将只生成包含更改列表的报
我使用生成的版本号从自动构建生成 DACPAC 文件。虽然在 sqlpackager 操作期间很有用,但我需要能够在对文件执行任何操作之前确定 DACPAC 的版本号。 我可以使用什么工具(当然是自动
我想阅读 DACPAC 的内容以获取架构、表等的列表。 最佳答案 是的。您可以使用 DacFx为了这。 DacFx Public Model Tutorial : // Load from a d
我有一个 Visual Studio 2013 SQL 数据库项目,它创建了一个 DACPAC 文件,用于使用 SQL Server Management Studio (SSMS) 中的“部署数据层
我很高兴编写了一个使用以下内容的产品:Sql Server 数据库项目和生活一直很美好,直到我们发现升级中存在问题。 当我们创建表、存储过程和各种其他数据库工件时,一旦部署在客户处,他们就可以将自己的
当我尝试发布数据库项目时,在创建发布预览...时,出现此错误:找不到文件“C:...[DatabaseProjName]\sql\debug[DatabaseProjName].dacpac”。我如何
我有一个 SSDT(Sql Server 数据库项目),它引用外部 .dll(C# 类库)以提供一些 CLR 功能。如果我在本地部署/发布一切正常,但远程使用 Microsoft.SqlServer.
这个问题在这里已经有了答案: How to include created database project created dacpac into a cs project (3 个答案) 关闭
我正在尝试通过 IIS 网站和 SQL 部署在 Azure DevOps 中部署我的项目。但是,我正在努力部署 SQL 部分,因为我的构建工件中没有 .dacpac 文件。我如何生成它,因为我尝试过的
原始问题: 尝试使用 .dacpac 文件升级在测试 VM 中创建的空白数据库,但收到以下错误消息: Error SQL72014: .Net SqlClient Data Provider: Msg
我有一个 VS2012 数据库项目,其中包括表、存储过程、 View 等。 然后我有第二个数据库项目,其中包含对第一个项目的数据库引用。我确保从“项目属性 -> 调试 -> 高级”菜单中选择了“包含复
我找不到有关如何在 dacpac 中打包部署贡献者的任何引用资料。 我们正在使用 DacServices.Deploy Method将我们的数据库作为 dacpacs 部署到 SQL Server。
我向供应商提供了 SQL-Server 数据库的备份,他们进行了更改并向我寄回了 DACPAC。如果我使用 SQLPackage.exe 将该 DACPAC 部署到原始数据库,它会删除我表中的数据
我是一名优秀的程序员,十分优秀!