在DACPAC部署中使用SQL变量来区分权限
我在Azure上有一个SQL数据库,并使用SqlPackage.exe和.dacpac文件对其部署任何架构更改。我希望修改它,以便根据部署到的环境,使用sql变量控制模式中的某些更改。因此,在.sqlproj文件中,我添加了以下内容:在DACPAC部署中使用SQL变量来区分权限,sql,azure-sql-database,dacpac,sqlpackage,Sql,Azure Sql Database,Dacpac,Sqlpackage,我在Azure上有一个SQL数据库,并使用SqlPackage.exe和.dacpac文件对其部署任何架构更改。我希望修改它,以便根据部署到的环境,使用sql变量控制模式中的某些更改。因此,在.sqlproj文件中,我添加了以下内容: <ItemGroup> <SqlCmdVariable Include="DEPLOYMENTTYPE"> <DefaultValue> </DefaultValue
<ItemGroup>
<SqlCmdVariable Include="DEPLOYMENTTYPE">
<DefaultValue>
</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
CREATE ROLE [db_newprodrole]
AUTHORIZATION [dbo];
GO
IF ($(DEPLOYMENTTYPE) = 'production')
ALTER ROLE [db_newprodrole] ADD MEMBER [newestprodmember];
但是,在这种情况下,我得到一个语法错误:
SQL46010: Incorrect syntax near (.
你能帮忙吗?如何将数据库的权限设置为以我引入的新变量为条件
谢谢大家! 你现在解决了吗?这回答了你的问题吗?