Sve*_*man 2 azure-sql-database azure-devops azure-pipelines
我使用数据分类敏感度标签对 Azure SQL 数据库中的一些列进行了分类。在数据库对应的SSDT项目中,存在如下SQL语句:
ADD SENSITIVITY CLASSIFICATION TO
[dbo].[tablename].[UserName]
WITH (LABEL = 'Confidential', LABEL_ID = 'guid1'
, INFORMATION_TYPE = 'Credentials', INFORMATION_TYPE_ID = 'guid2');
Run Code Online (Sandbox Code Playgroud)
SSDT 项目在 VS 2019 以及 Azure DevOps 构建管道中的构建任务中构建良好。正如预期的那样,我不得不使用 VS 2019(托管)代理,因为以前版本的 SSDT 无法识别该 SQL 语法。
在管道中,该项目的 DACPAC 已成功构建。然后我尝试使用 Azure SQL 数据库部署任务部署该 DACPAC。它使用在托管代理上的 C:\Program Files\Microsoft SQL Server\150\DAC\bin\ 中找到的 SqlPackage.exe 版本。它显然无法识别这些 SQL 语句并且失败并出现以下错误:
元素或注释类 SqlSimpleColumn 不包含属性类 SensitivityLabel。
有没有办法将更新的 SqlPackage.exe 部署到托管构建代理,还是我一直在等待 Microsoft 更新映像?有没有办法将参数传递给 SqlPackage.exe 指示它忽略这些语句?
有没有办法将更新的 SqlPackage.exe 部署到托管构建代理,还是我一直在等待 Microsoft 更新映像?
不敢说,不,直到现在,我们还没有提供让用户SqlPackage.exe在运行时将最新版本安装到托管代理映像中的方法,即使是临时操作。
该Sensitivity标签已被添加到SQL Azure的数据库,同时我们也提出了PR内部更新最新的SQL Package.exe在托管的图片:添加最新的SQL Package.exe和的MSBuild支持。我相信它很快就会被部署和更新。
有没有办法将参数传递给 SqlPackage.exe 指示它忽略这些语句?
据我所知,编译的 SqlPackage.exe 不存在这样的参数。在本文档中,我们列出了所有支持的参数。详细可以参考这个。到目前为止,它不适用于Sensitivity classificationin release 工作,我们建议您Sensitivity classification暂时删除used 来发布项目。或者您可以构建一个私有代理,在其中安装 SqlPackage.exe。然后从本地计算机上的位置运行 SqlPackage.exe 命令。
我将监控这个内部 PR 流程,一旦 PR 完成并部署了新图像,我将在此处更新我的答案,让您和其他 SO 用户知道。
| 归档时间: |
|
| 查看次数: |
698 次 |
| 最近记录: |