Невозможно построить проект базы данных Visual Studio, ориентированный на Azure SQL базу данных при использовании AT TIME ZONE - PullRequest
2 голосов
/ 10 января 2020

У нас есть Проект базы данных Visual Studio , который мы пытаемся переместить в базу данных Azure SQL. В некоторых наших представлениях используется AT TIME ZONE , которая поддерживается в Azure SQL База данных, но когда я переключаю базу данных Target Platform на Microsoft Azure SQL База данных в свойствах проекта, происходит сбой построить с ошибкой:

Ошибка: SQL46010: неправильный синтаксис около ВРЕМЕНИ.

Database Project Properties

Я подключился непосредственно в базу данных в Azure, и я могу использовать AT TIME ZONE, но я не могу создать или опубликовать sh a DACPAC файл из моего проекта.

Этот ответ SO предлагает переключить цель на SQL Server 2016, но тогда вы не сможете развернуть DACPAC на Azure. Будет выдано сообщение об ошибке

Проект, в котором в качестве целевой платформы указана SQL Server 2016, не может быть опубликована в Microsoft Azure SQL База данных v12.

при публикации из Visual Studio или командной строки с sqlpackage.exe. (То же самое со всеми целями).

Это похоже на давнюю ошибку в Visual Studio Data Tools, поэтому другие, должно быть, столкнулись с ней. У кого-нибудь есть обходной путь или предложения?

1 Ответ

3 голосов
/ 11 января 2020

Я нашел ответ на этот вопрос через другой канал. Это ошибка в Visual Studio 16.4 и текущий предварительный просмотр 16.5.

В выпуске Visual Studio 16.4 удалена поддержка Microsoft Azure SQL Database V11. При этом они удалили цель проекта для Microsoft Azure SQL База данных V12 , сделав Microsoft Azure SQL База данных единственным вариантом. Предполагалось, что эта новая опция переключится на таргетинг на V12, но есть ошибка, и она все еще нацелена на V11.

Option Removed in 16.4

Пока это не будет исправлено в В будущем обновлении Visual Studio обходной путь - вручную отредактировать файл SQLPROJ и изменить строку;

<DSP>Microsoft.Data.Tools.Schema.Sql.SqlAzureDatabaseSchemaProvider</DSP>

Добавление в V12 для его создания;

<DSP>Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider</DSP>

Сохраните и снова откройте решение. Теперь он компилируется, и я могу развернуть его на Azure.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...