我正在使用 DACPAC 部署(Azure)SQL Server 数据库。每次我部署它时都会删除我的用户、角色和权限,即使我在我正在使用的发布配置文件中明确告诉它不要。
发布配置文件定义为
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IncludeCompositeObjects>True</IncludeCompositeObjects>
<TargetDatabaseName>neonbliss</TargetDatabaseName>
<DeployScriptFileName>Neon Bliss Storefront Database.sql</DeployScriptFileName>
<BlockOnPossibleDataLoss>True</BlockOnPossibleDataLoss>
<DropObjectsNotInSource>True</DropObjectsNotInSource>
<ProfileVersionNumber>1</ProfileVersionNumber>
<DatabaseEdition>Basic</DatabaseEdition>
<DatabaseServiceObjective>Basic</DatabaseServiceObjective>
<DatabaseMaximumSize>2</DatabaseMaximumSize>
<DoNotDropRoleMembership>True</DoNotDropRoleMembership>
<DoNotDropUsers>True</DoNotDropUsers>
<DoNotDropPermissions>True</DoNotDropPermissions>
<DoNotDropSecurityPolicies>True</DoNotDropSecurityPolicies>
<ExcludeUsers>True</ExcludeUsers>
<ExcludeSecurityPolicies>True</ExcludeSecurityPolicies>
<ExcludeDatabaseRoles>True</ExcludeDatabaseRoles>
<IgnorePermissions>True</IgnorePermissions>
<TreatVerificationErrorsAsWarnings>True</TreatVerificationErrorsAsWarnings>
</PropertyGroup>
</Project>
有人看过吗?
答案 0 :(得分:1)
这是一个持续存在的 DACPAC 问题,大概是 DropObjectsNotInSource 不加选择地覆盖所有其他标志。
如果您不想将安全对象专门添加到您的 SSDT 包中,那么由于发布配置文件没有按照您的需要粘贴,您需要 adjust the arguments of SQLPackage.exe 使用...
BackgroundColorSpan