数据库代码分析规则扩展性概述

Visual Studio 高级专业版和 Visual Studio 旗舰版中含有用于报告数据库代码中 Transact-SQL 设计、命名和性能警告的代码分析规则。 有关更多信息,请参见分析数据库代码以提高代码质量

如果内置的代码分析规则无法覆盖您要包括的特定 Transact-SQL 问题,则可以创建自定义的数据库代码分析规则。 例如,可能要创建一个自定义规则,用于避免使用 WAITFOR DELAY 语句,如演练:创作 SQL 的自定义静态代码分析规则程序集中所示。 若要创建自定义数据库代码分析规则,请使用 Microsoft.Data.Schema.StaticCodeAnalysis 命名空间中的类。

创建 Visual Studio 的自定义代码分析规则之前,应了解数据库代码分析规则各个组件中的基本体系结构。

数据库代码分析规则组件

下图介绍数据库代码分析规则组件的交互方式。

Database Edition 静态代码分析扩展性的体系结构

用于扩展数据库代码分析规则的体系结构。

通过直接运行静态代码分析(有关更多信息,请参见如何:通过分析 Transact-SQL 代码找到缺陷)或通过执行生成在 Visual Studio 的当前会话中使用数据库代码分析规则功能时,将根据在项目中对所有规则的配置方式来加载和使用这些规则。 有关更多信息,请参见如何:为静态分析数据库代码启用和禁用特定规则。扩展管理器还将加载已创建并注册的任何自定义规则程序集。 有关更多信息,请参见如何:注册和管理功能扩展

自定义代码分析规则类从 StaticCodeAnalysisRule 类继承而来。 自定义规则类使用 DataSchemaModel 管理将传递给静态代码分析引擎的 IModelElement 及其 Microsoft.Data.Schema.ScriptDom。 此外,数据架构模型还提供有关模型元素、关系和对代码分析规则的批注的查询信息,而这些信息将传递给错误管理器。

请参见

任务

演练:创作 SQL 的自定义静态代码分析规则程序集

如何:注册和管理功能扩展

如何:将自定义功能扩展分发给团队成员

概念

扩展 Visual Studio 的数据库功能

分析数据库代码以提高代码质量

使用代码分析来分析托管代码质量