mssql sqlAssessmentService (#10299)

mssql sqlAssessmentService
This commit is contained in:
Vladimir Chernov
2020-05-07 21:35:44 +03:00
committed by GitHub
parent d87855cf1f
commit 57d2ceec9d
7 changed files with 161 additions and 2 deletions

View File

@@ -41,6 +41,8 @@ export interface IExtension {
readonly languageExtension: ILanguageExtensionService;
readonly dacFx: IDacFxService;
readonly sqlAssessment: ISqlAssessmentService;
}
/**
@@ -463,3 +465,47 @@ export interface ListRegisteredServersResult {
registeredServerGroups: Array<RegisteredServerGroup>;
}
//#endregion
/**
* Sql Assessment
*/
// SqlAssessment interfaces -----------------------------------------------------------------------
export const enum SqlAssessmentTargetType {
Server = 1,
Database = 2
}
export const enum SqlAssessmentResultItemKind {
RealResult = 0,
Warning = 1,
Error = 2
}
export interface SqlAssessmentResultItem {
rulesetVersion: string;
rulesetName: string;
targetType: SqlAssessmentTargetType;
targetName: string;
checkId: string;
tags: string[];
displayName: string;
description: string;
message: string;
helpLink: string;
level: string;
timestamp: string;
kind: SqlAssessmentResultItemKind;
}
export interface SqlAssessmentResult extends azdata.ResultStatus {
items: SqlAssessmentResultItem[];
apiVersion: string;
}
export interface ISqlAssessmentService {
assessmentInvoke(ownerUri: string, targetType: SqlAssessmentTargetType): Promise<SqlAssessmentResult>;
getAssessmentItems(ownerUri: string, targetType: SqlAssessmentTargetType): Promise<SqlAssessmentResult>;
generateAssessmentScript(items: SqlAssessmentResultItem[], targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Promise<azdata.ResultStatus>;
}