【发布时间】:2021-02-04 05:16:28
【问题描述】:
我的解决方案中有一个 SQL 项目 (.sqlproj),目标平台为“Microsoft Azure SQL 数据库 V12”。
最近我添加了一个external data source 和几个external tables 针对这个数据源。
ExternalCSVLists.sql 文件:
CREATE EXTERNAL DATA SOURCE [ExternalCSVLists] WITH
(
TYPE = RDBMS,
LOCATION = 'location.windows.net',
DATABASE_NAME = '$(CSVLists)',
CREDENTIAL = RemoteConnectionCredential
)
外部表示例(IntegerListContent.sql文件)
CREATE EXTERNAL TABLE [WebApp].[IntegerListContent]
(
[ListId] INT,
[Value] int
)
WITH
(
DATA_SOURCE = [ExternalCSVLists]
)
第一次发布成功。
现在,当我再次发布时(没有对外部表或数据源进行 任何 更改),我收到以下错误:
正在删除 [ExternalCSVLists]... (415,1): SQL72014: .Net SqlClient 数据提供者: Msg 33165, Level 16, State 1, Line 1 无法删除外部数据源“ExternalCSVLists”,因为它被外部表使用。
我检查了发布脚本并注意到它试图删除并创建外部数据源。外部表被跳过(这可能没问题,因为我没有更改它们)。
所以,
1) 当所有此类数据源与已发布的数据源相同时,为什么它会产生 drop external data source 语句
2) 那么为什么会忽略依赖的external tables呢?
我的发布设置几乎是默认设置(“删除”选项卡中的选项均未选中)。谢谢!
【问题讨论】:
标签: sql-server azure azure-sql-database sqlproj