Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在DACPAC部署中使用SQL变量来区分权限_Sql_Azure Sql Database_Dacpac_Sqlpackage - Fatal编程技术网

在DACPAC部署中使用SQL变量来区分权限

在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

我在Azure上有一个SQL数据库,并使用SqlPackage.exe和.dacpac文件对其部署任何架构更改。我希望修改它,以便根据部署到的环境,使用sql变量控制模式中的某些更改。因此,在.sqlproj文件中,我添加了以下内容:

  <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 (.
你能帮忙吗?如何将数据库的权限设置为以我引入的新变量为条件


谢谢大家!

你现在解决了吗?这回答了你的问题吗?