2016-11-17 67 views
1

我在我的解决方案中使用目标平台“Microsoft Azure SQL数据库V12”获得了SQL项目(.sqlproj)。发布到SQL Azure失败,显示'无法删除外部数据源'消息

最近我添加了一个external data source和几个external tables针对此数据源。

ExternalCSVLists.sql文件:外部表(IntegerListContent.sql文件)

CREATE EXTERNAL TABLE [WebApp].[IntegerListContent] 
( 
    [ListId] INT, 
    [Value] int 
) 
WITH 
( 
    DATA_SOURCE = [ExternalCSVLists] 
) 

第一次发布的

CREATE EXTERNAL DATA SOURCE [ExternalCSVLists] WITH 
( 
    TYPE = RDBMS, 
    LOCATION = 'location.windows.net', 
    DATABASE_NAME = '$(CSVLists)', 
    CREDENTIAL = RemoteConnectionCredential 
) 

实例就OK。

现在,当我再次发布(不具有做任何的外部表或数据源的任何变化),我收到以下错误:

Dropping [ExternalCSVLists]... (415,1): SQL72014: .Net SqlClient Data Provider: Msg 33165, Level 16, State 1, Line 1 Cannot drop the external data source 'ExternalCSVLists' because it is used by an external table.

我已经检查了发布脚本和注意到它试图删除和创建外部数据源。外部表被跳过(这可能是好的,因为我没有改变它们)。

所以,

1)它为什么产生drop external data source语句时,所有这些数据源都与已公布的

2的),为什么它忽略依赖external tables呢?

我的发布设置是非常默认的(没有任何'Drop'选项卡中的选项被选中)。谢谢!

回答

1

我遇到了同样的问题;不幸的是我无法弄清楚为什么这个问题首先被创造出来。

但周围的工作是要引入掉落了

  • 表和
  • 查看

所引用的外部数据源的部署前阶段......我本来期望DACPAC自己执行此操作;但我想我们生活在一个不完美的世界。

相关问题