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


Общие сведения о расширяемости для правил анализа кода базы данных

Visual Studio Premium и Visual Studio Ultimate содержат правила анализа кода для формирования отчетов Transact-SQLо предупреждениях, касающихся проблем с проектированием, именованием и эффективностью в коде базы данных. Дополнительные сведения см. в разделе Анализ кода базы данных с целью улучшения качества кода.

Если встроенные правила анализа кода не покрывают конкретную проблему в Transact-SQL, которую необходимо включить в отчет, можно создать пользовательские правила анализа кода базы данных. Например, может потребоваться создание пользовательского правила, позволяющего избежать использования оператора WAITFOR DELAY, как показано в разделе Пошаговое руководство. Разработка сборки настраиваемого правила статического анализа кода SQL. Для создания правил анализа кода базы данных используются классы из пространства имен Microsoft.Data.Schema.StaticCodeAnalysis.

Перед созданием пользовательских правил анализа кода в Visual Studio необходимо получить четкое представление о базовой архитектуре различных компонентов правил анализа кода базы данных.

Компоненты правил анализа кода базы данных

На следующей схеме показано взаимодействие компонентов правил анализа кода базы данных.

Архитектура расширяемости статического анализа кода Database Edition

Архитектура для расширения правил анализа кода БД.

Если правила анализа кода используются в текущем сеансе Visual Studio либо путем непосредственного выполнения статического анализа кода (дополнительные сведения см. в разделе Практическое руководство. Анализ кода Transact-SQL на наличие ошибок), либо путем построения, все правила загружаются и используются в соответствии с тем, как они были настроены в проекте. Дополнительные сведения см. в разделе Практическое руководство. Включение и отключение особых правил для статического анализа кода базы данных. Диспетчер расширений также загружает все пользовательские сборки правил, которые были созданы и зарегистрированы заранее. Дополнительные сведения см. в разделе Практическое руководство. Регистрация и управление расширениями функций.

Класс пользовательского правила анализа кода должен быть наследником StaticCodeAnalysisRule. Класс пользовательского правила использует тип DataSchemaModel для управления элементами IModelElement и их моделями Microsoft.Data.Schema.ScriptDom, которые передаются модулю статического анализа кода. Кроме того, модель схемы данных предоставляет по запросу сведения об элементах модели, связях и заметках к правилам анализа кода; данные сведения затем передаются диспетчеру ошибок.

См. также

Задачи

Пошаговое руководство. Разработка сборки настраиваемого правила статического анализа кода SQL

Практическое руководство. Регистрация и управление расширениями функций

Практическое руководство. Распределение пользовательских расширений функций между участниками команды

Основные понятия

Расширение функций баз данных в Visual Studio

Анализ кода базы данных с целью улучшения качества кода

Анализ качества управляемого кода с помощью метода анализа кода