diff --git a/extensions/mssql/src/mssql.d.ts b/extensions/mssql/src/mssql.d.ts index 88a48fa75a..e75d4431ba 100644 --- a/extensions/mssql/src/mssql.d.ts +++ b/extensions/mssql/src/mssql.d.ts @@ -984,8 +984,16 @@ declare module 'mssql' { * @returns A string value representing the generated TSQL query if generateScript was set to true, and an empty string otherwise. */ detachDatabase(connectionUri: string, objectUrn: string, dropConnections: boolean, updateStatistics: boolean, generateScript: boolean): Thenable; - - deleteDatabase(connectionUri: string, objectUrn: string, dropConnections: boolean, deleteBackupHistory: boolean, generateScript: boolean): Thenable; + /** + * Drop a database. + * @param connectionUri The URI of the server connection. + * @param objectUrn SMO Urn of the database to be detached. More information: https://learn.microsoft.com/sql/relational-databases/server-management-objects-smo/overview-smo + * @param dropConnections Whether to drop active connections to this database. + * @param deleteBackupHistory Whether to delete backup and restore history information for this database. + * @param generateScript Whether to generate a TSQL script for the operation instead of detaching the database. + * @returns A string value representing the generated TSQL query if generateScript was set to true, and an empty string otherwise. + */ + dropDatabase(connectionUri: string, objectUrn: string, dropConnections: boolean, deleteBackupHistory: boolean, generateScript: boolean): Thenable; } // Object Management - End. } diff --git a/extensions/mssql/src/objectManagement/constants.ts b/extensions/mssql/src/objectManagement/constants.ts index 0e3c81f454..4cefd9f1ac 100644 --- a/extensions/mssql/src/objectManagement/constants.ts +++ b/extensions/mssql/src/objectManagement/constants.ts @@ -33,7 +33,7 @@ export const ViewMemoryServerPropertiesDocUrl = 'https://learn.microsoft.com/sql export const DetachDatabaseDocUrl = 'https://go.microsoft.com/fwlink/?linkid=2240322'; export const DatabaseGeneralPropertiesDocUrl = 'https://learn.microsoft.com/sql/relational-databases/databases/database-properties-general-page'; export const DatabaseOptionsPropertiesDocUrl = 'https://learn.microsoft.com/sql/relational-databases/databases/database-properties-options-page' -export const DeleteDatabaseDocUrl = 'https://learn.microsoft.com/sql/t-sql/statements/drop-database-transact-sql'; +export const DropDatabaseDocUrl = 'https://learn.microsoft.com/sql/t-sql/statements/drop-database-transact-sql'; export const enum TelemetryActions { CreateObject = 'CreateObject', diff --git a/extensions/mssql/src/objectManagement/objectManagementService.ts b/extensions/mssql/src/objectManagement/objectManagementService.ts index bf0ab454bd..007807a287 100644 --- a/extensions/mssql/src/objectManagement/objectManagementService.ts +++ b/extensions/mssql/src/objectManagement/objectManagementService.ts @@ -71,7 +71,7 @@ export class ObjectManagementService extends BaseService implements IObjectManag return this.runWithErrorHandling(contracts.DetachDatabaseRequest.type, params); } - async deleteDatabase(connectionUri: string, objectUrn: string, dropConnections: boolean, deleteBackupHistory: boolean, generateScript: boolean): Promise { + async dropDatabase(connectionUri: string, objectUrn: string, dropConnections: boolean, deleteBackupHistory: boolean, generateScript: boolean): Promise { const params: contracts.DropDatabaseRequestParams = { connectionUri, objectUrn, dropConnections, deleteBackupHistory, generateScript }; return this.runWithErrorHandling(contracts.DropDatabaseRequest.type, params); } @@ -246,7 +246,7 @@ export class TestObjectManagementService implements IObjectManagementService { return this.delayAndResolve(''); } - deleteDatabase(connectionUri: string, objectUrn: string, dropConnections: boolean, deleteBackupHistory: boolean, generateScript: boolean): Thenable { + dropDatabase(connectionUri: string, objectUrn: string, dropConnections: boolean, deleteBackupHistory: boolean, generateScript: boolean): Thenable { return this.delayAndResolve(''); } diff --git a/extensions/mssql/src/objectManagement/ui/deleteDatabaseDialog.ts b/extensions/mssql/src/objectManagement/ui/deleteDatabaseDialog.ts index 2cc4f59f48..2c0e5c5aa1 100644 --- a/extensions/mssql/src/objectManagement/ui/deleteDatabaseDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/deleteDatabaseDialog.ts @@ -6,7 +6,7 @@ import { ObjectManagementDialogBase, ObjectManagementDialogOptions } from './objectManagementDialogBase'; import { IObjectManagementService, ObjectManagement } from 'mssql'; import { Database, DatabaseViewInfo } from '../interfaces'; -import { DeleteDatabaseDocUrl } from '../constants'; +import { DropDatabaseDocUrl } from '../constants'; import { DeleteButtonLabel, DeleteDatabaseDialogTitle, DeleteDropBackupHistory, DeleteDropConnections, DeleteDatabaseOptions, NameText, OwnerText, StatusText, DatabaseDetailsLabel } from '../localizedConstants'; export class DeleteDatabaseDialog extends ObjectManagementDialogBase { @@ -45,15 +45,15 @@ export class DeleteDatabaseDialog extends ObjectManagementDialogBase { - await this.objectManagementService.deleteDatabase(this.options.connectionUri, this.options.objectUrn, this._dropConnections, this._deleteBackupHistory, false); + await this.objectManagementService.dropDatabase(this.options.connectionUri, this.options.objectUrn, this._dropConnections, this._deleteBackupHistory, false); } protected override async generateScript(): Promise { - return await this.objectManagementService.deleteDatabase(this.options.connectionUri, this.options.objectUrn, this._dropConnections, this._deleteBackupHistory, true); + return await this.objectManagementService.dropDatabase(this.options.connectionUri, this.options.objectUrn, this._dropConnections, this._deleteBackupHistory, true); } protected override async validateInput(): Promise {