Почему Visual Studio SQL Сервер базы данных проекта выдает ошибки SQL71501, когда целевой SQL Сервер не - PullRequest
2 голосов
/ 07 февраля 2020

В SQL Server 2017 у меня есть следующий фрагмент кода в хранимой процедуре:

SELECT d.DocumentID 
FROM Documents d 
INNER JOIN ProductDocuments pd ON d.DocumentID = pd.DocumentID
ORDER BY DocumentID

Я только что создал проект базы данных в Visual Studio 2017 (для SQL Server 2017) и импортировал структуру из моей базы данных. Обратите внимание, что реальный запрос более сложный, но когда я его урежу, у меня все еще остается проблема. Это то, что проект базы данных выдает ошибку 71501 на DocumentID в ORDER BY, но я не получаю ошибок при запуске кода в базе данных.

Я понимаю, почему я получил ошибку. Я должен иметь ORDER BY d.DocumentID. Если бы это была единственная ошибка, я бы просто внес это изменение. Но у меня есть десятки подобных проблем, и я хочу, чтобы проект базы данных был скомпилирован и развернут в локальной базе данных и помещен в наш репозиторий без необходимости исправления вещей, которые SQL Сервер позволяет. Я попытался поместить 71501 в свойство suppress T- SQL warnings для этого объекта, но это не устраняет ошибку, даже после очистки, закрытия и повторного открытия и попытки повторной сборки.

Кажется как SSDT обеспечивает что-то более строгое, чем SQL Server. Существуют ли какие-либо настройки, которые позволят ему все еще собирать, компилировать и находить «реальные» ошибки без этих ложных отрицаний?

...