Поделиться через


Устранение ошибок

 

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

System_CAPS_warningПредупреждение

В следующих процедурах используются сущности, созданные в процедурах в разделах Разработка подключенной базы данных и Разработка базы данных вне сети с учетом проекта.

Устранение ошибок

  1. Щелкните правой кнопкой мыши таблицу Product (Product.sql) в обозревателе решений и выберите Конструктор представлений.

  2. В сетке столбцов конструктора щелкните правой кнопкой мыши столбец ShelflLife и выберите Удалить, чтобы удалить этот столбец из таблицы.

  3. Обратите внимание на то, что в области Список ошибок в нижней части экрана немедленно появляются предупреждение и ошибка, аналогичные следующим.

    Предупреждение SQL71502: функция: [dbo].[GetProductsBySupplier] содержит неразрешенную ссылку на объект.Объект не существует, или ссылка неоднозначна, поскольку она может указывать на любой из следующих объектов: [dbo]. [Product]. [p]:: [ShelfLife] или [dbo]. [Product]. [ShelfLife].
    Ошибка SQL71501: проверочное ограничение: [dbo]. [CK_Product_ShelfLife] содержит неразрешенную ссылку на объект [dbo]. [Product]. [ShelfLife].
  4. Предусмотрена возможность щелкать правой кнопкой мыши Список ошибок, затем использовать контекстные меню для сортировки результатов и определения с помощью фильтра, какие записи должны быть отображены и какие столбцы со сведениями должны отображаться для каждой записи.

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

  5. В редакторе Transact-SQL удалите ShelfLife из функции.

  6. Аналогичным образом исправьте вторую ошибку, удалив проверочное ограничение.

  7. Обратите внимание, что предупреждение и ошибка исчезают из списка ошибок непосредственно после устранения указанных проблем.

См. также

Использовать редактор Transact-SQL для изменения и выполнения скриптов