SQL71561: представление содержит неразрешенную ссылку на Is_Distributed - PullRequest
0 голосов
/ 03 мая 2019

Я создал новый проект базы данных в VS 2017. Я установил целевую платформу на SQL Server 2016 и добавил master и msdb в качестве ссылок.

Проблема, с которой я столкнулся, заключается в том, что у меня есть представление, которое ссылается на sys.availability_groups и фильтры на столбец is_distributed. Выдает эту ошибку:

SQL71561: представление: [dbo]. [VUHL_vw_AGInfo] содержит неразрешенное ссылка на объект. Либо объект не существует, либо ссылка неоднозначна, поскольку может относиться к любому из следующих объекты: [master]. [sys]. [Availability_groups]. [AG] :: [is_distributed], [Мастер]. [SYS]. [Availability_groups]. [Is_distributed], [Мастер]. [SYS]. [Availability_replicas]. [AG] :: [is_distributed], [Мастер]. [SYS]. [Dm_hadr_availability_group_states]. [AG] :: [is_distributed], [Мастер]. [SYS]. [Dm_hadr_availability_replica_states]. [AG] :: [is_distributed] или же [Мастер]. [SYS]. [Dm_hadr_database_replica_states]. [AG] :: [is_distributed].

Я знаю, что столбец существует, и я знаю, что он не существовал до 2016 года, и я задал этот вопрос . Однако даже при таком обходе он не распознает столбец.

Есть ли способ заставить проект базы данных распознать столбец или сказать, что ему все равно?

1 Ответ

0 голосов
/ 03 мая 2019

Я не уверен на 100%, что я сделал, чтобы заставить это работать сейчас, но теперь оно работает.

По сути, я закрыл и снова открыл VS и увидел, что как-то master и msdb были добавлены дважды в качестве ссылок. Я удалил все эти ссылки, сохранил и закрыл VS. Затем я снова открыл проект, добавил ссылки, и теперь он работает.

...