데이터베이스 코드 분석 규칙의 확장성 개요

Visual Studio Premium 및 Visual Studio Ultimate에는 데이터베이스 코드의 Transact-SQL 디자인, 명명 및 성능 경고에 대해 보고하는 코드 분석 규칙이 포함되어 있습니다. 자세한 내용은 데이터베이스 코드를 분석하여 코드 품질 향상을 참조하십시오.

기본 제공 코드 분석 규칙에 포함하려는 특정 Transact-SQL 문제에 대한 검사가 없는 경우 사용자 지정 데이터베이스 코드 분석 규칙을 만들 수 있습니다. 예를 들어 연습: SQL의 사용자 지정 정적 코드 분석 규칙 어셈블리 작성과 같이 WAITFOR DELAY 문의 사용을 방지하는 사용자 지정 규칙을 만들 수 있습니다. 사용자 지정 데이터베이스 코드 분석 규칙을 만들려면 Microsoft.Data.Schema.StaticCodeAnalysis 네임스페이스의 클래스를 사용합니다.

Visual Studio에 대한 사용자 지정 코드 분석 규칙을 만들려는 경우 먼저 데이터베이스 코드 분석 규칙의 여러 구성 요소에서 사용되는 기본 아키텍처를 이해해야 합니다.

데이터베이스 코드 분석 규칙 구성 요소

다음 다이어그램에서는 데이터베이스 코드 분석 규칙 구성 요소가 상호 작용하는 방식을 보여 줍니다.

Database Edition 정적 코드 분석 확장성의 아키텍처

데이터베이스 코드 분석 규칙 확장을 위한 아키텍처

정적 코드 분석을 직접 실행하거나(자세한 내용은 방법: Transact-SQL 코드를 분석하여 오류 찾기 참조) 빌드를 수행하여 현재 Visual Studio 세션에서 데이터베이스 코드 분석 규칙 기능을 사용하는 경우 프로젝트에서 규칙을 구성한 방식에 따라 모든 규칙이 로드 및 사용됩니다. 자세한 내용은 방법: 데이터베이스 코드의 정적 분석에 대한 특정 규칙 활성화 및 비활성화를 참조하십시오. 확장 관리자는 사용자가 만들고 등록한 사용자 지정 규칙 어셈블리도 모두 로드합니다. 자세한 내용은 방법: 기능 확장 등록 및 관리를 참조하십시오.

사용자 지정 코드 분석 규칙 클래스는 StaticCodeAnalysisRule 클래스에서 상속됩니다. 사용자 지정 규칙 클래스에서는 DataSchemaModel을 사용하여 정적 코드 분석 엔진으로 전달되는 IModelElement 및 해당 Microsoft.Data.Schema.ScriptDom을 관리합니다. 뿐만 아니라 데이터 스키마 모델에서는 모델 요소, 관계 및 주석에 대한 쿼리 정보를 코드 분석 규칙에 제공하며, 이 정보는 오류 관리자에 전달됩니다.

참고 항목

작업

연습: SQL의 사용자 지정 정적 코드 분석 규칙 어셈블리 작성

방법: 기능 확장 등록 및 관리

방법: 팀 멤버에게 사용자 지정 기능 확장 배포

개념

Visual Studio의 데이터베이스 기능 확장

데이터베이스 코드를 분석하여 코드 품질 향상

코드 분석을 사용하여 관리 코드 품질 분석