SSDT Publish - ссылка на объект не установлена

Я пытаюсь опубликовать проект SSDT, и он выдает ошибку "Ссылка на объект не установлена ​​на экземпляр объекта" Нет другого сообщения, есть ли способ устранить эту проблему.

5 ответов

У меня была такая же ошибка, и это было из-за конфигурации сборки.

В SSDT отсутствовала текущая конфигурация сборки решения. После добавления его через Configuration Manager в SSDT он снова заработал.

Я получил эту ошибку, когда щелкнул правой кнопкой мыши по проекту БД и выбрал Publish.. (хотя в отличие от OP ничего не отображалось в окне "Работа с инструментами данных")

Я построил проект, затем Publish... снова начал работать:)

Использование инструментов данных SQL Server 15.1.61810.11040

Я видел, что наряду с "цель недоступна", и загрузка и установка последней версии SSDT отсюда обычно решают проблему. Убедитесь, что целью вашего проекта является база данных SQL Azure, как описано здесь.

Я столкнулся с этой проблемой вчера и обнаружил первопричину сегодня утром методом проб и ошибок.

Для меня это было вызвано попыткой SSDT обновить схему и функцию секционирования. Он пытается сделать это путем удаления и воссоздания схемы и функции раздела, но, очевидно, не может этого сделать, пока они используются. В результате он не может создать сценарий обновления с ужасно бесполезной ошибкой, описанной выше.

Если вам не нужно обновлять раздел (например, если у вас есть что-то еще, управляющее им), вы можете отключить проверку в дополнительных настройках публикации:

Дополнительные параметры публикации -> Игнорировать -> Игнорировать схемы разделов Игнорировать -> Игнорировать схемы разделов">

Как показано в приведенном выше описании, это должно игнорировать любые изменения в схемах и функциях разделения при выполнении сравнения, но все же развертывать их на начальном этапе. Это устраняет ошибку во время генерации скрипта.

Если вам нужно обновить схему / функцию секционирования, я бы порекомендовал сделать это в качестве сценария после развертывания, чтобы вы могли лучше контролировать выполняемый код.

Какая версия SSDT у вас есть?

Эта проблема была исправлена ​​в нашем последнем спринте, поэтому последняя версия SSDT должна разблокировать вас.

https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt

Другие вопросы по тегам