为什么sql脚本在被后期部署引用时无效

7uhlpewt  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(238)

我有一个script.postdeployment.sql,它引用datafactoryrights.sql
scriptpostdeployment.sql,生成操作postdeploy:

:r .\DataFactoryRights.sql

datafactoryrights.sql,生成操作无:

CREATE USER [dataFactory] FROM EXTERNAL PROVIDER;

当我尝试构建时,会出现以下错误:
严重性代码描述项目文件行抑制状态错误sql72007:语法检查失败“附近的语法不正确”。在附近的批处理中:“从外部提供程序创建用户[datafactory;”
如果我像这样注解--:r.\datafactoryrights.sql,它就可以生成了

t30tvxxf

t30tvxxf1#

错误是由t-sql操作引起的:

CREATE USER [dataFactory] FROM EXTERNAL PROVIDER;

数据工厂是服务主体。
微软msft证实:
“我们目前不允许服务主体在sql db中创建用户。当此功能可用时,我们将更新文档。谢谢!”
这就是为什么您要这样注解--:r.\datafactoryrights.sql,它构建的是ok。
ref:https://github.com/microsoftdocs/sql docs/issues/2323#issuecomment-595417579
希望这有帮助。

相关问题