You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flyway clean命令在Snowflake执行失败:ASSOCIATE_SEMANTIC_CATEGORY_TAGS异常

问题:Snowflake执行Flyway clean时提示ASSOCIATE_SEMANTIC_CATEGORY_TAGS不存在或无权限

执行Flyway的clean命令时遇到如下SQL编译错误:

Procedure '..ASSOCIATE_SEMANTIC_CATEGORY_TAGS' does not exist or not authorized.

完整堆栈追踪:

2024-02-27T14:12:10.5828869Z Message    : SQL compilation error:
2024-02-27T14:12:10.5829911Z Procedure '..ASSOCIATE_SEMANTIC_CATEGORY_TAGS' does not exist or not authorized.
2024-02-27T14:12:10.5831459Z    at org.flywaydb.core.internal.database.base.Schema.clean(Schema.java:123) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5832649Z    at org.flywaydb.core.internal.command.DbClean.lambda$doCleanSchema$3(DbClean.java:216) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5833975Z    at org.flywaydb.core.internal.jdbc.TransactionalExecutionTemplate.execute(TransactionalExecutionTemplate.java:55) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5835289Z    at org.flywaydb.core.internal.command.DbClean.doCleanSchema(DbClean.java:215) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5836784Z    at org.flywaydb.core.internal.command.DbClean.cleanSchema(DbClean.java:208) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5837880Z    at org.flywaydb.core.internal.command.DbClean.cleanSchemas(DbClean.java:196) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5839210Z    at org.flywaydb.core.internal.command.DbClean.clean(DbClean.java:112) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5840542Z    at org.flywaydb.core.internal.command.DbClean.clean(DbClean.java:90) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5841707Z    at org.flywaydb.core.internal.command.DbClean.clean(DbClean.java:76) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5842839Z    at org.flywaydb.core.internal.command.DbClean.clean(DbClean.java:67) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5844539Z    at org.flywaydb.core.Flyway.doClean(Flyway.java:367) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5845578Z    at org.flywaydb.core.Flyway.access$400(Flyway.java:56) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5846573Z    at org.flywaydb.core.Flyway$3.execute(Flyway.java:214) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5847475Z    at org.flywaydb.core.Flyway$3.execute(Flyway.java:211) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5848448Z    at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:207) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5849503Z    at org.flywaydb.core.Flyway.clean(Flyway.java:211) ~[flyway-core-8.5.0.jar!/:?]
2024-02-27T14:12:10.5850377Z    at com.varian.acdp.flyway.executor.AcdpFlywayExecutor.clean(AcdpFlywayExecutor.java:75) ~[classes!/:2.0]
2024-02-27T14:12:10.5851227Z    at com.varian.acdp.flyway.FlywayUtil.runFlyWay(FlywayUtil.java:30) ~[classes!/:2.0]
2024-02-27T14:12:10.5852058Z    at com.varian.acdp.flyway.SnowflakeFlywayApp.run(SnowflakeFlywayApp.java:80) ~[classes!/:2.0]
2024-02-27T14:12:10.5853431Z    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:769) ~[spring-boot-3.0.6.jar!/:3.0.6]
2024-02-27T14:12:10.5854151Z    ... 13 more
2024-02-27T14:12:10.5855061Z Caused by: net.snowflake.client.jdbc.SnowflakeSQLException: SQL compilation error:

该存储过程为Snowflake官方提供,不属于自定义模式。


解决方案

1. 授予存储过程调用权限

使用具有ACCOUNTADMIN权限的角色执行以下SQL,为Flyway使用的数据库角色授予该存储过程的调用权限:

-- 先确认存储过程的完整签名,避免重载导致权限不匹配
DESCRIBE PROCEDURE ASSOCIATE_SEMANTIC_CATEGORY_TAGS(VARCHAR, VARCHAR, VARCHAR);

-- 授予调用权限
GRANT USAGE ON PROCEDURE ASSOCIATE_SEMANTIC_CATEGORY_TAGS(VARCHAR, VARCHAR, VARCHAR) TO ROLE <你的Flyway用户角色>;

2. 升级Flyway版本

当前使用的Flyway 8.5.0版本可能存在与Snowflake新特性的兼容性问题,建议升级到9.x及以上版本,新版本通常会修复Snowflake相关的API调用和权限处理逻辑。

3. 确认Snowflake功能启用状态

联系Snowflake支持团队,确认当前账户是否已启用语义类别标签(Semantic Category Tags)相关功能,部分高级功能需要账户级别的启用配置。

4. 临时规避方案(不推荐长期使用)

如果暂时无法获取权限或升级版本,可以通过Flyway配置禁用clean操作,或者排除特定对象:

  • 禁用clean:添加配置flyway.clean.disabled=true
  • 排除对象:使用flyway.clean.excludeObjects指定不需要清理的对象类型或名称

内容的提问来源于stack exchange,提问作者Suresh Vasant Sargar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 02:15:19