다음을 통해 공유


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

클래스

CodeAnalysisResult

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

CodeAnalysisRuleSettings

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

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

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

CodeAnalysisService

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

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

CodeAnalysisServiceFactory

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

CodeAnalysisServiceSettings

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

또한 CodeAnalysisService를 만든 후 이러한 설정을 지정할 수 있지만 여기에서는 보다 편리하게 생성할 수 있도록 하기 위해 이러한 설정이 포함되어 있습니다.

ExportCodeAnalysisRuleAttribute

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

ProblemSuppressionException

규칙 문제 제거 테스트 실행 중에 발생하는 예외를 나타냅니다.

ProjectProblemSuppressor

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

루트 디렉터리에서 SuppressionFilename("StaticCodeAnalysis.SuppressMessages.xml")과 이름이 일치하는 파일에서 비표시 오류(Suppression) 정보를 읽습니다.

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

RuleConfiguration

규칙이 어떻게 구성되는지 지정합니다-이것을 활성화 또는 비활성화합니까? 규칙에 대해 어떤 심각도를 적용해야 합니까?

RuleDescriptor

규칙 엔진에서 검색한 규칙을 설명하고 해당 속성의 구성을 지원합니다. 설명자는 분석 중 규칙 활성화/비활성화 및 규칙에 의해 생성된 문제의 심각도 지정을 지원하기 위해 RuleConfiguration에서 속성을 상속합니다.

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

RuleException

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

SqlAnalysisRule

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

SqlCodeAnalysisRule

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

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

SqlRuleExecutionContext

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

SqlRuleProblem

분석하는 동안 규칙에 의해 발견된 문제를 설명합니다. 문제를 발견한 규칙, 문제를 일으킨 SqlObject, 심각도 및 표시할 오류 메시지와 같은 관련 정보를 포함합니다.

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

SqlRuleProblemSuppressionContext

SCA 문제를 표시하지 않기 위한 컨텍스트 정보

SuppressedProblemInfo

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

인터페이스

ISqlAnalysisRuleMetadata

규칙-해당 네임 스페이스, id, 범위 등을 설명하는 메타데이터입니다.

열거형

CodeAnalysisModelValidationMode

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

SqlRuleProblemSeverity

문제 보고에 대한 메시지의 유형

SqlRuleScope

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