Как добавить внешние таблицы в базу данных SQL Azure через Visual Studio / SSDT - PullRequest
0 голосов
/ 26 июня 2019

У меня вопрос: как разработать и развернуть проект базы данных в базе данных SQL Azure, которая использует внешние таблицы?

Я использую проекты баз данных Visual Studio 2017 для управления базами данных SQL Azure. Я следовал по пути построения базы данных в VS, затем нажал кнопку публикации, и она прекрасно работает.

Теперь я пытаюсь добавить внешние таблицы для выполнения Elastic Queries. В SSMS я создал внешний источник данных и учетные данные для него, а также удаленную таблицу:

CREATE EXTERNAL DATA SOURCE [RemoteServer] 
    WITH (TYPE = RDBMS, LOCATION = N'myserver.database.windows.net',
     CREDENTIAL = [RemoteUser], DATABASE_NAME = N'MyRemoteDb')
GO

CREATE EXTERNAL TABLE dbo.MyTable (
     ID int not null,
    MyColumn varchar(10) not null
)  WITH (
    DATA_SOURCE = [RemoteServer]
    );
GO

(учетные данные для RemoteUser также существуют.)

SELECT * FROM MyTable  

дает ожидаемый результат, и все в мире хорошо.

Теперь я хочу добавить это в свой проект базы данных, чтобы его можно было развернуть с помощью публикации (в VS) для любых будущих изменений (и сохранить в системе контроля версий).

Я получаю ошибку:

SQL71501: External Data Source: [RemoteServer] has an unresolved reference to Database Scoped Credential [RemoteUser].

Я могу устранить ошибку, установив свойства всех внешних частей, чтобы они не собирались, но это противоречит цели возможности публикации из Visual Studio. Я пытался удалить учетные данные из источника данных, поэтому они не существуют. Он удалил ошибку, но опубликовать не удалось из-за отсутствия учетных данных:

CREATE EXTERNAL DATA SOURCE [RemoteServer] 
    WITH (TYPE = RDBMS, LOCATION = N'myserver.database.windows.net',
    DATABASE_NAME = N'MyRemoteDb')
GO

 SQL72014: .Net SqlClient Data Provider: Msg 46505, Level 16, State 15, Line 1 Missing required external DDL option 'CREDENTIAL'.)

Есть предложения?

...