我的 sql 项目中定义了外部文件格式。 SQL 目标平台是 Azure Synapse Analytics 无服务器 SQL 池。 文件格式如下所示:
CREATE EXTERNAL FILE FORMAT [SynapseDelimitedTextFormat]
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (FIELD_TERMINATOR = N';', FIRST_ROW = 2, USE_TYPE_DEFAULT = False)
);
但是通过 SqlAzureDacpacDeployment@1 构建和部署项目的 DacPac 后,数据库中生成的文件格式最终是这样的
CREATE EXTERNAL FILE FORMAT [SynapseDelimitedTextFormat]
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (FIELD_TERMINATOR = N';')
);
注意缺少的选项。
还可以通过在 Visual Studio 中针对具有正确文件格式和所有选项的数据库进行架构比较来观察该问题。在比较窗口中查看文件格式时,FIRST_ROW 和 USE_TYPE_DEFAULT 选项将丢失。
我已经向微软报告了这个问题,因为我怀疑这是他们的一个错误,但这个问题相当紧迫,所以我想看看这里是否有人有解决方案或解决方法。
正如我们上面所讨论的,请考虑检查在从 Azure Synapse Analytics 无服务器 SQL 池导入/发布或导出 SQL 脚本时是否可以省略外部文件格式的以下格式选项:
该选项指定的值为默认值。
指定的
FORMAT_TYPE
不支持该选项。
无服务器 SQL 池不支持该选项。