如何删除Azure Synapse无服务器内置SQL池中的全部视图与表
删除Azure Synapse无服务器SQL池中的全部视图与外部表
如果你需要批量删除指定范围内的所有视图和外部表,可以通过查询系统视图生成批量删除语句,再统一执行。具体操作如下:
1. 批量生成外部表删除语句
运行以下SQL查询,它会针对目标数据库和模式,自动生成所有外部表的删除语句:
USE [DatabaseName]; GO SELECT 'DROP EXTERNAL TABLE [' + SCHEMA_NAME(schema_id) + '].[' + name + '];' FROM sys.external_tables WHERE SCHEMA_NAME(schema_id) = 'schemaname'; -- 替换为你的实际模式名称
2. 批量生成视图删除语句
同理,使用下面的查询生成所有目标视图的删除语句:
USE [DatabaseName]; GO SELECT 'DROP VIEW [' + SCHEMA_NAME(schema_id) + '].[' + name + '];' FROM sys.views WHERE SCHEMA_NAME(schema_id) = 'schemaname'; -- 替换为你的实际模式名称
3. 执行批量删除操作
将上述两个查询返回的所有语句复制出来,直接执行即可完成全部目标对象的删除。
注意事项
- 执行前务必确认要删除的对象范围,避免误删重要元数据。
- 无服务器SQL池中的外部表删除仅清理元数据,不会删除底层存储(如ADLS Gen2)中的实际数据。
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

