diff --git a/extensions/cms/src/cmsUtils.ts b/extensions/cms/src/cmsUtils.ts
index 5737276c32..486575f2cf 100644
--- a/extensions/cms/src/cmsUtils.ts
+++ b/extensions/cms/src/cmsUtils.ts
@@ -6,7 +6,7 @@
import * as nls from 'vscode-nls';
import * as vscode from 'vscode';
import * as azdata from 'azdata';
-import * as mssql from '../../mssql';
+import * as mssql from 'mssql';
import * as Utils from './cmsResource/utils';
import { ICmsResourceNodeInfo } from './cmsResource/tree/baseTreeNodes';
diff --git a/extensions/cms/src/typings/ref.d.ts b/extensions/cms/src/typings/ref.d.ts
index 4d46be908b..6bf3be9c9f 100644
--- a/extensions/cms/src/typings/ref.d.ts
+++ b/extensions/cms/src/typings/ref.d.ts
@@ -6,4 +6,5 @@
///
///
///
-///
\ No newline at end of file
+///
+///
diff --git a/extensions/dacpac/src/test/testDacFxService.ts b/extensions/dacpac/src/test/testDacFxService.ts
index fe6a225fe0..2f62fcc261 100644
--- a/extensions/dacpac/src/test/testDacFxService.ts
+++ b/extensions/dacpac/src/test/testDacFxService.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
-import * as mssql from '../../../mssql/src/mssql';
+import * as mssql from 'mssql';
export const deployOperationId = 'deploy dacpac';
export const extractOperationId = 'extract dacpac';
diff --git a/extensions/dacpac/src/typings/ref.d.ts b/extensions/dacpac/src/typings/ref.d.ts
index cfdf5dd135..6bf3be9c9f 100644
--- a/extensions/dacpac/src/typings/ref.d.ts
+++ b/extensions/dacpac/src/typings/ref.d.ts
@@ -6,4 +6,5 @@
///
///
///
+///
///
diff --git a/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts b/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts
index 8f0e2ac5bc..53b1fe18e9 100644
--- a/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts
+++ b/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts
@@ -6,7 +6,7 @@
import * as vscode from 'vscode';
import * as azdata from 'azdata';
import * as loc from '../localizedConstants';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as utils from '../utils';
import { SelectOperationPage } from './pages/selectOperationpage';
import { DeployConfigPage } from './pages/deployConfigPage';
diff --git a/extensions/integration-tests/src/test/cms.test.ts b/extensions/integration-tests/src/test/cms.test.ts
index abfab188a3..2094c12de8 100644
--- a/extensions/integration-tests/src/test/cms.test.ts
+++ b/extensions/integration-tests/src/test/cms.test.ts
@@ -6,7 +6,7 @@
import 'mocha';
import * as vscode from 'vscode';
import * as azdata from 'azdata';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as utils from './utils';
import * as uuid from './uuid';
import assert = require('assert');
diff --git a/extensions/integration-tests/src/test/dacpac.test.ts b/extensions/integration-tests/src/test/dacpac.test.ts
index bc6e221754..ee965c788d 100644
--- a/extensions/integration-tests/src/test/dacpac.test.ts
+++ b/extensions/integration-tests/src/test/dacpac.test.ts
@@ -9,7 +9,7 @@ import * as utils from './utils';
import * as path from 'path';
import * as fs from 'fs';
import * as os from 'os';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as vscode from 'vscode';
import { getStandaloneServer } from './testConfig';
import * as assert from 'assert';
diff --git a/extensions/integration-tests/src/test/schemaCompare.test.ts b/extensions/integration-tests/src/test/schemaCompare.test.ts
index 7c81b45ad7..b917fd3c88 100644
--- a/extensions/integration-tests/src/test/schemaCompare.test.ts
+++ b/extensions/integration-tests/src/test/schemaCompare.test.ts
@@ -7,7 +7,7 @@ import 'mocha';
import * as azdata from 'azdata';
import * as vscode from 'vscode';
import * as utils from './utils';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as os from 'os';
import * as fs from 'fs';
import * as path from 'path';
diff --git a/extensions/integration-tests/src/typings/ref.d.ts b/extensions/integration-tests/src/typings/ref.d.ts
index 7c5bd314ae..c526712587 100644
--- a/extensions/integration-tests/src/typings/ref.d.ts
+++ b/extensions/integration-tests/src/typings/ref.d.ts
@@ -5,5 +5,6 @@
///
///
///
+///
///
///
diff --git a/extensions/machine-learning/src/externalLanguage/languageService.ts b/extensions/machine-learning/src/externalLanguage/languageService.ts
index 12c452cd59..babbee59d4 100644
--- a/extensions/machine-learning/src/externalLanguage/languageService.ts
+++ b/extensions/machine-learning/src/externalLanguage/languageService.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import { ApiWrapper } from '../common/apiWrapper';
/**
diff --git a/extensions/machine-learning/src/test/views/externalLanguages/languageController.test.ts b/extensions/machine-learning/src/test/views/externalLanguages/languageController.test.ts
index c0d0e3e898..2231e0ef3f 100644
--- a/extensions/machine-learning/src/test/views/externalLanguages/languageController.test.ts
+++ b/extensions/machine-learning/src/test/views/externalLanguages/languageController.test.ts
@@ -8,7 +8,7 @@ import 'mocha';
import * as TypeMoq from 'typemoq';
import { createContext } from './utils';
import { LanguageController } from '../../../views/externalLanguages/languageController';
-import * as mssql from '../../../../../mssql';
+import * as mssql from 'mssql';
describe('External Languages Controller', () => {
it('Should open dialog for manage languages successfully ', async function (): Promise {
@@ -21,7 +21,7 @@ describe('External Languages Controller', () => {
it('Should list languages successfully ', async function (): Promise {
let testContext = createContext();
- let languages: mssql.ExternalLanguage[] = [{
+ let languages: mssql.ExternalLanguage[] = [{
name: '',
contents: [{
extensionFileName: '',
@@ -30,7 +30,7 @@ describe('External Languages Controller', () => {
}]
}];
- testContext.dialogModel.setup( x=> x.getLanguageList()).returns(() => Promise.resolve(languages));
+ testContext.dialogModel.setup(x => x.getLanguageList()).returns(() => Promise.resolve(languages));
let controller = new LanguageController(testContext.apiWrapper.object, '', testContext.dialogModel.object);
let dialog = await controller.manageLanguages();
let actual = await dialog.listLanguages();
@@ -48,7 +48,7 @@ describe('External Languages Controller', () => {
}]
};
- testContext.dialogModel.setup( x=> x.updateLanguage(language)).returns(() => Promise.resolve());
+ testContext.dialogModel.setup(x => x.updateLanguage(language)).returns(() => Promise.resolve());
let controller = new LanguageController(testContext.apiWrapper.object, '', testContext.dialogModel.object);
let dialog = await controller.manageLanguages();
await dialog.updateLanguage({
@@ -70,7 +70,7 @@ describe('External Languages Controller', () => {
}]
};
- testContext.dialogModel.setup( x=> x.deleteLanguage(language.name)).returns(() => Promise.resolve());
+ testContext.dialogModel.setup(x => x.deleteLanguage(language.name)).returns(() => Promise.resolve());
let controller = new LanguageController(testContext.apiWrapper.object, '', testContext.dialogModel.object);
let dialog = await controller.manageLanguages();
await dialog.deleteLanguage({
diff --git a/extensions/machine-learning/src/test/views/externalLanguages/languagesDialogModel.test.ts b/extensions/machine-learning/src/test/views/externalLanguages/languagesDialogModel.test.ts
index b6c8d78249..92bc5c0929 100644
--- a/extensions/machine-learning/src/test/views/externalLanguages/languagesDialogModel.test.ts
+++ b/extensions/machine-learning/src/test/views/externalLanguages/languagesDialogModel.test.ts
@@ -6,13 +6,13 @@
import * as should from 'should';
import 'mocha';
import { createContext } from './utils';
-import * as mssql from '../../../../../mssql';
+import * as mssql from 'mssql';
import { LanguageService } from '../../../externalLanguage/languageService';
describe('External Languages Dialog Model', () => {
it('Should list languages successfully ', async function (): Promise {
let testContext = createContext();
- let languages: mssql.ExternalLanguage[] = [{
+ let languages: mssql.ExternalLanguage[] = [{
name: '',
contents: [{
extensionFileName: '',
@@ -20,7 +20,7 @@ describe('External Languages Dialog Model', () => {
pathToExtension: '',
}]
}];
- testContext.languageExtensionService.listLanguages = () => {return Promise.resolve(languages);};
+ testContext.languageExtensionService.listLanguages = () => { return Promise.resolve(languages); };
let model = new LanguageService(testContext.apiWrapper.object, testContext.languageExtensionService);
await model.load();
let actual = await model.getLanguageList();
@@ -29,7 +29,7 @@ describe('External Languages Dialog Model', () => {
it('Should update language successfully ', async function (): Promise {
let testContext = createContext();
- let language: mssql.ExternalLanguage = {
+ let language: mssql.ExternalLanguage = {
name: '',
contents: [{
extensionFileName: '',
@@ -45,7 +45,7 @@ describe('External Languages Dialog Model', () => {
it('Should delete language successfully ', async function (): Promise {
let testContext = createContext();
- let language: mssql.ExternalLanguage = {
+ let language: mssql.ExternalLanguage = {
name: '',
contents: [{
extensionFileName: '',
diff --git a/extensions/machine-learning/src/test/views/externalLanguages/utils.ts b/extensions/machine-learning/src/test/views/externalLanguages/utils.ts
index c3aa267494..68114a3416 100644
--- a/extensions/machine-learning/src/test/views/externalLanguages/utils.ts
+++ b/extensions/machine-learning/src/test/views/externalLanguages/utils.ts
@@ -8,7 +8,7 @@ import * as vscode from 'vscode';
import * as TypeMoq from 'typemoq';
import { ApiWrapper } from '../../../common/apiWrapper';
import { LanguageViewBase } from '../../../views/externalLanguages/languageViewBase';
-import * as mssql from '../../../../../mssql';
+import * as mssql from 'mssql';
import { LanguageService } from '../../../externalLanguage/languageService';
import { createViewContext } from '../utils';
diff --git a/extensions/machine-learning/src/typings/ref.d.ts b/extensions/machine-learning/src/typings/ref.d.ts
index 0e316762ac..2b35c0bf9f 100644
--- a/extensions/machine-learning/src/typings/ref.d.ts
+++ b/extensions/machine-learning/src/typings/ref.d.ts
@@ -8,4 +8,5 @@
///
///
///
+///
///
diff --git a/extensions/machine-learning/src/views/externalLanguages/languageContentView.ts b/extensions/machine-learning/src/views/externalLanguages/languageContentView.ts
index 28efebf3cc..e72ca7d151 100644
--- a/extensions/machine-learning/src/views/externalLanguages/languageContentView.ts
+++ b/extensions/machine-learning/src/views/externalLanguages/languageContentView.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
-import * as mssql from '../../../../mssql';
+import * as mssql from 'mssql';
import { LanguageViewBase } from './languageViewBase';
import * as constants from '../../common/constants';
import { ApiWrapper } from '../../common/apiWrapper';
diff --git a/extensions/machine-learning/src/views/externalLanguages/languageController.ts b/extensions/machine-learning/src/views/externalLanguages/languageController.ts
index 7d18ee14b7..e60a5fcf35 100644
--- a/extensions/machine-learning/src/views/externalLanguages/languageController.ts
+++ b/extensions/machine-learning/src/views/externalLanguages/languageController.ts
@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-import * as mssql from '../../../../mssql';
+import * as mssql from 'mssql';
import { ApiWrapper } from '../../common/apiWrapper';
import { LanguageService } from '../../externalLanguage/languageService';
import { LanguagesDialog } from './languagesDialog';
diff --git a/extensions/machine-learning/src/views/externalLanguages/languageViewBase.ts b/extensions/machine-learning/src/views/externalLanguages/languageViewBase.ts
index df432451a5..dab8aba373 100644
--- a/extensions/machine-learning/src/views/externalLanguages/languageViewBase.ts
+++ b/extensions/machine-learning/src/views/externalLanguages/languageViewBase.ts
@@ -7,7 +7,7 @@ import * as azdata from 'azdata';
import * as vscode from 'vscode';
import * as constants from '../../common/constants';
import { ApiWrapper } from '../../common/apiWrapper';
-import * as mssql from '../../../../mssql';
+import * as mssql from 'mssql';
import * as path from 'path';
export interface LanguageUpdateModel {
diff --git a/extensions/machine-learning/src/views/externalLanguages/languagesTable.ts b/extensions/machine-learning/src/views/externalLanguages/languagesTable.ts
index a807a5d65a..f5c9ca9807 100644
--- a/extensions/machine-learning/src/views/externalLanguages/languagesTable.ts
+++ b/extensions/machine-learning/src/views/externalLanguages/languagesTable.ts
@@ -5,7 +5,7 @@
import * as azdata from 'azdata';
import * as constants from '../../common/constants';
-import * as mssql from '../../../../mssql';
+import * as mssql from 'mssql';
import { LanguageViewBase } from './languageViewBase';
import { ApiWrapper } from '../../common/apiWrapper';
diff --git a/extensions/mssql/src/cms/cmsService.ts b/extensions/mssql/src/cms/cmsService.ts
index a06419f4db..402f988bcb 100644
--- a/extensions/mssql/src/cms/cmsService.ts
+++ b/extensions/mssql/src/cms/cmsService.ts
@@ -9,7 +9,7 @@ import * as contracts from '../contracts';
import { AppContext } from '../appContext';
import { ConnectParams, ClientCapabilities } from 'dataprotocol-client/lib/protocol';
import { SqlOpsDataClient, ISqlOpsFeature } from 'dataprotocol-client';
-import { ListRegisteredServersResult, ICmsService } from '../mssql';
+import { ListRegisteredServersResult, ICmsService } from 'mssql';
import * as Utils from '../utils';
export class CmsService implements ICmsService {
diff --git a/extensions/mssql/src/contracts.ts b/extensions/mssql/src/contracts.ts
index bbb75fabc2..62c93a80bf 100644
--- a/extensions/mssql/src/contracts.ts
+++ b/extensions/mssql/src/contracts.ts
@@ -7,7 +7,7 @@ import { NotificationType, RequestType } from 'vscode-languageclient';
import { ITelemetryEventProperties, ITelemetryEventMeasures } from './telemetry';
import * as azdata from 'azdata';
import { ConnectParams } from 'dataprotocol-client/lib/protocol';
-import * as mssql from './mssql';
+import * as mssql from 'mssql';
// ------------------------------- < Telemetry Sent Event > ------------------------------------
diff --git a/extensions/mssql/src/dacfx/dacFxService.ts b/extensions/mssql/src/dacfx/dacFxService.ts
index 0314733e77..11634c6089 100644
--- a/extensions/mssql/src/dacfx/dacFxService.ts
+++ b/extensions/mssql/src/dacfx/dacFxService.ts
@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-import * as mssql from '../mssql';
+import * as mssql from 'mssql';
import { AppContext } from '../appContext';
import { ISqlOpsFeature, SqlOpsDataClient } from 'dataprotocol-client';
import { ClientCapabilities } from 'vscode-languageclient';
diff --git a/extensions/mssql/src/languageExtension/languageExtensionService.ts b/extensions/mssql/src/languageExtension/languageExtensionService.ts
index a1609d0c14..a407844b08 100644
--- a/extensions/mssql/src/languageExtension/languageExtensionService.ts
+++ b/extensions/mssql/src/languageExtension/languageExtensionService.ts
@@ -6,7 +6,7 @@
import { AppContext } from '../appContext';
import { SqlOpsDataClient, ISqlOpsFeature } from 'dataprotocol-client';
import * as constants from '../constants';
-import * as mssql from '../mssql';
+import * as mssql from 'mssql';
import * as Utils from '../utils';
import { ClientCapabilities } from 'vscode-languageclient';
import * as contracts from '../contracts';
diff --git a/extensions/mssql/src/main.ts b/extensions/mssql/src/main.ts
index 4070711ccf..c01c6d812f 100644
--- a/extensions/mssql/src/main.ts
+++ b/extensions/mssql/src/main.ts
@@ -15,7 +15,7 @@ import { AppContext } from './appContext';
import { UploadFilesCommand, MkDirCommand, SaveFileCommand, PreviewFileCommand, CopyPathCommand, DeleteFilesCommand, ManageAccessCommand } from './objectExplorerNodeProvider/hdfsCommands';
import { IPrompter } from './prompts/question';
import CodeAdapter from './prompts/adapter';
-import { IExtension } from './mssql';
+import { IExtension } from 'mssql';
import { OpenSparkJobSubmissionDialogCommand, OpenSparkJobSubmissionDialogFromFileCommand, OpenSparkJobSubmissionDialogTask } from './sparkFeature/dialog/dialogCommands';
import { OpenSparkYarnHistoryTask } from './sparkFeature/historyTask';
import { MssqlObjectExplorerNodeProvider, mssqlOutputChannel } from './objectExplorerNodeProvider/objectExplorerNodeProvider';
diff --git a/extensions/mssql/src/mssql.d.ts b/extensions/mssql/src/mssql.d.ts
index 4d909b0b9d..df6ce73ddd 100644
--- a/extensions/mssql/src/mssql.d.ts
+++ b/extensions/mssql/src/mssql.d.ts
@@ -4,897 +4,902 @@
*--------------------------------------------------------------------------------------------*/
// This is the place for extensions to expose APIs.
+declare module 'mssql' {
+ import * as azdata from 'azdata';
-import * as azdata from 'azdata';
-
-/**
- * Covers defining what the mssql extension exports to other extensions
- *
- * IMPORTANT: THIS IS NOT A HARD DEFINITION unlike vscode; therefore no enums or classes should be defined here
- * (const enums get evaluated when typescript -> javascript so those are fine)
- */
-
-
-export const enum extension {
- name = 'Microsoft.mssql'
-}
-
-/**
-* The APIs provided by Mssql extension
-*/
-export interface IExtension {
/**
- * Path to the root of the SQL Tools Service folder
- */
- readonly sqlToolsServicePath: string;
- /**
- * Gets the object explorer API that supports querying over the connections supported by this extension
+ * Covers defining what the mssql extension exports to other extensions
*
+ * IMPORTANT: THIS IS NOT A HARD DEFINITION unlike vscode; therefore no enums or classes should be defined here
+ * (const enums get evaluated when typescript -> javascript so those are fine)
*/
- getMssqlObjectExplorerBrowser(): MssqlObjectExplorerBrowser;
+
+
+ export const enum extension {
+ name = 'Microsoft.mssql'
+ }
/**
- * Get the Cms Service APIs to communicate with CMS connections supported by this extension
+ * The APIs provided by Mssql extension
+ */
+ export interface IExtension {
+ /**
+ * Path to the root of the SQL Tools Service folder
+ */
+ readonly sqlToolsServicePath: string;
+ /**
+ * Gets the object explorer API that supports querying over the connections supported by this extension
+ *
+ */
+ getMssqlObjectExplorerBrowser(): MssqlObjectExplorerBrowser;
+
+ /**
+ * Get the Cms Service APIs to communicate with CMS connections supported by this extension
+ *
+ */
+ readonly cmsService: ICmsService;
+
+ readonly schemaCompare: ISchemaCompareService;
+
+ readonly languageExtension: ILanguageExtensionService;
+
+ readonly dacFx: IDacFxService;
+
+ readonly sqlAssessment: ISqlAssessmentService;
+
+ readonly sqlMigration: ISqlMigrationService;
+ }
+
+ /**
+ * A browser supporting actions over the object explorer connections provided by this extension.
+ * Currently this is the
+ */
+ export interface MssqlObjectExplorerBrowser {
+ /**
+ * Gets the matching node given a context object, e.g. one from a right-click on a node in Object Explorer
+ */
+ getNode(objectExplorerContext: azdata.ObjectExplorerContext): Thenable;
+ }
+
+ /**
+ * A tree node in the object explorer tree
+ */
+ export interface ITreeNode {
+ getNodeInfo(): azdata.NodeInfo;
+ getChildren(refreshChildren: boolean): ITreeNode[] | Thenable;
+ }
+
+ /**
+ * A HDFS file node. This is a leaf node in the object explorer tree, and its contents
+ * can be queried
+ */
+ export interface IFileNode extends ITreeNode {
+ getFileContentsAsString(maxBytes?: number): Thenable;
+ }
+
+ //#region --- schema compare
+ export interface SchemaCompareResult extends azdata.ResultStatus {
+ operationId: string;
+ areEqual: boolean;
+ differences: DiffEntry[];
+ }
+
+ export interface SchemaCompareIncludeExcludeResult extends azdata.ResultStatus {
+ affectedDependencies: DiffEntry[];
+ blockingDependencies: DiffEntry[];
+ }
+
+ export interface SchemaCompareCompletionResult extends azdata.ResultStatus {
+ operationId: string;
+ areEqual: boolean;
+ differences: DiffEntry[];
+ }
+
+ export interface DiffEntry {
+ updateAction: SchemaUpdateAction;
+ differenceType: SchemaDifferenceType;
+ name: string;
+ sourceValue: string[];
+ targetValue: string[];
+ parent: DiffEntry;
+ children: DiffEntry[];
+ sourceScript: string;
+ targetScript: string;
+ included: boolean;
+ }
+
+ export const enum SchemaUpdateAction {
+ Delete = 0,
+ Change = 1,
+ Add = 2
+ }
+
+ export const enum SchemaDifferenceType {
+ Object = 0,
+ Property = 1
+ }
+
+ export const enum SchemaCompareEndpointType {
+ Database = 0,
+ Dacpac = 1,
+ Project = 2,
+ // must be kept in-sync with SchemaCompareEndpointType in SQL Tools Service
+ // located at \src\Microsoft.SqlTools.ServiceLayer\SchemaCompare\Contracts\SchemaCompareRequest.cs
+ }
+
+ export interface SchemaCompareEndpointInfo {
+ endpointType: SchemaCompareEndpointType;
+ packageFilePath: string;
+ serverDisplayName: string;
+ serverName: string;
+ databaseName: string;
+ ownerUri: string;
+ connectionDetails: azdata.ConnectionInfo;
+ connectionName?: string;
+ projectFilePath: string;
+ targetScripts: string[];
+ folderStructure: string;
+ dataSchemaProvider: string;
+ }
+
+ export interface SchemaCompareObjectId {
+ nameParts: string[];
+ sqlObjectType: string;
+ }
+
+ export interface SchemaCompareOptionsResult extends azdata.ResultStatus {
+ defaultDeploymentOptions: DeploymentOptions;
+ }
+
+ export interface DeploymentOptions {
+ ignoreTableOptions: boolean;
+ ignoreSemicolonBetweenStatements: boolean;
+ ignoreRouteLifetime: boolean;
+ ignoreRoleMembership: boolean;
+ ignoreQuotedIdentifiers: boolean;
+ ignorePermissions: boolean;
+ ignorePartitionSchemes: boolean;
+ ignoreObjectPlacementOnPartitionScheme: boolean;
+ ignoreNotForReplication: boolean;
+ ignoreLoginSids: boolean;
+ ignoreLockHintsOnIndexes: boolean;
+ ignoreKeywordCasing: boolean;
+ ignoreIndexPadding: boolean;
+ ignoreIndexOptions: boolean;
+ ignoreIncrement: boolean;
+ ignoreIdentitySeed: boolean;
+ ignoreUserSettingsObjects: boolean;
+ ignoreFullTextCatalogFilePath: boolean;
+ ignoreWhitespace: boolean;
+ ignoreWithNocheckOnForeignKeys: boolean;
+ verifyCollationCompatibility: boolean;
+ unmodifiableObjectWarnings: boolean;
+ treatVerificationErrorsAsWarnings: boolean;
+ scriptRefreshModule: boolean;
+ scriptNewConstraintValidation: boolean;
+ scriptFileSize: boolean;
+ scriptDeployStateChecks: boolean;
+ scriptDatabaseOptions: boolean;
+ scriptDatabaseCompatibility: boolean;
+ scriptDatabaseCollation: boolean;
+ runDeploymentPlanExecutors: boolean;
+ registerDataTierApplication: boolean;
+ populateFilesOnFileGroups: boolean;
+ noAlterStatementsToChangeClrTypes: boolean;
+ includeTransactionalScripts: boolean;
+ includeCompositeObjects: boolean;
+ allowUnsafeRowLevelSecurityDataMovement: boolean;
+ ignoreWithNocheckOnCheckConstraints: boolean;
+ ignoreFillFactor: boolean;
+ ignoreFileSize: boolean;
+ ignoreFilegroupPlacement: boolean;
+ doNotAlterReplicatedObjects: boolean;
+ doNotAlterChangeDataCaptureObjects: boolean;
+ disableAndReenableDdlTriggers: boolean;
+ deployDatabaseInSingleUserMode: boolean;
+ createNewDatabase: boolean;
+ compareUsingTargetCollation: boolean;
+ commentOutSetVarDeclarations: boolean;
+ blockWhenDriftDetected: boolean;
+ blockOnPossibleDataLoss: boolean;
+ backupDatabaseBeforeChanges: boolean;
+ allowIncompatiblePlatform: boolean;
+ allowDropBlockingAssemblies: boolean;
+ dropConstraintsNotInSource: boolean;
+ dropDmlTriggersNotInSource: boolean;
+ dropExtendedPropertiesNotInSource: boolean;
+ dropIndexesNotInSource: boolean;
+ ignoreFileAndLogFilePath: boolean;
+ ignoreExtendedProperties: boolean;
+ ignoreDmlTriggerState: boolean;
+ ignoreDmlTriggerOrder: boolean;
+ ignoreDefaultSchema: boolean;
+ ignoreDdlTriggerState: boolean;
+ ignoreDdlTriggerOrder: boolean;
+ ignoreCryptographicProviderFilePath: boolean;
+ verifyDeployment: boolean;
+ ignoreComments: boolean;
+ ignoreColumnCollation: boolean;
+ ignoreAuthorizer: boolean;
+ ignoreAnsiNulls: boolean;
+ generateSmartDefaults: boolean;
+ dropStatisticsNotInSource: boolean;
+ dropRoleMembersNotInSource: boolean;
+ dropPermissionsNotInSource: boolean;
+ dropObjectsNotInSource: boolean;
+ ignoreColumnOrder: boolean;
+ doNotDropObjectTypes: SchemaObjectType[];
+ excludeObjectTypes: SchemaObjectType[];
+ }
+
+ /**
+ * Values from \Product\Source\DeploymentApi\ObjectTypes.cs
+ */
+ export const enum SchemaObjectType {
+ Aggregates = 0,
+ ApplicationRoles = 1,
+ Assemblies = 2,
+ AssemblyFiles = 3,
+ AsymmetricKeys = 4,
+ BrokerPriorities = 5,
+ Certificates = 6,
+ ColumnEncryptionKeys = 7,
+ ColumnMasterKeys = 8,
+ Contracts = 9,
+ DatabaseOptions = 10,
+ DatabaseRoles = 11,
+ DatabaseTriggers = 12,
+ Defaults = 13,
+ ExtendedProperties = 14,
+ ExternalDataSources = 15,
+ ExternalFileFormats = 16,
+ ExternalTables = 17,
+ Filegroups = 18,
+ Files = 19,
+ FileTables = 20,
+ FullTextCatalogs = 21,
+ FullTextStoplists = 22,
+ MessageTypes = 23,
+ PartitionFunctions = 24,
+ PartitionSchemes = 25,
+ Permissions = 26,
+ Queues = 27,
+ RemoteServiceBindings = 28,
+ RoleMembership = 29,
+ Rules = 30,
+ ScalarValuedFunctions = 31,
+ SearchPropertyLists = 32,
+ SecurityPolicies = 33,
+ Sequences = 34,
+ Services = 35,
+ Signatures = 36,
+ StoredProcedures = 37,
+ SymmetricKeys = 38,
+ Synonyms = 39,
+ Tables = 40,
+ TableValuedFunctions = 41,
+ UserDefinedDataTypes = 42,
+ UserDefinedTableTypes = 43,
+ ClrUserDefinedTypes = 44,
+ Users = 45,
+ Views = 46,
+ XmlSchemaCollections = 47,
+ Audits = 48,
+ Credentials = 49,
+ CryptographicProviders = 50,
+ DatabaseAuditSpecifications = 51,
+ DatabaseEncryptionKeys = 52,
+ DatabaseScopedCredentials = 53,
+ Endpoints = 54,
+ ErrorMessages = 55,
+ EventNotifications = 56,
+ EventSessions = 57,
+ LinkedServerLogins = 58,
+ LinkedServers = 59,
+ Logins = 60,
+ MasterKeys = 61,
+ Routes = 62,
+ ServerAuditSpecifications = 63,
+ ServerRoleMembership = 64,
+ ServerRoles = 65,
+ ServerTriggers = 66,
+ ExternalStreams = 67,
+ ExternalStreamingJobs = 68
+ }
+
+ export interface SchemaCompareObjectId {
+ nameParts: string[];
+ sqlObjectType: string;
+ }
+
+ export interface ISchemaCompareService {
+ schemaCompare(operationId: string, sourceEndpointInfo: SchemaCompareEndpointInfo, targetEndpointInfo: SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: DeploymentOptions): Thenable;
+ schemaCompareGenerateScript(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
+ schemaComparePublishChanges(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
+ schemaComparePublishDatabaseChanges(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
+ schemaComparePublishProjectChanges(operationId: string, targetProjectPath: string, targetFolderStructure: ExtractTarget, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
+ schemaCompareGetDefaultOptions(): Thenable;
+ schemaCompareIncludeExcludeNode(operationId: string, diffEntry: DiffEntry, IncludeRequest: boolean, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
+ schemaCompareOpenScmp(filePath: string): Thenable;
+ schemaCompareSaveScmp(sourceEndpointInfo: SchemaCompareEndpointInfo, targetEndpointInfo: SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: DeploymentOptions, scmpFilePath: string, excludedSourceObjects: SchemaCompareObjectId[], excludedTargetObjects: SchemaCompareObjectId[]): Thenable;
+ schemaCompareCancel(operationId: string): Thenable;
+ }
+
+ export interface SchemaCompareOpenScmpResult extends azdata.ResultStatus {
+ sourceEndpointInfo: SchemaCompareEndpointInfo;
+ targetEndpointInfo: SchemaCompareEndpointInfo;
+ originalTargetName: string;
+ originalConnectionString: string;
+ deploymentOptions: DeploymentOptions;
+ excludedSourceElements: SchemaCompareObjectId[];
+ excludedTargetElements: SchemaCompareObjectId[];
+ }
+
+ export interface SchemaComparePublishProjectResult extends azdata.ResultStatus {
+ changedFiles: string[];
+ addedFiles: string[];
+ deletedFiles: string[];
+ }
+
+ //#endregion
+
+ //#region --- dacfx
+ export const enum ExtractTarget {
+ dacpac = 0,
+ file = 1,
+ flat = 2,
+ objectType = 3,
+ schema = 4,
+ schemaObjectType = 5
+ }
+
+ export interface IDacFxService {
+ exportBacpac(databaseName: string, packageFilePath: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
+ importBacpac(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
+ extractDacpac(databaseName: string, packageFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
+ createProjectFromDatabase(databaseName: string, targetFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, extractTarget: ExtractTarget, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
+ deployDacpac(packageFilePath: string, databaseName: string, upgradeExisting: boolean, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode, sqlCommandVariableValues?: Record, deploymentOptions?: DeploymentOptions): Thenable;
+ generateDeployScript(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode, sqlCommandVariableValues?: Record, deploymentOptions?: DeploymentOptions): Thenable;
+ generateDeployPlan(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
+ getOptionsFromProfile(profilePath: string): Thenable;
+ validateStreamingJob(packageFilePath: string, createStreamingJobTsql: string): Thenable;
+ }
+
+ export interface DacFxResult extends azdata.ResultStatus {
+ operationId: string;
+ }
+
+ export interface GenerateDeployPlanResult extends DacFxResult {
+ report: string;
+ }
+
+ export interface DacFxOptionsResult extends azdata.ResultStatus {
+ deploymentOptions: DeploymentOptions;
+ }
+
+ export interface ValidateStreamingJobResult extends azdata.ResultStatus {
+ }
+
+ export interface ExportParams {
+ databaseName: string;
+ packageFilePath: string;
+ ownerUri: string;
+ taskExecutionMode: azdata.TaskExecutionMode;
+ }
+
+ export interface ImportParams {
+ packageFilePath: string;
+ databaseName: string;
+ ownerUri: string;
+ taskExecutionMode: azdata.TaskExecutionMode;
+ }
+
+ export interface ExtractParams {
+ databaseName: string;
+ packageFilePath: string;
+ applicationName: string;
+ applicationVersion: string;
+ ownerUri: string;
+ extractTarget?: ExtractTarget;
+ taskExecutionMode: azdata.TaskExecutionMode;
+ }
+
+ export interface DeployParams {
+ packageFilePath: string;
+ databaseName: string;
+ upgradeExisting: boolean;
+ ownerUri: string;
+ taskExecutionMode: azdata.TaskExecutionMode;
+ }
+
+ export interface GenerateDeployScriptParams {
+ packageFilePath: string;
+ databaseName: string;
+ ownerUri: string;
+ taskExecutionMode: azdata.TaskExecutionMode;
+ }
+
+ export interface GenerateDeployPlan {
+ packageFilePath: string;
+ databaseName: string;
+ ownerUri: string;
+ taskExecutionMode: azdata.TaskExecutionMode;
+ }
+
+ //#endregion
+
+ //#region --- Language Extensibility
+ export interface ExternalLanguageContent {
+ pathToExtension: string;
+ extensionFileName: string;
+ platform?: string;
+ parameters?: string;
+ environmentVariables?: string;
+ isLocalFile: boolean;
+ }
+
+ export interface ExternalLanguage {
+ name: string;
+ owner?: string;
+ contents: ExternalLanguageContent[];
+ createdDate?: string;
+ }
+
+ export interface ILanguageExtensionService {
+ listLanguages(ownerUri: string): Thenable;
+ deleteLanguage(ownerUri: string, languageName: string): Thenable;
+ updateLanguage(ownerUri: string, language: ExternalLanguage): Thenable;
+ }
+ //#endregion
+
+ //#region --- cms
+ /**
*
+ * Interface containing all CMS related operations
*/
- readonly cmsService: ICmsService;
+ export interface ICmsService {
+ /**
+ * Connects to or creates a Central management Server
+ */
+ createCmsServer(name: string, description: string, connectiondetails: azdata.ConnectionInfo, ownerUri: string): Thenable;
- readonly schemaCompare: ISchemaCompareService;
+ /**
+ * gets all Registered Servers inside a CMS on a particular level
+ */
+ getRegisteredServers(ownerUri: string, relativePath: string): Thenable;
- readonly languageExtension: ILanguageExtensionService;
+ /**
+ * Adds a Registered Server inside a CMS on a particular level
+ */
+ addRegisteredServer(ownerUri: string, relativePath: string, registeredServerName: string, registeredServerDescription: string, connectionDetails: azdata.ConnectionInfo): Thenable;
- readonly dacFx: IDacFxService;
+ /**
+ * Removes a Registered Server inside a CMS on a particular level
+ */
+ removeRegisteredServer(ownerUri: string, relativePath: string, registeredServerName: string): Thenable;
- readonly sqlAssessment: ISqlAssessmentService;
+ /**
+ * Adds a Server Group inside a CMS on a particular level
+ */
+ addServerGroup(ownerUri: string, relativePath: string, groupName: string, groupDescription: string): Thenable;
- readonly sqlMigration: ISqlMigrationService;
-}
-
-/**
- * A browser supporting actions over the object explorer connections provided by this extension.
- * Currently this is the
- */
-export interface MssqlObjectExplorerBrowser {
+ /**
+ * Removes a Server Group inside a CMS on a particular level
+ */
+ removeServerGroup(ownerUri: string, relativePath: string, groupName: string): Thenable;
+ }
/**
- * Gets the matching node given a context object, e.g. one from a right-click on a node in Object Explorer
+ * CMS Result interfaces as passed back to Extensions
*/
- getNode(objectExplorerContext: azdata.ObjectExplorerContext): Thenable;
-}
+ export interface RegisteredServerResult {
+ name: string;
+ serverName: string;
+ description: string;
+ connectionDetails: azdata.ConnectionInfo;
+ relativePath: string;
+ }
-/**
- * A tree node in the object explorer tree
- */
-export interface ITreeNode {
- getNodeInfo(): azdata.NodeInfo;
- getChildren(refreshChildren: boolean): ITreeNode[] | Thenable;
-}
+ export interface RegisteredServerGroup {
+ name: string;
+ description: string;
+ relativePath: string;
+ }
-/**
- * A HDFS file node. This is a leaf node in the object explorer tree, and its contents
- * can be queried
- */
-export interface IFileNode extends ITreeNode {
- getFileContentsAsString(maxBytes?: number): Thenable;
-}
-
-//#region --- schema compare
-export interface SchemaCompareResult extends azdata.ResultStatus {
- operationId: string;
- areEqual: boolean;
- differences: DiffEntry[];
-}
-
-export interface SchemaCompareIncludeExcludeResult extends azdata.ResultStatus {
- affectedDependencies: DiffEntry[];
- blockingDependencies: DiffEntry[];
-}
-
-export interface SchemaCompareCompletionResult extends azdata.ResultStatus {
- operationId: string;
- areEqual: boolean;
- differences: DiffEntry[];
-}
-
-export interface DiffEntry {
- updateAction: SchemaUpdateAction;
- differenceType: SchemaDifferenceType;
- name: string;
- sourceValue: string[];
- targetValue: string[];
- parent: DiffEntry;
- children: DiffEntry[];
- sourceScript: string;
- targetScript: string;
- included: boolean;
-}
-
-export const enum SchemaUpdateAction {
- Delete = 0,
- Change = 1,
- Add = 2
-}
-
-export const enum SchemaDifferenceType {
- Object = 0,
- Property = 1
-}
-
-export const enum SchemaCompareEndpointType {
- Database = 0,
- Dacpac = 1,
- Project = 2,
- // must be kept in-sync with SchemaCompareEndpointType in SQL Tools Service
- // located at \src\Microsoft.SqlTools.ServiceLayer\SchemaCompare\Contracts\SchemaCompareRequest.cs
-}
-
-export interface SchemaCompareEndpointInfo {
- endpointType: SchemaCompareEndpointType;
- packageFilePath: string;
- serverDisplayName: string;
- serverName: string;
- databaseName: string;
- ownerUri: string;
- connectionDetails: azdata.ConnectionInfo;
- connectionName?: string;
- projectFilePath: string;
- targetScripts: string[];
- folderStructure: string;
- dataSchemaProvider: string;
-}
-
-export interface SchemaCompareObjectId {
- nameParts: string[];
- sqlObjectType: string;
-}
-
-export interface SchemaCompareOptionsResult extends azdata.ResultStatus {
- defaultDeploymentOptions: DeploymentOptions;
-}
-
-export interface DeploymentOptions {
- ignoreTableOptions: boolean;
- ignoreSemicolonBetweenStatements: boolean;
- ignoreRouteLifetime: boolean;
- ignoreRoleMembership: boolean;
- ignoreQuotedIdentifiers: boolean;
- ignorePermissions: boolean;
- ignorePartitionSchemes: boolean;
- ignoreObjectPlacementOnPartitionScheme: boolean;
- ignoreNotForReplication: boolean;
- ignoreLoginSids: boolean;
- ignoreLockHintsOnIndexes: boolean;
- ignoreKeywordCasing: boolean;
- ignoreIndexPadding: boolean;
- ignoreIndexOptions: boolean;
- ignoreIncrement: boolean;
- ignoreIdentitySeed: boolean;
- ignoreUserSettingsObjects: boolean;
- ignoreFullTextCatalogFilePath: boolean;
- ignoreWhitespace: boolean;
- ignoreWithNocheckOnForeignKeys: boolean;
- verifyCollationCompatibility: boolean;
- unmodifiableObjectWarnings: boolean;
- treatVerificationErrorsAsWarnings: boolean;
- scriptRefreshModule: boolean;
- scriptNewConstraintValidation: boolean;
- scriptFileSize: boolean;
- scriptDeployStateChecks: boolean;
- scriptDatabaseOptions: boolean;
- scriptDatabaseCompatibility: boolean;
- scriptDatabaseCollation: boolean;
- runDeploymentPlanExecutors: boolean;
- registerDataTierApplication: boolean;
- populateFilesOnFileGroups: boolean;
- noAlterStatementsToChangeClrTypes: boolean;
- includeTransactionalScripts: boolean;
- includeCompositeObjects: boolean;
- allowUnsafeRowLevelSecurityDataMovement: boolean;
- ignoreWithNocheckOnCheckConstraints: boolean;
- ignoreFillFactor: boolean;
- ignoreFileSize: boolean;
- ignoreFilegroupPlacement: boolean;
- doNotAlterReplicatedObjects: boolean;
- doNotAlterChangeDataCaptureObjects: boolean;
- disableAndReenableDdlTriggers: boolean;
- deployDatabaseInSingleUserMode: boolean;
- createNewDatabase: boolean;
- compareUsingTargetCollation: boolean;
- commentOutSetVarDeclarations: boolean;
- blockWhenDriftDetected: boolean;
- blockOnPossibleDataLoss: boolean;
- backupDatabaseBeforeChanges: boolean;
- allowIncompatiblePlatform: boolean;
- allowDropBlockingAssemblies: boolean;
- dropConstraintsNotInSource: boolean;
- dropDmlTriggersNotInSource: boolean;
- dropExtendedPropertiesNotInSource: boolean;
- dropIndexesNotInSource: boolean;
- ignoreFileAndLogFilePath: boolean;
- ignoreExtendedProperties: boolean;
- ignoreDmlTriggerState: boolean;
- ignoreDmlTriggerOrder: boolean;
- ignoreDefaultSchema: boolean;
- ignoreDdlTriggerState: boolean;
- ignoreDdlTriggerOrder: boolean;
- ignoreCryptographicProviderFilePath: boolean;
- verifyDeployment: boolean;
- ignoreComments: boolean;
- ignoreColumnCollation: boolean;
- ignoreAuthorizer: boolean;
- ignoreAnsiNulls: boolean;
- generateSmartDefaults: boolean;
- dropStatisticsNotInSource: boolean;
- dropRoleMembersNotInSource: boolean;
- dropPermissionsNotInSource: boolean;
- dropObjectsNotInSource: boolean;
- ignoreColumnOrder: boolean;
- doNotDropObjectTypes: SchemaObjectType[];
- excludeObjectTypes: SchemaObjectType[];
-}
-
-/**
- * Values from \Product\Source\DeploymentApi\ObjectTypes.cs
- */
-export const enum SchemaObjectType {
- Aggregates = 0,
- ApplicationRoles = 1,
- Assemblies = 2,
- AssemblyFiles = 3,
- AsymmetricKeys = 4,
- BrokerPriorities = 5,
- Certificates = 6,
- ColumnEncryptionKeys = 7,
- ColumnMasterKeys = 8,
- Contracts = 9,
- DatabaseOptions = 10,
- DatabaseRoles = 11,
- DatabaseTriggers = 12,
- Defaults = 13,
- ExtendedProperties = 14,
- ExternalDataSources = 15,
- ExternalFileFormats = 16,
- ExternalTables = 17,
- Filegroups = 18,
- Files = 19,
- FileTables = 20,
- FullTextCatalogs = 21,
- FullTextStoplists = 22,
- MessageTypes = 23,
- PartitionFunctions = 24,
- PartitionSchemes = 25,
- Permissions = 26,
- Queues = 27,
- RemoteServiceBindings = 28,
- RoleMembership = 29,
- Rules = 30,
- ScalarValuedFunctions = 31,
- SearchPropertyLists = 32,
- SecurityPolicies = 33,
- Sequences = 34,
- Services = 35,
- Signatures = 36,
- StoredProcedures = 37,
- SymmetricKeys = 38,
- Synonyms = 39,
- Tables = 40,
- TableValuedFunctions = 41,
- UserDefinedDataTypes = 42,
- UserDefinedTableTypes = 43,
- ClrUserDefinedTypes = 44,
- Users = 45,
- Views = 46,
- XmlSchemaCollections = 47,
- Audits = 48,
- Credentials = 49,
- CryptographicProviders = 50,
- DatabaseAuditSpecifications = 51,
- DatabaseEncryptionKeys = 52,
- DatabaseScopedCredentials = 53,
- Endpoints = 54,
- ErrorMessages = 55,
- EventNotifications = 56,
- EventSessions = 57,
- LinkedServerLogins = 58,
- LinkedServers = 59,
- Logins = 60,
- MasterKeys = 61,
- Routes = 62,
- ServerAuditSpecifications = 63,
- ServerRoleMembership = 64,
- ServerRoles = 65,
- ServerTriggers = 66,
- ExternalStreams = 67,
- ExternalStreamingJobs = 68
-}
-
-export interface SchemaCompareObjectId {
- nameParts: string[];
- sqlObjectType: string;
-}
-
-export interface ISchemaCompareService {
- schemaCompare(operationId: string, sourceEndpointInfo: SchemaCompareEndpointInfo, targetEndpointInfo: SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: DeploymentOptions): Thenable;
- schemaCompareGenerateScript(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
- schemaComparePublishChanges(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
- schemaComparePublishDatabaseChanges(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
- schemaComparePublishProjectChanges(operationId: string, targetProjectPath: string, targetFolderStructure: ExtractTarget, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
- schemaCompareGetDefaultOptions(): Thenable;
- schemaCompareIncludeExcludeNode(operationId: string, diffEntry: DiffEntry, IncludeRequest: boolean, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
- schemaCompareOpenScmp(filePath: string): Thenable;
- schemaCompareSaveScmp(sourceEndpointInfo: SchemaCompareEndpointInfo, targetEndpointInfo: SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: DeploymentOptions, scmpFilePath: string, excludedSourceObjects: SchemaCompareObjectId[], excludedTargetObjects: SchemaCompareObjectId[]): Thenable;
- schemaCompareCancel(operationId: string): Thenable;
-}
-
-export interface SchemaCompareOpenScmpResult extends azdata.ResultStatus {
- sourceEndpointInfo: SchemaCompareEndpointInfo;
- targetEndpointInfo: SchemaCompareEndpointInfo;
- originalTargetName: string;
- originalConnectionString: string;
- deploymentOptions: DeploymentOptions;
- excludedSourceElements: SchemaCompareObjectId[];
- excludedTargetElements: SchemaCompareObjectId[];
-}
-
-export interface SchemaComparePublishProjectResult extends azdata.ResultStatus {
- changedFiles: string[];
- addedFiles: string[];
- deletedFiles: string[];
-}
-
-//#endregion
-
-//#region --- dacfx
-export const enum ExtractTarget {
- dacpac = 0,
- file = 1,
- flat = 2,
- objectType = 3,
- schema = 4,
- schemaObjectType = 5
-}
-
-export interface IDacFxService {
- exportBacpac(databaseName: string, packageFilePath: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
- importBacpac(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
- extractDacpac(databaseName: string, packageFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
- createProjectFromDatabase(databaseName: string, targetFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, extractTarget: ExtractTarget, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
- deployDacpac(packageFilePath: string, databaseName: string, upgradeExisting: boolean, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode, sqlCommandVariableValues?: Record, deploymentOptions?: DeploymentOptions): Thenable;
- generateDeployScript(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode, sqlCommandVariableValues?: Record, deploymentOptions?: DeploymentOptions): Thenable;
- generateDeployPlan(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable;
- getOptionsFromProfile(profilePath: string): Thenable;
- validateStreamingJob(packageFilePath: string, createStreamingJobTsql: string): Thenable;
-}
-
-export interface DacFxResult extends azdata.ResultStatus {
- operationId: string;
-}
-
-export interface GenerateDeployPlanResult extends DacFxResult {
- report: string;
-}
-
-export interface DacFxOptionsResult extends azdata.ResultStatus {
- deploymentOptions: DeploymentOptions;
-}
-
-export interface ValidateStreamingJobResult extends azdata.ResultStatus {
-}
-
-export interface ExportParams {
- databaseName: string;
- packageFilePath: string;
- ownerUri: string;
- taskExecutionMode: azdata.TaskExecutionMode;
-}
-
-export interface ImportParams {
- packageFilePath: string;
- databaseName: string;
- ownerUri: string;
- taskExecutionMode: azdata.TaskExecutionMode;
-}
-
-export interface ExtractParams {
- databaseName: string;
- packageFilePath: string;
- applicationName: string;
- applicationVersion: string;
- ownerUri: string;
- extractTarget?: ExtractTarget;
- taskExecutionMode: azdata.TaskExecutionMode;
-}
-
-export interface DeployParams {
- packageFilePath: string;
- databaseName: string;
- upgradeExisting: boolean;
- ownerUri: string;
- taskExecutionMode: azdata.TaskExecutionMode;
-}
-
-export interface GenerateDeployScriptParams {
- packageFilePath: string;
- databaseName: string;
- ownerUri: string;
- taskExecutionMode: azdata.TaskExecutionMode;
-}
-
-export interface GenerateDeployPlan {
- packageFilePath: string;
- databaseName: string;
- ownerUri: string;
- taskExecutionMode: azdata.TaskExecutionMode;
-}
-
-//#endregion
-
-//#region --- Language Extensibility
-export interface ExternalLanguageContent {
- pathToExtension: string;
- extensionFileName: string;
- platform?: string;
- parameters?: string;
- environmentVariables?: string;
- isLocalFile: boolean;
-}
-
-export interface ExternalLanguage {
- name: string;
- owner?: string;
- contents: ExternalLanguageContent[];
- createdDate?: string;
-}
-
-export interface ILanguageExtensionService {
- listLanguages(ownerUri: string): Thenable;
- deleteLanguage(ownerUri: string, languageName: string): Thenable;
- updateLanguage(ownerUri: string, language: ExternalLanguage): Thenable;
-}
-//#endregion
-
-//#region --- cms
-/**
- *
- * Interface containing all CMS related operations
- */
-export interface ICmsService {
- /**
- * Connects to or creates a Central management Server
- */
- createCmsServer(name: string, description: string, connectiondetails: azdata.ConnectionInfo, ownerUri: string): Thenable;
+ export interface ListRegisteredServersResult {
+ registeredServersList: Array;
+ registeredServerGroups: Array;
+ }
+ //#endregion
/**
- * gets all Registered Servers inside a CMS on a particular level
+ * Sql Assessment
*/
- getRegisteredServers(ownerUri: string, relativePath: string): Thenable;
+
+ // SqlAssessment interfaces -----------------------------------------------------------------------
+
+
+
+ export interface ISqlAssessmentService {
+ assessmentInvoke(ownerUri: string, targetType: azdata.sqlAssessment.SqlAssessmentTargetType): Promise;
+ getAssessmentItems(ownerUri: string, targetType: azdata.sqlAssessment.SqlAssessmentTargetType): Promise;
+ generateAssessmentScript(items: azdata.SqlAssessmentResultItem[], targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Promise;
+ }
+
/**
- * Adds a Registered Server inside a CMS on a particular level
+ * Sql Migration
*/
- addRegisteredServer(ownerUri: string, relativePath: string, registeredServerName: string, registeredServerDescription: string, connectionDetails: azdata.ConnectionInfo): Thenable;
- /**
- * Removes a Registered Server inside a CMS on a particular level
- */
- removeRegisteredServer(ownerUri: string, relativePath: string, registeredServerName: string): Thenable;
+ // SKU recommendation interfaces, mirrored from Microsoft.SqlServer.Migration.SkuRecommendation
+ export interface AzureSqlSkuCategory {
+ sqlTargetPlatform: AzureSqlTargetPlatform;
+ computeTier: ComputeTier;
+ }
- /**
- * Adds a Server Group inside a CMS on a particular level
- */
- addServerGroup(ownerUri: string, relativePath: string, groupName: string, groupDescription: string): Thenable;
+ export interface AzureSqlSkuPaaSCategory extends AzureSqlSkuCategory {
+ sqlPurchasingModel: AzureSqlPurchasingModel;
+ sqlServiceTier: AzureSqlPaaSServiceTier;
+ hardwareType: AzureSqlPaaSHardwareType;
+ }
- /**
- * Removes a Server Group inside a CMS on a particular level
- */
- removeServerGroup(ownerUri: string, relativePath: string, groupName: string): Thenable;
-}
-/**
- * CMS Result interfaces as passed back to Extensions
- */
-export interface RegisteredServerResult {
- name: string;
- serverName: string;
- description: string;
- connectionDetails: azdata.ConnectionInfo;
- relativePath: string;
-}
-
-export interface RegisteredServerGroup {
- name: string;
- description: string;
- relativePath: string;
-}
-
-export interface ListRegisteredServersResult {
- registeredServersList: Array;
- registeredServerGroups: Array;
-}
-//#endregion
-
-/**
- * Sql Assessment
- */
-
-// SqlAssessment interfaces -----------------------------------------------------------------------
-
-
-
-export interface ISqlAssessmentService {
- assessmentInvoke(ownerUri: string, targetType: azdata.sqlAssessment.SqlAssessmentTargetType): Promise;
- getAssessmentItems(ownerUri: string, targetType: azdata.sqlAssessment.SqlAssessmentTargetType): Promise;
- generateAssessmentScript(items: azdata.SqlAssessmentResultItem[], targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Promise;
-}
-
-
-/**
- * Sql Migration
- */
-
-// SqlMigration interfaces -----------------------------------------------------------------------
-
-export interface SqlMigrationImpactedObjectInfo {
- name: string;
- impactDetail: string;
- objectType: string;
-}
-
-export interface SqlMigrationAssessmentResultItem {
- rulesetVersion: string;
- rulesetName: string;
- ruleId: string;
- targetType: string;
- checkId: string;
- tags: string[];
- displayName: string;
- description: string;
- helpLink: string;
- level: string;
- timestamp: string;
- kind: azdata.sqlAssessment.SqlAssessmentResultItemKind;
- message: string;
- appliesToMigrationTargetPlatform: string;
- issueCategory: string;
- databaseName: string;
- impactedObjects: SqlMigrationImpactedObjectInfo[];
- databaseRestoreFails: boolean;
-}
-
-export interface ServerTargetReadiness {
- numberOfDatabasesReadyForMigration: number;
- numberOfNonOnlineDatabases: number;
- totalNumberOfDatabases: number;
-}
-
-export interface ErrorModel {
- errorId: number;
- message: string;
- errorSummary: string;
- possibleCauses: string;
- guidance: string;
-}
-
-export interface DatabaseTargetReadiness {
- noSelectionForMigration: boolean;
- numOfBlockerIssues: number;
-}
-
-export interface DatabaseAssessmentProperties {
- compatibilityLevel: string;
- databaseSize: number;
- isReplicationEnabled: boolean;
- assessmentTimeInMilliseconds: number;
- items: SqlMigrationAssessmentResultItem[];
- errors: ErrorModel[];
- sqlManagedInstanceTargetReadiness: DatabaseTargetReadiness;
- name: string;
-}
-
-export interface ServerAssessmentProperties {
- cpuCoreCount: number;
- physicalServerMemory: number;
- serverHostPlatform: string;
- serverVersion: string;
- serverEngineEdition: string;
- serverEdition: string;
- isClustered: boolean;
- numberOfUserDatabases: number;
- sqlAssessmentStatus: number;
- assessedDatabaseCount: number;
- sqlManagedInstanceTargetReadiness: ServerTargetReadiness;
- items: SqlMigrationAssessmentResultItem[];
- errors: ErrorModel[];
- databases: DatabaseAssessmentProperties[];
- name: string;
-}
-
-export interface AssessmentResult {
- startTime: string;
- endedTime: string;
- assessmentResult: ServerAssessmentProperties;
- rawAssessmentResult: any;
- errors: ErrorModel[];
-}
-
-// SKU recommendation interfaces, mirrored from Microsoft.SqlServer.Migration.SkuRecommendation
-export interface AzureSqlSkuCategory {
- sqlTargetPlatform: AzureSqlTargetPlatform;
- computeTier: ComputeTier;
-}
-
-export interface AzureSqlSkuPaaSCategory extends AzureSqlSkuCategory {
- sqlPurchasingModel: AzureSqlPurchasingModel;
- sqlServiceTier: AzureSqlPaaSServiceTier;
- hardwareType: AzureSqlPaaSHardwareType;
-}
-
-export interface AzureSqlSkuIaaSCategory extends AzureSqlSkuCategory {
- virtualMachineFamilyType: VirtualMachineFamilyType;
-}
-
-export interface AzureManagedDiskSku {
- tier: AzureManagedDiskTier;
- size: string;
- caching: AzureManagedDiskCaching;
-}
-
-export interface AzureVirtualMachineSku {
- virtualMachineFamily: VirtualMachineFamily;
- sizeName: string;
- computeSize: number;
- azureSkuName: string;
- vCPUsAvailable: number;
-}
-
-export interface AzureSqlSkuMonthlyCost {
- computeCost: number;
- storageCost: number;
- totalCost: number;
-}
-
-export interface AzureSqlSku {
- category: AzureSqlSkuPaaSCategory | AzureSqlSkuIaaSCategory;
- computeSize: number;
- predictedDataSizeInMb: number;
- predictedLogSizeInMb: number;
-}
-
-export interface AzureSqlPaaSSku extends AzureSqlSku {
- category: AzureSqlSkuPaaSCategory;
- storageMaxSizeInMb: number;
-}
-
-export interface AzureSqlIaaSSku extends AzureSqlSku {
- category: AzureSqlSkuIaaSCategory;
- virtualMachineSize: AzureVirtualMachineSku;
- dataDiskSizes: AzureManagedDiskSku[];
- logDiskSizes: AzureManagedDiskSku[];
- tempDbDiskSizes: AzureManagedDiskSku[];
-}
-
-export interface SkuRecommendationResultItem {
- sqlInstanceName: string;
- databaseName: string;
- targetSku: AzureSqlIaaSSku | AzureSqlPaaSSku;
- monthlyCost: AzureSqlSkuMonthlyCost;
- ranking: number;
- positiveJustifications: string[];
- negativeJustifications: string[];
-}
-
-export interface SqlInstanceRequirements {
- cpuRequirementInCores: number;
- dataStorageRequirementInMB: number;
- logStorageRequirementInMB: number;
- memoryRequirementInMB: number;
- dataIOPSRequirement: number;
- logIOPSRequirement: number;
- ioLatencyRequirementInMs: number;
- ioThroughputRequirementInMBps: number;
- tempDBSizeInMB: number;
- dataPointsStartTime: string;
- dataPointsEndTime: string;
- aggregationTargetPercentile: number;
- perfDataCollectionIntervalInSeconds: number;
- databaseLevelRequirements: SqlDatabaseRequirements[];
- numberOfDataPointsAnalyzed: number;
-}
-
-export interface SqlDatabaseRequirements {
- cpuRequirementInCores: number;
- dataIOPSRequirement: number;
- logIOPSRequirement: number;
- ioLatencyRequirementInMs: number;
- ioThroughputRequirementInMBps: number;
- dataStorageRequirementInMB: number;
- logStorageRequirementInMB: number;
- databaseName: string;
- memoryRequirementInMB: number;
- cpuRequirementInPercentageOfTotalInstance: number;
- numberOfDataPointsAnalyzed: number;
- fileLevelRequirements: SqlFileRequirements[];
-}
-
-export interface SqlFileRequirements {
- fileName: string;
- fileType: DatabaseFileType;
- sizeInMB: number;
- readLatencyInMs: number;
- writeLatencyInMs: number;
- iopsRequirement: number;
- ioThroughputRequirementInMBps: number;
- numberOfDataPointsAnalyzed: number;
-}
-
-export interface PaaSSkuRecommendationResultItem extends SkuRecommendationResultItem {
- targetSku: AzureSqlPaaSSku;
-}
-
-export interface IaaSSkuRecommendationResultItem extends SkuRecommendationResultItem {
- targetSku: AzureSqlIaaSSku;
-}
-
-export interface SkuRecommendationResult {
- sqlDbRecommendationResults: PaaSSkuRecommendationResultItem[];
- sqlMiRecommendationResults: PaaSSkuRecommendationResultItem[];
- sqlVmRecommendationResults: IaaSSkuRecommendationResultItem[];
- instanceRequirements: SqlInstanceRequirements;
-}
-
-// SKU recommendation enums, mirrored from Microsoft.SqlServer.Migration.SkuRecommendation
-export const enum DatabaseFileType {
- Rows = 0,
- Log = 1,
- Filestream = 2,
- NotSupported = 3,
- Fulltext = 4
-}
-
-export const enum AzureSqlTargetPlatform {
- AzureSqlDatabase = 0,
- AzureSqlManagedInstance = 1,
- AzureSqlVirtualMachine = 2
-}
-
-export const enum ComputeTier {
- Provisioned = 0,
- ServerLess = 1
-}
-
-export const enum AzureManagedDiskTier {
- Standard = 0,
- Premium = 1,
- Ultra = 2
-}
-
-export const enum AzureManagedDiskCaching {
- NotApplicable = 0,
- None = 1,
- ReadOnly = 2,
- ReadWrite = 3
-}
-
-export const enum AzureSqlPurchasingModel {
- vCore = 0,
-}
-
-export const enum AzureSqlPaaSServiceTier {
- GeneralPurpose = 0,
- BusinessCritical,
- HyperScale,
-}
-
-export const enum AzureSqlPaaSHardwareType {
- Gen5 = 0,
- PremiumSeries,
- PremiumSeriesMemoryOptimized
-}
-
-export const enum VirtualMachineFamilyType {
- GeneralPurpose,
- ComputeOptimized,
- MemoryOptimized,
- StorageOptimized,
- GPU,
- HighPerformanceCompute
-}
-
-export const enum VirtualMachineFamily {
- basicAFamily,
- standardA0_A7Family,
- standardAv2Family,
- standardBSFamily,
- standardDFamily,
- standardDv2Family,
- standardDv2PromoFamily,
- standardDADSv5Family,
- standardDASv4Family,
- standardDASv5Family,
- standardDAv4Family,
- standardDDSv4Family,
- standardDDSv5Family,
- standardDDv4Family,
- standardDDv5Family,
- standardDSv3Family,
- standardDSv4Family,
- standardDSv5Family,
- standardDv3Family,
- standardDv4Family,
- standardDv5Family,
- standardDCADSv5Family,
- standardDCASv5Family,
- standardDCSv2Family,
- standardDSFamily,
- standardDSv2Family,
- standardDSv2PromoFamily,
- standardEIDSv5Family,
- standardEIDv5Family,
- standardEISv5Family,
- standardEIv5Family,
- standardEADSv5Family,
- standardEASv4Family,
- standardEASv5Family,
- standardEDSv4Family,
- standardEDSv5Family,
- standardEBDSv5Family,
- standardESv3Family,
- standardESv4Family,
- standardESv5Family,
- standardEBSv5Family,
- standardEAv4Family,
- standardEDv4Family,
- standardEDv5Family,
- standardEv3Family,
- standardEv4Family,
- standardEv5Family,
- standardEISv3Family,
- standardEIv3Family,
- standardXEIDSv4Family,
- standardXEISv4Family,
- standardECADSv5Family,
- standardECASv5Family,
- standardECIADSv5Family,
- standardECIASv5Family,
- standardFFamily,
- standardFSFamily,
- standardFSv2Family,
- standardGFamily,
- standardGSFamily,
- standardHFamily,
- standardHPromoFamily,
- standardLSFamily,
- standardLSv2Family,
- standardMSFamily,
- standardMDSMediumMemoryv2Family,
- standardMSMediumMemoryv2Family,
- standardMIDSMediumMemoryv2Family,
- standardMISMediumMemoryv2Family,
- standardMSv2Family,
- standardNCSv3Family,
- StandardNCASv3_T4Family,
- standardNVSv2Family,
- standardNVSv3Family,
- standardNVSv4Family
-}
-
-export interface StartPerfDataCollectionResult {
- dateTimeStarted: Date;
-}
-
-export interface StopPerfDataCollectionResult {
- dateTimeStopped: Date;
-}
-
-export interface RefreshPerfDataCollectionResult {
- isCollecting: boolean;
- messages: string[];
- errors: string[];
- refreshTime: Date;
-}
-
-export interface ISqlMigrationService {
- getAssessments(ownerUri: string, databases: string[]): Promise;
- getSkuRecommendations(dataFolder: string, perfQueryIntervalInSec: number, targetPlatforms: string[], targetSqlInstance: string, targetPercentile: number, scalingFactor: number, startTime: string, endTime: string, includePreviewSkus: boolean, databaseAllowList: string[]): Promise;
- startPerfDataCollection(ownerUri: string, dataFolder: string, perfQueryIntervalInSec: number, staticQueryIntervalInSec: number, numberOfIterations: number): Promise;
- stopPerfDataCollection(): Promise;
- refreshPerfDataCollection(lastRefreshedTime: Date): Promise;
+ export interface AzureSqlSkuIaaSCategory extends AzureSqlSkuCategory {
+ virtualMachineFamilyType: VirtualMachineFamilyType;
+ }
+
+ export interface AzureManagedDiskSku {
+ tier: AzureManagedDiskTier;
+ size: string;
+ caching: AzureManagedDiskCaching;
+ }
+
+ export interface AzureVirtualMachineSku {
+ virtualMachineFamily: VirtualMachineFamily;
+ sizeName: string;
+ computeSize: number;
+ azureSkuName: string;
+ vCPUsAvailable: number;
+ }
+
+ export interface AzureSqlSkuMonthlyCost {
+ computeCost: number;
+ storageCost: number;
+ totalCost: number;
+ }
+
+ export interface AzureSqlSku {
+ category: AzureSqlSkuPaaSCategory | AzureSqlSkuIaaSCategory;
+ computeSize: number;
+ predictedDataSizeInMb: number;
+ predictedLogSizeInMb: number;
+ }
+
+ export interface AzureSqlPaaSSku extends AzureSqlSku {
+ category: AzureSqlSkuPaaSCategory;
+ storageMaxSizeInMb: number;
+ }
+
+ export interface AzureSqlIaaSSku extends AzureSqlSku {
+ category: AzureSqlSkuIaaSCategory;
+ virtualMachineSize: AzureVirtualMachineSku;
+ dataDiskSizes: AzureManagedDiskSku[];
+ logDiskSizes: AzureManagedDiskSku[];
+ tempDbDiskSizes: AzureManagedDiskSku[];
+ }
+
+ export interface SkuRecommendationResultItem {
+ sqlInstanceName: string;
+ databaseName: string;
+ targetSku: AzureSqlIaaSSku | AzureSqlPaaSSku;
+ monthlyCost: AzureSqlSkuMonthlyCost;
+ ranking: number;
+ positiveJustifications: string[];
+ negativeJustifications: string[];
+ }
+
+ export interface SqlInstanceRequirements {
+ cpuRequirementInCores: number;
+ dataStorageRequirementInMB: number;
+ logStorageRequirementInMB: number;
+ memoryRequirementInMB: number;
+ dataIOPSRequirement: number;
+ logIOPSRequirement: number;
+ ioLatencyRequirementInMs: number;
+ ioThroughputRequirementInMBps: number;
+ tempDBSizeInMB: number;
+ dataPointsStartTime: string;
+ dataPointsEndTime: string;
+ aggregationTargetPercentile: number;
+ perfDataCollectionIntervalInSeconds: number;
+ databaseLevelRequirements: SqlDatabaseRequirements[];
+ numberOfDataPointsAnalyzed: number;
+ }
+
+ export interface SqlDatabaseRequirements {
+ cpuRequirementInCores: number;
+ dataIOPSRequirement: number;
+ logIOPSRequirement: number;
+ ioLatencyRequirementInMs: number;
+ ioThroughputRequirementInMBps: number;
+ dataStorageRequirementInMB: number;
+ logStorageRequirementInMB: number;
+ databaseName: string;
+ memoryRequirementInMB: number;
+ cpuRequirementInPercentageOfTotalInstance: number;
+ numberOfDataPointsAnalyzed: number;
+ fileLevelRequirements: SqlFileRequirements[];
+ }
+
+ export interface SqlFileRequirements {
+ fileName: string;
+ fileType: DatabaseFileType;
+ sizeInMB: number;
+ readLatencyInMs: number;
+ writeLatencyInMs: number;
+ iopsRequirement: number;
+ ioThroughputRequirementInMBps: number;
+ numberOfDataPointsAnalyzed: number;
+ }
+
+ export interface PaaSSkuRecommendationResultItem extends SkuRecommendationResultItem {
+ targetSku: AzureSqlPaaSSku;
+ }
+
+ export interface IaaSSkuRecommendationResultItem extends SkuRecommendationResultItem {
+ targetSku: AzureSqlIaaSSku;
+ }
+
+ export interface SkuRecommendationResult {
+ sqlDbRecommendationResults: PaaSSkuRecommendationResultItem[];
+ sqlMiRecommendationResults: PaaSSkuRecommendationResultItem[];
+ sqlVmRecommendationResults: IaaSSkuRecommendationResultItem[];
+ instanceRequirements: SqlInstanceRequirements;
+ }
+
+ // SKU recommendation enums, mirrored from Microsoft.SqlServer.Migration.SkuRecommendation
+ export const enum DatabaseFileType {
+ Rows = 0,
+ Log = 1,
+ Filestream = 2,
+ NotSupported = 3,
+ Fulltext = 4
+ }
+
+ export const enum AzureSqlTargetPlatform {
+ AzureSqlDatabase = 0,
+ AzureSqlManagedInstance = 1,
+ AzureSqlVirtualMachine = 2
+ }
+
+ export const enum ComputeTier {
+ Provisioned = 0,
+ ServerLess = 1
+ }
+
+ export const enum AzureManagedDiskTier {
+ Standard = 0,
+ Premium = 1,
+ Ultra = 2
+ }
+
+ export const enum AzureManagedDiskCaching {
+ NotApplicable = 0,
+ None = 1,
+ ReadOnly = 2,
+ ReadWrite = 3
+ }
+
+ export const enum AzureSqlPurchasingModel {
+ vCore = 0,
+ }
+
+ export const enum AzureSqlPaaSServiceTier {
+ GeneralPurpose = 0,
+ BusinessCritical,
+ HyperScale,
+ }
+
+ export const enum AzureSqlPaaSHardwareType {
+ Gen5 = 0,
+ PremiumSeries,
+ PremiumSeriesMemoryOptimized
+ }
+
+ export const enum VirtualMachineFamilyType {
+ GeneralPurpose,
+ ComputeOptimized,
+ MemoryOptimized,
+ StorageOptimized,
+ GPU,
+ HighPerformanceCompute
+ }
+
+ export const enum VirtualMachineFamily {
+ basicAFamily,
+ standardA0_A7Family,
+ standardAv2Family,
+ standardBSFamily,
+ standardDFamily,
+ standardDv2Family,
+ standardDv2PromoFamily,
+ standardDADSv5Family,
+ standardDASv4Family,
+ standardDASv5Family,
+ standardDAv4Family,
+ standardDDSv4Family,
+ standardDDSv5Family,
+ standardDDv4Family,
+ standardDDv5Family,
+ standardDSv3Family,
+ standardDSv4Family,
+ standardDSv5Family,
+ standardDv3Family,
+ standardDv4Family,
+ standardDv5Family,
+ standardDCADSv5Family,
+ standardDCASv5Family,
+ standardDCSv2Family,
+ standardDSFamily,
+ standardDSv2Family,
+ standardDSv2PromoFamily,
+ standardEIDSv5Family,
+ standardEIDv5Family,
+ standardEISv5Family,
+ standardEIv5Family,
+ standardEADSv5Family,
+ standardEASv4Family,
+ standardEASv5Family,
+ standardEDSv4Family,
+ standardEDSv5Family,
+ standardEBDSv5Family,
+ standardESv3Family,
+ standardESv4Family,
+ standardESv5Family,
+ standardEBSv5Family,
+ standardEAv4Family,
+ standardEDv4Family,
+ standardEDv5Family,
+ standardEv3Family,
+ standardEv4Family,
+ standardEv5Family,
+ standardEISv3Family,
+ standardEIv3Family,
+ standardXEIDSv4Family,
+ standardXEISv4Family,
+ standardECADSv5Family,
+ standardECASv5Family,
+ standardECIADSv5Family,
+ standardECIASv5Family,
+ standardFFamily,
+ standardFSFamily,
+ standardFSv2Family,
+ standardGFamily,
+ standardGSFamily,
+ standardHFamily,
+ standardHPromoFamily,
+ standardLSFamily,
+ standardLSv2Family,
+ standardMSFamily,
+ standardMDSMediumMemoryv2Family,
+ standardMSMediumMemoryv2Family,
+ standardMIDSMediumMemoryv2Family,
+ standardMISMediumMemoryv2Family,
+ standardMSv2Family,
+ standardNCSv3Family,
+ StandardNCASv3_T4Family,
+ standardNVSv2Family,
+ standardNVSv3Family,
+ standardNVSv4Family
+ }
+
+ export interface StartPerfDataCollectionResult {
+ dateTimeStarted: Date;
+ }
+
+ export interface StopPerfDataCollectionResult {
+ dateTimeStopped: Date;
+ }
+
+ export interface RefreshPerfDataCollectionResult {
+ isCollecting: boolean;
+ messages: string[];
+ errors: string[];
+ refreshTime: Date;
+ }
+
+ export interface ISqlMigrationService {
+ getAssessments(ownerUri: string, databases: string[]): Promise;
+ getSkuRecommendations(dataFolder: string, perfQueryIntervalInSec: number, targetPlatforms: string[], targetSqlInstance: string, targetPercentile: number, scalingFactor: number, startTime: string, endTime: string, includePreviewSkus: boolean, databaseAllowList: string[]): Promise;
+ startPerfDataCollection(ownerUri: string, dataFolder: string, perfQueryIntervalInSec: number, staticQueryIntervalInSec: number, numberOfIterations: number): Promise;
+ stopPerfDataCollection(): Promise;
+ refreshPerfDataCollection(lastRefreshedTime: Date): Promise;
+ }
+
+ // SqlMigration interfaces -----------------------------------------------------------------------
+
+ export interface SqlMigrationImpactedObjectInfo {
+ name: string;
+ impactDetail: string;
+ objectType: string;
+ }
+
+ export interface SqlMigrationAssessmentResultItem {
+ rulesetVersion: string;
+ rulesetName: string;
+ ruleId: string;
+ targetType: string;
+ checkId: string;
+ tags: string[];
+ displayName: string;
+ description: string;
+ helpLink: string;
+ level: string;
+ timestamp: string;
+ kind: azdata.sqlAssessment.SqlAssessmentResultItemKind;
+ message: string;
+ appliesToMigrationTargetPlatform: string;
+ issueCategory: string;
+ databaseName: string;
+ impactedObjects: SqlMigrationImpactedObjectInfo[];
+ databaseRestoreFails: boolean;
+ }
+
+ export interface ServerTargetReadiness {
+ numberOfDatabasesReadyForMigration: number;
+ numberOfNonOnlineDatabases: number;
+ totalNumberOfDatabases: number;
+ }
+
+ export interface ErrorModel {
+ errorId: number;
+ message: string;
+ errorSummary: string;
+ possibleCauses: string;
+ guidance: string;
+ }
+
+ export interface DatabaseTargetReadiness {
+ noSelectionForMigration: boolean;
+ numOfBlockerIssues: number;
+ }
+
+ export interface DatabaseAssessmentProperties {
+ compatibilityLevel: string;
+ databaseSize: number;
+ isReplicationEnabled: boolean;
+ assessmentTimeInMilliseconds: number;
+ items: SqlMigrationAssessmentResultItem[];
+ errors: ErrorModel[];
+ sqlManagedInstanceTargetReadiness: DatabaseTargetReadiness;
+ name: string;
+ }
+
+ export interface ServerAssessmentProperties {
+ cpuCoreCount: number;
+ physicalServerMemory: number;
+ serverHostPlatform: string;
+ serverVersion: string;
+ serverEngineEdition: string;
+ serverEdition: string;
+ isClustered: boolean;
+ numberOfUserDatabases: number;
+ sqlAssessmentStatus: number;
+ assessedDatabaseCount: number;
+ sqlManagedInstanceTargetReadiness: ServerTargetReadiness;
+ items: SqlMigrationAssessmentResultItem[];
+ errors: ErrorModel[];
+ databases: DatabaseAssessmentProperties[];
+ name: string;
+ }
+
+ export interface AssessmentResult {
+ startTime: string;
+ endedTime: string;
+ assessmentResult: ServerAssessmentProperties;
+ rawAssessmentResult: any;
+ errors: ErrorModel[];
+ }
+
+ export interface ISqlMigrationService {
+ getAssessments(ownerUri: string, databases: string[]): Promise;
+ }
}
diff --git a/extensions/mssql/src/mssqlApiFactory.ts b/extensions/mssql/src/mssqlApiFactory.ts
index 8a48054d9a..f251d71386 100644
--- a/extensions/mssql/src/mssqlApiFactory.ts
+++ b/extensions/mssql/src/mssqlApiFactory.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { AppContext } from './appContext';
-import { IExtension, ICmsService, IDacFxService, ISchemaCompareService, MssqlObjectExplorerBrowser, ILanguageExtensionService, ISqlAssessmentService, ISqlMigrationService } from './mssql';
+import { IExtension, ICmsService, IDacFxService, ISchemaCompareService, MssqlObjectExplorerBrowser, ILanguageExtensionService, ISqlAssessmentService, ISqlMigrationService } from 'mssql';
import * as constants from './constants';
import { MssqlObjectExplorerNodeProvider } from './objectExplorerNodeProvider/objectExplorerNodeProvider';
import * as azdata from 'azdata';
diff --git a/extensions/mssql/src/schemaCompare/schemaCompareService.ts b/extensions/mssql/src/schemaCompare/schemaCompareService.ts
index 3fea7a6673..556e62094f 100644
--- a/extensions/mssql/src/schemaCompare/schemaCompareService.ts
+++ b/extensions/mssql/src/schemaCompare/schemaCompareService.ts
@@ -6,7 +6,7 @@
import { AppContext } from '../appContext';
import { SqlOpsDataClient, ISqlOpsFeature } from 'dataprotocol-client';
import * as constants from '../constants';
-import * as mssql from '../mssql';
+import * as mssql from 'mssql';
import * as Utils from '../utils';
import { ClientCapabilities } from 'vscode-languageclient';
import * as azdata from 'azdata';
diff --git a/extensions/mssql/src/sqlAssessment/sqlAssessmentService.ts b/extensions/mssql/src/sqlAssessment/sqlAssessmentService.ts
index f4e30cd551..6a91807f5e 100644
--- a/extensions/mssql/src/sqlAssessment/sqlAssessmentService.ts
+++ b/extensions/mssql/src/sqlAssessment/sqlAssessmentService.ts
@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-import * as mssql from '../mssql';
+import * as mssql from 'mssql';
import { AppContext } from '../appContext';
import { SqlOpsDataClient, ISqlOpsFeature } from 'dataprotocol-client';
import { ClientCapabilities } from 'vscode-languageclient';
diff --git a/extensions/mssql/src/sqlMigration/sqlMigrationService.ts b/extensions/mssql/src/sqlMigration/sqlMigrationService.ts
index 6e6f85fe40..480bed7d2e 100644
--- a/extensions/mssql/src/sqlMigration/sqlMigrationService.ts
+++ b/extensions/mssql/src/sqlMigration/sqlMigrationService.ts
@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-import * as mssql from '../mssql';
+import * as mssql from 'mssql';
import { AppContext } from '../appContext';
import { SqlOpsDataClient, ISqlOpsFeature } from 'dataprotocol-client';
import { ClientCapabilities } from 'vscode-languageclient';
diff --git a/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts b/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts
index 380b9851a8..99be22f5d6 100644
--- a/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts
+++ b/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts
@@ -7,7 +7,7 @@ import * as azdata from 'azdata';
import * as vscode from 'vscode';
import * as path from 'path';
import * as sqldbproj from 'sqldbproj';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as loc from '../localizedConstants';
import { SchemaCompareMainWindow } from '../schemaCompareMainWindow';
import { TelemetryReporter, TelemetryViews } from '../telemetry';
diff --git a/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts b/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts
index a89189705d..ea1101f495 100644
--- a/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts
+++ b/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts
@@ -5,7 +5,7 @@
import * as azdata from 'azdata';
import * as vscode from 'vscode';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as loc from '../localizedConstants';
import { SchemaCompareMainWindow } from '../schemaCompareMainWindow';
import { isNullOrUndefined } from 'util';
diff --git a/extensions/schema-compare/src/extension.ts b/extensions/schema-compare/src/extension.ts
index a31169d6de..ba733d93be 100644
--- a/extensions/schema-compare/src/extension.ts
+++ b/extensions/schema-compare/src/extension.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as vscode from 'vscode';
-import * as mssql from '../../mssql/src/mssql';
+import * as mssql from 'mssql';
import { SchemaCompareMainWindow } from './schemaCompareMainWindow';
export async function activate(extensionContext: vscode.ExtensionContext): Promise {
diff --git a/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts b/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts
index 95cd5ed3ad..ef4560f6ea 100644
--- a/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts
+++ b/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts
@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as loc from '../localizedConstants';
-import * as mssql from '../../../mssql/src/mssql';
+import * as mssql from 'mssql';
import { isNullOrUndefined } from 'util';
export class SchemaCompareOptionsModel {
diff --git a/extensions/schema-compare/src/schemaCompareMainWindow.ts b/extensions/schema-compare/src/schemaCompareMainWindow.ts
index f5e72ebe65..30732c8e54 100644
--- a/extensions/schema-compare/src/schemaCompareMainWindow.ts
+++ b/extensions/schema-compare/src/schemaCompareMainWindow.ts
@@ -8,7 +8,7 @@ import * as vscode from 'vscode';
import * as os from 'os';
import * as path from 'path';
import * as sqldbproj from 'sqldbproj';
-import * as mssql from '../../mssql';
+import * as mssql from 'mssql';
import * as loc from './localizedConstants';
import { SchemaCompareOptionsDialog } from './dialogs/schemaCompareOptionsDialog';
import { TelemetryReporter, TelemetryViews } from './telemetry';
diff --git a/extensions/schema-compare/src/test/models/schemaCompareOptionsModel.test.ts b/extensions/schema-compare/src/test/models/schemaCompareOptionsModel.test.ts
index 2c3f8d1d99..a9eb96b482 100644
--- a/extensions/schema-compare/src/test/models/schemaCompareOptionsModel.test.ts
+++ b/extensions/schema-compare/src/test/models/schemaCompareOptionsModel.test.ts
@@ -4,8 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import * as should from 'should';
-import * as mssql from '../../../../mssql/src/mssql';
-import {SchemaCompareOptionsModel} from '../../models/schemaCompareOptionsModel';
+import * as mssql from 'mssql';
+import { SchemaCompareOptionsModel } from '../../models/schemaCompareOptionsModel';
describe('Schema Compare Options Model', () => {
it('Should create model and set options successfully', function (): void {
@@ -39,7 +39,7 @@ describe('Schema Compare Options Model', () => {
});
});
-const defaultOptions: mssql.DeploymentOptions = {
+const defaultOptions: mssql.DeploymentOptions = {
ignoreTableOptions: false,
ignoreSemicolonBetweenStatements: false,
ignoreRouteLifetime: false,
diff --git a/extensions/schema-compare/src/test/schemaCompare.test.ts b/extensions/schema-compare/src/test/schemaCompare.test.ts
index 1909d99d9a..a2f11e37ca 100644
--- a/extensions/schema-compare/src/test/schemaCompare.test.ts
+++ b/extensions/schema-compare/src/test/schemaCompare.test.ts
@@ -5,7 +5,7 @@
import * as should from 'should';
import * as vscode from 'vscode';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as TypeMoq from 'typemoq';
import * as loc from '../localizedConstants';
import 'mocha';
@@ -67,7 +67,7 @@ describe('SchemaCompareMainWindow.start @DacFx@', function (): void {
let sc = new SchemaCompareTestService();
let result = new SchemaCompareMainWindowTest(sc, mockExtensionContext.object, null);
- await result.start({connectionProfile: mockIConnectionProfile});
+ await result.start({ connectionProfile: mockIConnectionProfile });
should.notEqual(result.sourceEndpointInfo, undefined);
should.equal(result.sourceEndpointInfo.endpointType, mssql.SchemaCompareEndpointType.Database);
@@ -502,7 +502,8 @@ describe('SchemaCompareMainWindow.execute @DacFx@', function (): void {
selectSourceButtonState: true,
selectTargetButtonState: true,
generateScriptButtonState: true,
- applyButtonState: true} );
+ applyButtonState: true
+ });
});
});
diff --git a/extensions/schema-compare/src/test/testSchemaCompareMainWindow.ts b/extensions/schema-compare/src/test/testSchemaCompareMainWindow.ts
index 36c0482eef..f7369d4ecb 100644
--- a/extensions/schema-compare/src/test/testSchemaCompareMainWindow.ts
+++ b/extensions/schema-compare/src/test/testSchemaCompareMainWindow.ts
@@ -5,7 +5,7 @@
import * as azdata from 'azdata';
import * as vscode from 'vscode';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as should from 'should';
import { SchemaCompareMainWindow } from '../schemaCompareMainWindow';
diff --git a/extensions/schema-compare/src/test/testSchemaCompareService.ts b/extensions/schema-compare/src/test/testSchemaCompareService.ts
index c496ae4bfa..23ead51216 100644
--- a/extensions/schema-compare/src/test/testSchemaCompareService.ts
+++ b/extensions/schema-compare/src/test/testSchemaCompareService.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
export class SchemaCompareTestService implements mssql.ISchemaCompareService {
diff --git a/extensions/schema-compare/src/test/testUtils.ts b/extensions/schema-compare/src/test/testUtils.ts
index 26940ed4b1..6425b99d28 100644
--- a/extensions/schema-compare/src/test/testUtils.ts
+++ b/extensions/schema-compare/src/test/testUtils.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import should = require('should');
import { AssertionError } from 'assert';
diff --git a/extensions/schema-compare/src/test/utils.test.ts b/extensions/schema-compare/src/test/utils.test.ts
index a6d859dbec..228b33dc2c 100644
--- a/extensions/schema-compare/src/test/utils.test.ts
+++ b/extensions/schema-compare/src/test/utils.test.ts
@@ -6,7 +6,7 @@
import * as should from 'should';
import * as azdata from 'azdata';
import * as vscode from 'vscode';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as loc from '../localizedConstants';
import * as TypeMoq from 'typemoq';
import * as path from 'path';
diff --git a/extensions/schema-compare/src/typings/ref.d.ts b/extensions/schema-compare/src/typings/ref.d.ts
index 23c9548c44..6a74b26953 100644
--- a/extensions/schema-compare/src/typings/ref.d.ts
+++ b/extensions/schema-compare/src/typings/ref.d.ts
@@ -8,4 +8,5 @@
///
///
///
+///
///
diff --git a/extensions/schema-compare/src/utils.ts b/extensions/schema-compare/src/utils.ts
index 5870a520dd..20c8db87aa 100644
--- a/extensions/schema-compare/src/utils.ts
+++ b/extensions/schema-compare/src/utils.ts
@@ -6,7 +6,7 @@
import * as azdata from 'azdata';
import type * as azdataType from 'azdata'; // eslint-disable-line no-duplicate-imports
import * as vscode from 'vscode';
-import * as mssql from '../../mssql';
+import * as mssql from 'mssql';
import * as os from 'os';
import * as loc from './localizedConstants';
import * as dataworkspace from 'dataworkspace';
diff --git a/extensions/sql-assessment/src/engine.ts b/extensions/sql-assessment/src/engine.ts
index e3bf60b2a8..74e108499b 100644
--- a/extensions/sql-assessment/src/engine.ts
+++ b/extensions/sql-assessment/src/engine.ts
@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-import * as mssql from '../../mssql';
+import * as mssql from 'mssql';
import * as azdata from 'azdata';
import { createHistoryFileName, readHistoryFileNames, getAssessmentDate, TargetWithChildren } from './utils';
import { promises as fs } from 'fs';
diff --git a/extensions/sql-assessment/src/maincontroller.ts b/extensions/sql-assessment/src/maincontroller.ts
index 6d6f5cd155..bc51c8ea39 100644
--- a/extensions/sql-assessment/src/maincontroller.ts
+++ b/extensions/sql-assessment/src/maincontroller.ts
@@ -5,7 +5,7 @@
import * as azdata from 'azdata';
import * as vscode from 'vscode';
-import * as mssql from '../../mssql';
+import * as mssql from 'mssql';
import { SqlAssessmentMainTab } from './tabs/assessmentMainTab';
import { SqlAssessmentHistoryTab } from './tabs/historyTab';
import { AssessmentEngine } from './engine';
diff --git a/extensions/sql-assessment/src/typings/ref.d.ts b/extensions/sql-assessment/src/typings/ref.d.ts
index 4d46be908b..6bf3be9c9f 100644
--- a/extensions/sql-assessment/src/typings/ref.d.ts
+++ b/extensions/sql-assessment/src/typings/ref.d.ts
@@ -6,4 +6,5 @@
///
///
///
-///
\ No newline at end of file
+///
+///
diff --git a/extensions/sql-bindings/src/test/testUtils.ts b/extensions/sql-bindings/src/test/testUtils.ts
index 2493c39b76..4f01abce91 100644
--- a/extensions/sql-bindings/src/test/testUtils.ts
+++ b/extensions/sql-bindings/src/test/testUtils.ts
@@ -5,7 +5,7 @@
import * as vscode from 'vscode';
import * as TypeMoq from 'typemoq';
-import * as mssql from '../../../mssql/src/mssql';
+import * as mssql from 'mssql';
import * as vscodeMssql from 'vscode-mssql';
import { RequestType } from 'vscode-languageclient';
diff --git a/extensions/sql-bindings/src/typings/ref.d.ts b/extensions/sql-bindings/src/typings/ref.d.ts
index db9f33609a..60fdf3ec9d 100644
--- a/extensions/sql-bindings/src/typings/ref.d.ts
+++ b/extensions/sql-bindings/src/typings/ref.d.ts
@@ -6,5 +6,6 @@
///
///
///
+///
///
///
diff --git a/extensions/sql-database-projects/src/common/utils.ts b/extensions/sql-database-projects/src/common/utils.ts
index dd5854c823..ebcdae481e 100644
--- a/extensions/sql-database-projects/src/common/utils.ts
+++ b/extensions/sql-database-projects/src/common/utils.ts
@@ -10,7 +10,7 @@ import * as constants from './constants';
import * as path from 'path';
import * as glob from 'fast-glob';
import * as dataworkspace from 'dataworkspace';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as vscodeMssql from 'vscode-mssql';
import * as fse from 'fs-extra';
import * as which from 'which';
diff --git a/extensions/sql-database-projects/src/controllers/mainController.ts b/extensions/sql-database-projects/src/controllers/mainController.ts
index a915369ad6..c6d4d479ae 100644
--- a/extensions/sql-database-projects/src/controllers/mainController.ts
+++ b/extensions/sql-database-projects/src/controllers/mainController.ts
@@ -6,7 +6,7 @@
import type * as azdataType from 'azdata';
import * as vscode from 'vscode';
import * as vscodeMssql from 'vscode-mssql';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as templates from '../templates/templates';
import * as path from 'path';
diff --git a/extensions/sql-database-projects/src/controllers/projectController.ts b/extensions/sql-database-projects/src/controllers/projectController.ts
index ce6be5fac7..999fce5fc4 100644
--- a/extensions/sql-database-projects/src/controllers/projectController.ts
+++ b/extensions/sql-database-projects/src/controllers/projectController.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as constants from '../common/constants';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as os from 'os';
import * as path from 'path';
import * as utils from '../common/utils';
diff --git a/extensions/sql-database-projects/src/dialogs/createProjectFromDatabaseDialog.ts b/extensions/sql-database-projects/src/dialogs/createProjectFromDatabaseDialog.ts
index 89f6d37dcc..3d4f390920 100644
--- a/extensions/sql-database-projects/src/dialogs/createProjectFromDatabaseDialog.ts
+++ b/extensions/sql-database-projects/src/dialogs/createProjectFromDatabaseDialog.ts
@@ -7,7 +7,7 @@ import type * as azdataType from 'azdata';
import * as vscode from 'vscode';
import * as constants from '../common/constants';
import * as newProjectTool from '../tools/newProjectTool';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as path from 'path';
import { IconPathHelper } from '../common/iconHelper';
diff --git a/extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts b/extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts
index aa2ac81a4e..6e667efdb4 100644
--- a/extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts
+++ b/extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts
@@ -11,7 +11,7 @@ import * as utils from '../common/utils';
import { Project } from '../models/project';
import { SqlConnectionDataSource } from '../models/dataSources/sqlConnectionStringSource';
import { IDeploySettings } from '../models/IDeploySettings';
-import { DeploymentOptions } from '../../../mssql/src/mssql';
+import { DeploymentOptions } from 'mssql';
import { IconPathHelper } from '../common/iconHelper';
import { cssStyles } from '../common/uiConstants';
import { getAgreementDisplayText, getConnectionName, getDockerBaseImages } from './utils';
diff --git a/extensions/sql-database-projects/src/dialogs/updateProjectFromDatabaseDialog.ts b/extensions/sql-database-projects/src/dialogs/updateProjectFromDatabaseDialog.ts
index 5c74512815..4d4df02759 100644
--- a/extensions/sql-database-projects/src/dialogs/updateProjectFromDatabaseDialog.ts
+++ b/extensions/sql-database-projects/src/dialogs/updateProjectFromDatabaseDialog.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as vscode from 'vscode';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import type * as azdata from 'azdata';
import * as constants from '../common/constants';
import * as newProjectTool from '../tools/newProjectTool';
diff --git a/extensions/sql-database-projects/src/models/IDeploySettings.ts b/extensions/sql-database-projects/src/models/IDeploySettings.ts
index 7575861818..15b8ec513d 100644
--- a/extensions/sql-database-projects/src/models/IDeploySettings.ts
+++ b/extensions/sql-database-projects/src/models/IDeploySettings.ts
@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-import { DeploymentOptions as mssqlDeploymentOptions } from '../../../mssql/src/mssql';
+import { DeploymentOptions as mssqlDeploymentOptions } from 'mssql';
import { DeploymentOptions as vscodeMssqlDeploymentOptions } from 'vscode-mssql';
export type DeploymentOptions = mssqlDeploymentOptions | vscodeMssqlDeploymentOptions;
diff --git a/extensions/sql-database-projects/src/models/api/import.ts b/extensions/sql-database-projects/src/models/api/import.ts
index 1bcd238f67..78965599b4 100644
--- a/extensions/sql-database-projects/src/models/api/import.ts
+++ b/extensions/sql-database-projects/src/models/api/import.ts
@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-import * as mssql from '../../../../mssql';
+import * as mssql from 'mssql';
import * as vscodeMssql from 'vscode-mssql';
type ExtractTarget = mssql.ExtractTarget | vscodeMssql.ExtractTarget;
diff --git a/extensions/sql-database-projects/src/models/api/updateProject.ts b/extensions/sql-database-projects/src/models/api/updateProject.ts
index 5ea3878359..2c8a498faa 100644
--- a/extensions/sql-database-projects/src/models/api/updateProject.ts
+++ b/extensions/sql-database-projects/src/models/api/updateProject.ts
@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-import * as mssql from '../../../../mssql/src/mssql';
+import * as mssql from 'mssql';
export interface UpdateProjectDataModel {
sourceEndpointInfo: mssql.SchemaCompareEndpointInfo;
diff --git a/extensions/sql-database-projects/src/models/publishProfile/publishProfile.ts b/extensions/sql-database-projects/src/models/publishProfile/publishProfile.ts
index f62203d729..79fe054dea 100644
--- a/extensions/sql-database-projects/src/models/publishProfile/publishProfile.ts
+++ b/extensions/sql-database-projects/src/models/publishProfile/publishProfile.ts
@@ -6,7 +6,7 @@
import * as xmldom from 'xmldom';
import * as constants from '../../common/constants';
import * as utils from '../../common/utils';
-import * as mssql from '../../../../mssql';
+import * as mssql from 'mssql';
import * as vscodeMssql from 'vscode-mssql';
import * as vscode from 'vscode';
diff --git a/extensions/sql-database-projects/src/test/dialogs/createProjectFromDatabaseDialog.test.ts b/extensions/sql-database-projects/src/test/dialogs/createProjectFromDatabaseDialog.test.ts
index c3d77c885f..71bf7cb6a8 100644
--- a/extensions/sql-database-projects/src/test/dialogs/createProjectFromDatabaseDialog.test.ts
+++ b/extensions/sql-database-projects/src/test/dialogs/createProjectFromDatabaseDialog.test.ts
@@ -5,7 +5,7 @@
import * as should from 'should';
import * as azdata from 'azdata';
-import * as mssql from '../../../../mssql';
+import * as mssql from 'mssql';
import * as sinon from 'sinon';
import { CreateProjectFromDatabaseDialog } from '../../dialogs/createProjectFromDatabaseDialog';
import { mockConnectionProfile } from '../testContext';
@@ -94,7 +94,7 @@ describe('Create Project From Database Dialog', () => {
let model: ImportDataModel;
- const expectedImportDataModel: ImportDataModel = {
+ const expectedImportDataModel: ImportDataModel = {
connectionUri: stubUri,
database: 'My Database',
projName: 'testProject',
diff --git a/extensions/sql-database-projects/src/test/projectController.test.ts b/extensions/sql-database-projects/src/test/projectController.test.ts
index de2876144e..f598a5210a 100644
--- a/extensions/sql-database-projects/src/test/projectController.test.ts
+++ b/extensions/sql-database-projects/src/test/projectController.test.ts
@@ -14,7 +14,7 @@ import * as baselines from './baselines/baselines';
import * as templates from '../templates/templates';
import * as testUtils from './testUtils';
import * as constants from '../common/constants';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import * as utils from '../common/utils';
import { SqlDatabaseProjectTreeViewProvider } from '../controllers/databaseProjectTreeViewProvider';
diff --git a/extensions/sql-database-projects/src/test/testContext.ts b/extensions/sql-database-projects/src/test/testContext.ts
index f75347d355..eb03f392f4 100644
--- a/extensions/sql-database-projects/src/test/testContext.ts
+++ b/extensions/sql-database-projects/src/test/testContext.ts
@@ -7,7 +7,8 @@ import * as vscode from 'vscode';
import * as azdata from 'azdata';
import * as path from 'path';
import * as TypeMoq from 'typemoq';
-import * as mssql from '../../../mssql/src/mssql';
+import * as mssql from 'mssql';
+
export interface TestContext {
context: vscode.ExtensionContext;
diff --git a/extensions/sql-database-projects/src/tools/buildHelper.ts b/extensions/sql-database-projects/src/tools/buildHelper.ts
index 3436b12cb9..8ffabd2ad5 100644
--- a/extensions/sql-database-projects/src/tools/buildHelper.ts
+++ b/extensions/sql-database-projects/src/tools/buildHelper.ts
@@ -8,7 +8,7 @@ import * as path from 'path';
import { promises as fs } from 'fs';
import * as utils from '../common/utils';
import { errorFindingBuildFilesLocation } from '../common/constants';
-import * as mssql from '../../../mssql/src/mssql';
+import * as mssql from 'mssql';
import * as vscodeMssql from 'vscode-mssql';
import * as sqldbproj from 'sqldbproj';
diff --git a/extensions/sql-database-projects/src/typings/ref.d.ts b/extensions/sql-database-projects/src/typings/ref.d.ts
index 5d0200b735..762611dd95 100644
--- a/extensions/sql-database-projects/src/typings/ref.d.ts
+++ b/extensions/sql-database-projects/src/typings/ref.d.ts
@@ -7,5 +7,6 @@
///
///
///
+///
///
///
diff --git a/extensions/sql-migration/src/dialog/assessmentResults/assessmentResultsDialog.ts b/extensions/sql-migration/src/dialog/assessmentResults/assessmentResultsDialog.ts
index 3e52be92b1..13d6a889b4 100644
--- a/extensions/sql-migration/src/dialog/assessmentResults/assessmentResultsDialog.ts
+++ b/extensions/sql-migration/src/dialog/assessmentResults/assessmentResultsDialog.ts
@@ -7,7 +7,7 @@ import * as azdata from 'azdata';
import * as vscode from 'vscode';
import { MigrationStateModel, MigrationTargetType } from '../../models/stateMachine';
import { SqlDatabaseTree } from './sqlDatabasesTree';
-import { SqlMigrationImpactedObjectInfo } from '../../../../mssql/src/mssql';
+import { SqlMigrationImpactedObjectInfo } from 'mssql';
import { SKURecommendationPage } from '../../wizard/skuRecommendationPage';
export type Issues = {
diff --git a/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts b/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts
index fb0c4af365..744561626b 100644
--- a/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts
+++ b/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
import * as vscode from 'vscode';
-import { SqlMigrationAssessmentResultItem, SqlMigrationImpactedObjectInfo } from '../../../../mssql/src/mssql';
+import { SqlMigrationAssessmentResultItem, SqlMigrationImpactedObjectInfo } from 'mssql';
import { MigrationStateModel, MigrationTargetType } from '../../models/stateMachine';
import * as constants from '../../constants/strings';
import { debounce } from '../../api/utils';
diff --git a/extensions/sql-migration/src/dialog/retryMigration/retryMigrationDialog.ts b/extensions/sql-migration/src/dialog/retryMigration/retryMigrationDialog.ts
index 28ee1f98a5..e7e877225e 100644
--- a/extensions/sql-migration/src/dialog/retryMigration/retryMigrationDialog.ts
+++ b/extensions/sql-migration/src/dialog/retryMigration/retryMigrationDialog.ts
@@ -5,7 +5,7 @@
import * as azdata from 'azdata';
import * as vscode from 'vscode';
-import * as mssql from '../../../../mssql';
+import * as mssql from 'mssql';
import { azureResource } from 'azureResource';
import { getLocations, getResourceGroupFromId, getBlobContainerId, getFullResourceGroupFromId, getResourceName } from '../../api/azure';
import { MigrationMode, MigrationStateModel, NetworkContainerType, SavedInfo } from '../../models/stateMachine';
diff --git a/extensions/sql-migration/src/dialog/skuRecommendationResults/skuRecommendationResultsDialog.ts b/extensions/sql-migration/src/dialog/skuRecommendationResults/skuRecommendationResultsDialog.ts
index 7a69fce883..f4d4e86efd 100644
--- a/extensions/sql-migration/src/dialog/skuRecommendationResults/skuRecommendationResultsDialog.ts
+++ b/extensions/sql-migration/src/dialog/skuRecommendationResults/skuRecommendationResultsDialog.ts
@@ -8,7 +8,7 @@ import * as vscode from 'vscode';
import { MigrationStateModel, MigrationTargetType } from '../../models/stateMachine';
import * as constants from '../../constants/strings';
import * as styles from '../../constants/styles';
-import * as mssql from '../../../../mssql';
+import * as mssql from 'mssql';
export class SkuRecommendationResultsDialog {
diff --git a/extensions/sql-migration/src/main.ts b/extensions/sql-migration/src/main.ts
index 263ed816f1..ef4c18988f 100644
--- a/extensions/sql-migration/src/main.ts
+++ b/extensions/sql-migration/src/main.ts
@@ -6,7 +6,7 @@
import * as vscode from 'vscode';
import * as azdata from 'azdata';
import { WizardController } from './wizard/wizardController';
-import * as mssql from '../../mssql';
+import * as mssql from 'mssql';
import { promises as fs } from 'fs';
import * as loc from './constants/strings';
import { MigrationNotebookInfo, NotebookPathHelper } from './constants/notebookPathHelper';
diff --git a/extensions/sql-migration/src/models/stateMachine.ts b/extensions/sql-migration/src/models/stateMachine.ts
index bbb91a9738..32bef1f814 100644
--- a/extensions/sql-migration/src/models/stateMachine.ts
+++ b/extensions/sql-migration/src/models/stateMachine.ts
@@ -7,7 +7,7 @@ import * as azdata from 'azdata';
import { azureResource } from 'azureResource';
import * as azurecore from 'azurecore';
import * as vscode from 'vscode';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import { getAvailableManagedInstanceProducts, getAvailableStorageAccounts, getBlobContainers, getFileShares, getSqlMigrationServices, getSubscriptions, SqlMigrationService, SqlManagedInstance, startDatabaseMigration, StartDatabaseMigrationRequest, StorageAccount, getAvailableSqlVMs, SqlVMServer, getLocations, getResourceGroups, getLocationDisplayName, getSqlManagedInstanceDatabases, getBlobs } from '../api/azure';
import * as constants from '../constants/strings';
import { MigrationLocalStorage } from './migrationLocalStorage';
diff --git a/extensions/sql-migration/src/typings/ref.d.ts b/extensions/sql-migration/src/typings/ref.d.ts
index 0e316762ac..2b35c0bf9f 100644
--- a/extensions/sql-migration/src/typings/ref.d.ts
+++ b/extensions/sql-migration/src/typings/ref.d.ts
@@ -8,4 +8,5 @@
///
///
///
+///
///
diff --git a/extensions/sql-migration/src/wizard/skuRecommendationPage.ts b/extensions/sql-migration/src/wizard/skuRecommendationPage.ts
index db5e8942e3..fc6d0bd62e 100644
--- a/extensions/sql-migration/src/wizard/skuRecommendationPage.ts
+++ b/extensions/sql-migration/src/wizard/skuRecommendationPage.ts
@@ -5,7 +5,7 @@
import * as azdata from 'azdata';
import * as vscode from 'vscode';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import { MigrationWizardPage } from '../models/migrationWizardPage';
import { MigrationStateModel, MigrationTargetType, PerformanceDataSourceOptions, StateChangeEvent } from '../models/stateMachine';
import { AssessmentResultsDialog } from '../dialog/assessmentResults/assessmentResultsDialog';
diff --git a/extensions/sql-migration/src/wizard/wizardController.ts b/extensions/sql-migration/src/wizard/wizardController.ts
index 573484f7f2..8b733bc6ba 100644
--- a/extensions/sql-migration/src/wizard/wizardController.ts
+++ b/extensions/sql-migration/src/wizard/wizardController.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
import * as vscode from 'vscode';
-import * as mssql from '../../../mssql';
+import * as mssql from 'mssql';
import { MigrationStateModel, NetworkContainerType, Page } from '../models/stateMachine';
import * as loc from '../constants/strings';
import { MigrationWizardPage } from '../models/migrationWizardPage';
diff --git a/src/sql/workbench/api/common/sqlExtHost.protocol.ts b/src/sql/workbench/api/common/sqlExtHost.protocol.ts
index d205e2c0da..16031ad236 100644
--- a/src/sql/workbench/api/common/sqlExtHost.protocol.ts
+++ b/src/sql/workbench/api/common/sqlExtHost.protocol.ts
@@ -719,7 +719,7 @@ export const SqlMainContext = {
MainThreadNotebook: createMainId('MainThreadNotebook'),
MainThreadNotebookDocumentsAndEditors: createMainId('MainThreadNotebookDocumentsAndEditors'),
MainThreadExtensionManagement: createMainId('MainThreadExtensionManagement'),
- MainThreadWorkspace: createMainId('MainThreadWorkspace')
+ MainThreadWorkspace: createMainId('MainThreadWorkspace'),
};
export const SqlExtHostContext = {
@@ -742,7 +742,7 @@ export const SqlExtHostContext = {
ExtHostNotebook: createExtId('ExtHostNotebook'),
ExtHostNotebookDocumentsAndEditors: createExtId('ExtHostNotebookDocumentsAndEditors'),
ExtHostExtensionManagement: createExtId('ExtHostExtensionManagement'),
- ExtHostWorkspace: createExtId('ExtHostWorkspace')
+ ExtHostWorkspace: createExtId('ExtHostWorkspace'),
};
export interface MainThreadDashboardShape extends IDisposable {