我在Azure上有一个SQL数据库,并使用.dacpac文件使用SqlPackage.exe部署任何模式更改。我希望对此进行修改,以便根据我要部署到的环境,使用sql变量来控制模式中的某些更改。因此,在.sqlproj文件中,我添加了以下内容:
<ItemGroup>
<SqlCmdVariable Include="DEPLOYMENTTYPE">
<DefaultValue>
</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
然后,在用于设置安全性的.sql文件中,我添加了如下条件:
CREATE ROLE [db_newprodrole]
AUTHORIZATION [dbo];
GO
IF ($(DEPLOYMENTTYPE) = 'production')
ALTER ROLE [db_newprodrole] ADD MEMBER [newestprodmember];
然而,我在这个IF条件中得到了一个语法错误:
SQL46010: Incorrect syntax near (.
你能帮帮忙吗?如何将数据库上的权限设置为我引入的新变量的条件?
谢谢!
转载请注明出处:http://www.xiangbinbaiyi.com/article/20230527/1287179.html