Microsoft.SqlServer.Dac.CodeAnalysis 네임스페이스

클래스

Name Description
CodeAnalysisResult

특정 모델에 대한 Code Analysis 결과입니다. 분석 중에 발생한 오류 외에 발견된 모든 오류도 포함 SqlRuleProblem됩니다.

CodeAnalysisRuleSettings

분석 중에 사용되는 규칙을 구성하는 데 사용되는 설정입니다.

분석을 시작하기 전에 이 설정 개체는 분석 서비스에서 검색한 규칙에 적용됩니다. DisableRulesNotInSettings가 true로 설정된 경우 이러한 설정에 포함되지 않은 규칙은 사용하지 않도록 설정되고 분석 중에 실행되지 않습니다.

이러한 설정은 엔진에서 반환된 ApplySettingsToRules(IEnumerable<RuleConfiguration>) 규칙에 대해 메서드를 호출하여 적용됩니다.

CodeAnalysisService

모델에 대한 코드 분석을 실행하고 호출자에게 결과를 제공하는 서비스입니다.

여러 시뮬레이션 호출 Analyze(TSqlModel) 이 지원되지 않으므로 이 클래스는 스레드로부터 안전하지 않습니다. 그러나 별도의 스레드가 메서드가 완료되기를 기다리는 Cancel() 동안 스레드에서 호출 Analyze(TSqlModel) 할 수 있습니다.

CodeAnalysisServiceFactory

개체 만들기를 지원하는 팩터리 CodeAnalysisService 클래스입니다.

CodeAnalysisServiceSettings

에 대한 선택적 구성 설정을 정의합니다 CodeAnalysisService. 실행 중인 규칙, 특정 문제를 표시하지 않는 방법 및 결과를 저장할 위치를 결정할 수 있습니다.

이러한 설정은 생성된 후에 설정할 CodeAnalysisService 수도 있지만, 구성을 보다 편리하게 만들기 위해 여기에 포함됩니다.

ExportCodeAnalysisRuleAttribute

규칙 내보내기 및 해당 규칙에 대한 메타데이터를 정의하는 특성입니다. 형식 일관성을 보장하기 위해 가져오기 쪽에서 사용해야 하는 ISqlAnalysisRuleMetadata를 구현합니다.

ProblemSuppressionException

규칙 문제 억제 테스트를 실행할 때 발생한 예외를 나타냅니다.

ProjectProblemSuppressor

SSDT 프로젝트에서 사용하는 문제 억제기를 나타냅니다. 이 ShouldSuppressProblem 클래스를 사용하기 위해 ShouldSuppressProblem 메서드를 전달할 수 있습니다.

이렇게 하면 루트 디렉터리에 이름이 일치하는 SuppressionFilename 파일("StaticCodeAnalysis.SuppressMessages.xml")이 있는 파일에서 제거 정보를 읽습니다.

생성자에 정의된 프로젝트 폴더를 기준으로 모든 상대 경로가 확인됩니다.

RuleConfiguration

규칙을 구성하는 방법을 지정합니다. 규칙을 사용하거나 사용하지 않도록 설정해야 하나요? 규칙에 어떤 심각도를 적용해야 하나요?

RuleDescriptor

규칙 엔진에서 검색한 규칙을 설명하고 해당 속성의 구성을 지원합니다. 설명자는 분석 중에 규칙을 사용/사용하지 않도록 설정하고 규칙에서 RuleConfiguration만든 문제의 심각도를 지정하기 위해 속성을 상속합니다.

이 클래스는 외부 사용자가 서브클래스로 사용할 수 없습니다. 인스턴스는 RuleDescriptor 분석 서비스에서 생성됩니다.

RuleException

코드 분석 실행 중에 발생할 수 있는 예외를 나타냅니다.

SqlAnalysisRule

모든 유형의 분석 규칙에 대한 기본 클래스입니다. 분석 규칙은 모델/모델 요소를 분석하고 분석 중에 발견된 문제 목록을 반환합니다.

SqlCodeAnalysisRule

SQL 정적 코드 분석 규칙의 기본 클래스입니다. 분석 규칙은 모델/모델 요소를 분석하고 분석 중에 발견된 문제 목록을 반환합니다.

클래스 구현에는 코드 분석 중에 검색하고 사용할 클래스 정의가 정의되어 있어야 합니다 ExportCodeAnalysisRuleAttribute .

SqlRuleExecutionContext

분석할 스키마 모델 및 모델 요소를 포함하여 분석에 필요한 필드를 정의합니다.

SqlRuleProblem

분석 중에 규칙이 발견한 문제를 설명합니다. 문제를 찾은 규칙, 문제를 일으키는 SqlObject, 심각도 및 표시할 오류 메시지와 같은 관련 정보를 포함합니다.

원본 위치 정보(원본 이름, 시작 줄 및 열)는 처음에 생성자에 따라 ModelElement 유추되고 Fragment 생성자로 전달됩니다. a가 Fragment 전달되면 해당 항목의 시작 줄/열 TSqlFragment 이 사용됩니다(있는 경우). 그렇지 않으면 TSqlObject'의 값이 사용됩니다(있는 경우). dacpac에서 생성된 모델과 같은 특정 모델에는 원본 위치 정보가 없을 수 있습니다.

SqlRuleProblemSuppressionContext

SCA 문제를 표시하지 않는 컨텍스트 정보

SuppressedProblemInfo

특정 원본에 대해 표시되지 않는 문제에 대한 정보입니다. 이 정보에는 소스 이름과 문제를 표시하지 않아야 하는 규칙이 포함됩니다.

인터페이스

Name Description
ISqlAnalysisRuleMetadata

규칙을 설명하는 메타데이터- 해당 네임스페이스, ID, 범위 등

열거형

Name Description
CodeAnalysisModelValidationMode

코드 분석 전에 모델에서 수행된 유효성 검사를 결정합니다.

SqlRuleProblemSeverity

문제를 보고하기 위한 메시지 유형

SqlRuleScope

정적 코드 분석 규칙에 의해 검사되는 범위입니다.