Commit Graph

97 Commits

Author SHA1 Message Date
Raymond Truong
480d8e2cd0 [SQL Migration] Properly respect user's encryptConnection and trustServerCertificate settings (#21824)
* WIP

* Always get latest current connection

* Update more references

* Clean up

* Clean up

* vbump

* Update comments

* Address PR feedback

* Separate into helper methods
2023-02-08 10:12:11 -08:00
junierch
61ddf297f9 Adding SQL tools team recommendations (#21866) 2023-02-07 12:48:56 -05:00
junierch
8de5efdf86 databases query updated (#21856) 2023-02-06 15:16:52 -05:00
AkshayMata
9f5f49e956 Fix connecting to MI login bug (#21821)
This PR fixes a regression for migration login for MI instances that was introduced in https://github.com/microsoft/azuredatastudio/pull/21776/files#diff-93c1a62583fa32d99f775b71ad27922cf31f660d10717ecc6966784306de1b6f.

After that change, support for MI would fail as MI server types were going into the Sql VM path in sqlutils because the underlying logic for isSqlServerVM() was returning wrong results.

The new approach uses the targetType set in StateMachine to extract the correct serverName for connection string based on the targetType.

Testing:
- Tested SQL VM login migration end to end
- Tested SQL MI login migration end to end


This change also bumps the sql-migration version to 1.3.0
2023-02-03 06:43:39 -08:00
Raymond Truong
95ce199d56 [SQL Migration][Hotfix] Remove parameter from IR validation (#21800)
* Remove encryptConnection from validateIR

* Use correct version

* vbump to 1.2.6 for insiders release
2023-02-01 11:33:07 -08:00
AkshayMata
fcece32cdd [SQL-Migration] Enable login migrations to SQL VM (#21776)
This PR adds support for migrating logins to SQL VM. Adding support for 2 scenarios supported here: VMs with private IP and public IP.
2023-01-31 09:47:16 -08:00
Charles Gagnon
e1e2227f2f Fix mispelled file name (#21762) 2023-01-27 15:42:16 -08:00
AkshayMata
03f6a9b188 [SQL-Migration] Login Migration Improvements (#21694)
This PR adds various login migration improvements:

- Enabled windows login by prompting user for AAD domain name if a windows login is selected
image
- Adds new login details dialog which gives granular status on each step of the login migration for each login
image
- Checks if windows login migration is supported for selected target type, and only collections source windows logins accordingly
- Perf optimization by source and target login in background of step 1 in order to significantly speed up loading of page 2
2023-01-23 15:29:44 -08:00
Raymond Truong
9d4d5374d7 [SQL Migration] Disable IR scenario and check page blobs for SQL VM <= 2014 (#21373)
* Disable IR scenario and add info box for source < 2014

* Update text and link

* Clean up

* Fix issue where switching to another target platform wouldn't clear restriction

* Remove locale from documentation URL

* Refactor

* Clean up

* Autoselect blob scenario

* Refactor

* Add page blog check

* Clean up

* Update UI logic
2023-01-23 14:20:06 -08:00
Raymond Truong
0a93f1f3ef [SQL Migration] Implement state validation for SQL VM targets (#21350)
* WIP

* Implement POC

* Add strings

* Disable IR scenario and add info box for source < 2014

* Refactor

* Case insensitive string compare

* Remove unused strings
2023-01-12 11:39:32 -08:00
siyang yao
37f81d9ec2 [SQLDB-Migration] Collation Validation (#21572)
Adding collation validation in target database selection page.

collecting source database info including state, size, collation etc in the step 1 (select databases to assess and migrate)
comparing source database collation and target database collation in target selection page.
image
2023-01-12 09:45:02 -08:00
AkshayMata
e223b4e870 Add new wizard for login migrations experience (#21317) 2022-12-17 12:11:25 -05:00
brian-harris
2e240729af Add IR Migration configuration Validation to SQL Migration extension (#21386)
* re-factor and consolidate wizard pages

* validation WIP 11/10

* validate ir dialog

* navigation fixes

* bump version to 1.2.0

* add resource strings and fix navigatin issue

* map validation state to resource string clean up

* address review comments

* fix typos, address review comments

* address review feedback, readability

* fix res string, validation check, col width

* bug fixes, nav, sqldb migration

* fix nav/refresh/visibility issues

* fix nav issues, cancel pending validation items

* update error text / position

* fix localization bug
2022-12-16 14:52:24 -08:00
Raymond Truong
0d62fa0224 Remove extra params (#21262) 2022-11-17 16:31:05 -08:00
Raymond Truong
a238d15da2 [SQL Migration] Merge Nov extension release (1.1.3) changes to main (#21184)
* Vbump and update dependent ADS version (#21179)

* [SQL Migration] Add new Azure Core API changes back in to support USGov + other non-public clouds (#20476)

* WIP - show error message for failed SKU recommendation

* WIP - run query to get correct instance name

* WIP - integrate elastic model recommendation

* Remove private endpoint restriction text

* Add feature switch for elastic recommendation

* Clean up

* Clean up

* Misc UI fixes

* Update package.json with updated azdata dependency

* Remove unused lines

* Fix broken next button

* Vbump extension to 1.0.6

* Revert "[SQL Migration] Revert dependency on new Azure Core API changes (#20469)"

This reverts commit b7a633be25.

* [SQL Migration] Add additional condition for cutover  (#21178)

* Add new cutover condition

* Implement helper hasRestoreBlockingReason()
2022-11-17 14:13:08 -08:00
Raymond Truong
0dc8e18230 [SQL Migration] Consume more detailed migration states (#20490)
* WIP

* Add new states

* Missed a few spots

* Update logic

* Update DatabaseMigrationProperties

* Test: add mocks

* Update a few more references

* Fix warnings

* Remove mocks

* Update cutover logic

* Address PR feedback
2022-10-28 17:14:12 -07:00
Raymond Truong
a734c9d244 [SQL Migration] Misc UI improvements (#20723)
* Add TrustServerCertificate to request body

* Preselect all dbs for migration

* Make disabled checkbox not auto selected

* Clarify assessment results in card

* Fix incorrect number of dbs ready for migration without issues to MI

* Fix SQL DB assessment results incorrectly greying out dbs with MI blocking issues

* Revert "Clarify assessment results in card"

This reverts commit e8b83f3c19a20ba29133aaa68c4644b04d4154fe.

* Revert "Fix incorrect number of dbs ready for migration without issues to MI"

This reverts commit d4e10875d132dd218d95be91ae7d46672e247706.

* Revert "Fix SQL DB assessment results incorrectly greying out dbs with MI blocking issues"

This reverts commit e2a7dcd7352d1c215052a2f6f3f6130fc710eff8.

* Add new fields

* Fix null reference exception in SKU rec with save and close

* Remove unused files

* Warnings for in progress migrations in list view

* Fix unscrollable assessment results

* Fix updating SKU parameters before recommendations are ready

* Remove checksum info box

* Address PR feedback
2022-10-28 10:59:53 -07:00
junierch
facdb2b0ae Junierch/db list migration (#20751)
* remove Last Backup colum on assessment db list.

* column cleanup

* using sqlutils

* typo fixed

* Typo fixed

* use providerid from connection
2022-10-27 15:37:20 -04:00
brian-harris
14cbe09a20 hotfix sql-migration extension for release to PROD, remove usage of unreleased ads enum (#20879)
* remove enum and vbump hotfix

* add update comments
2022-10-19 14:31:59 -07:00
brian-harris
03fcaf837c fix caching issue with connection profile (#20739) 2022-10-12 09:45:31 -07:00
Charles Gagnon
85dc506a3c Add AuthenticationType enum to typings (#20699)
* Add AuthenticationType enum to typings

* fix

* const

* Add comments

* fix comment

* remove unused
2022-09-30 16:49:36 -07:00
Raymond Truong
b7a633be25 [SQL Migration] Revert dependency on new Azure Core API changes (#20469)
* Remove references to getProviderMetadataForAccount

* Fix broken next button

* Clean up

* Adding to other PR instead - Revert "Clean up"

This reverts commit 410e136c0d1dcc24b38697791801fe3b90b1ecd4.

* Adding to other PR instead - Revert "Fix broken next button"

This reverts commit 748f75daf1594694e618f946c8026cb3256c58a9.
2022-08-24 22:59:29 -07:00
brian-harris
7a736b76fa Add SQL DB offline migration wizard experience (#20403)
* sql db wizard with target selection

* add database table selection

* add sqldb to service and IR page

* Code complete

* navigation bug fixes

* fix target db selection

* improve sqldb error and status reporting

* fix error count bug

* remove table status inference

* address review feedback

* update resource strings and content

* fix migraton status string, use localized value

* fix ux navigation issues

* fix back/fwd w/o changes from changing data
2022-08-19 18:12:34 -07:00
Raymond Truong
e64171503a [SQL Migration] Add buttons to allow saving assessment/recommendation reports (#20212)
* Implement save assessment report

* Implement save recommendation report
2022-08-15 15:29:40 -07:00
Raymond Truong
10f5b8b76e [Azure Core, SQL Migration] Fix wrong endpoints being used for non-public clouds (#20304)
* Add correct host to ARM REST API calls

* Clean up

* Missed a spot

* One more comment

* Expose new function getProviderMetadataForAccount in azurecore API
2022-08-15 14:37:41 -07:00
brian-harris
78b7c3cfd4 Add new tabbed dashboard, monitoring with breadcrumb navigation (#19995)
* SQL DB monitoring and  Dashboard refactor

* Merge remote-tracking branch 'origin/main' into dev/brih/feature/sql-migration-dashboard-tabs

* update filter text and optimize page load

* update migration column order, names and statusbox

* add column table sorting

* add new migration and pipeline status values, etc

* address review feedback
2022-07-25 10:06:17 -07:00
Raymond Truong
f07b4bf668 [SQL Migration] Remove faulty SQL VM state validation (#19623)
* Remove VM state validation

* Remove string too

* Remove a few more references
2022-06-07 17:17:44 -07:00
Charles Gagnon
6ae380b65d Remove unnecessary awaits from extensions (#19571)
* Remove unnecessary awaits

* fix ignore

* revert eslintignore

* try

* increase size

* Increase sql lint size
2022-05-31 15:36:44 -07:00
brian-harris
529296110b fix resource group parameter, name (#19471) 2022-05-20 13:07:22 -07:00
brian-harris
c3c2d83da1 update DMSV2 API and listMonitoringData to latest (#19394) 2022-05-16 18:53:41 -07:00
Raymond Truong
b36ee9318f [SQL Migration] Refactor resource selection filtering logic + misc UI improvements (#19152)
* WIP

* WIP

* WIP

* Fix location dropdown not working properly

* Clean up comments

* Switch button order in selectMigrationServiceDialog

* Vbump to 1.0.1

* Refactor to avoid duplicate API calls

* Add null checks

* Fix migration status dialog not sorting migrations properly

* Address comments, remove unnecessary code

* Address comments - separate util methods by resource type, use logError instead of console.log

* Remove unused methods

* Fix DMS creation on newly created resource group

* Fix stale account behavior

* Address comments - remove telemetry context from util method calls

* Clean up imports

* Fix dashboard service monitoring not working

* Fix null reference on database backup page, and resources not updating properly when location is changed

* Fix dashboard not auto selecting DMS after migration started

* Add null checks
2022-05-03 16:22:47 -04:00
Charles Gagnon
d202fd703e Combine azure-resource.d.ts into azurecore.d.ts (#19047) 2022-04-14 11:06:45 -07:00
brian-harris
fcd4c6e15b bug - use new cancel/cutover api format (#19037)
* bug - use new cancel/cutover api format

* fix telemetry bug with unregistered ir
2022-04-12 19:50:14 -07:00
brian-harris
3a0ac7279a Dev/brih/feature/switch ads to portal context (#18963)
* Add CodeQL Analysis workflow (#10195)

* Add CodeQL Analysis workflow

* Fix path

* dashboard refactor

* update version, readme, minor ui changes

* fix merge issue

* Revert "Add CodeQL Analysis workflow (#10195)"

This reverts commit fe98d586cd75be4758ac544649bb4983accf4acd.

* fix context switching issue

* fix resource id parsing error and mi api version

* mv refresh btn, rm autorefresh, align cards

* remove missed autorefresh code

* improve error handling and messages

* fix typos

* remove duplicate/unnecessary  _populate* calls

* change clear configuration button text

* remove confusing watermark text

* add stale account handling

Co-authored-by: Justin Hutchings <jhutchings1@users.noreply.github.com>
2022-04-12 16:26:40 -07:00
Raymond Truong
a0cf244245 [SQL Migration] List resource groups based on available resources (#18846)
* WIP - implemented logic to show resource groups as derived from list of resources, instead of directly listing all resource groups

* Remove comments

* Remove getResourceGroupByName and craft resource group object manually instead

* Update subscription and location list when tenant is changed

* Define Azure resource types locally instead of modifying azurecore

* Add SQL VM scenario

* Split getAzureResourceGroupDropdownValues into four separate functions

* Refresh only subscription list when tenant is changed

* Create new DMS dialog should show all resource groups

* Remove unnecessary async code
2022-04-04 15:59:40 -07:00
Rachel Kim
33259764f7 [Sql Migration] Stabilize save and close logic and fix related ux bugs (#18579)
* add loadSavedInfo function in stateMachine; only open wizard if didLoadSavedInfo

* * add loadSavedInfo function in stateMachine; only open wizard if didLoadSavedInfo
* replaced savedInfo.miggrationServiceId string with sqlMigrationServer object
* selectDatbasesFromList helper function to check previously selected dbs in dbSelectorPage and sqlDatabaseTree

* * remove savedInfo references from targetSelectionPage, migrationModePage
* add selectDefaultDropdownValue helper to stateMachine to handle unify savedInfo selection logic
* add updateDropdownLoadingStatus to targetSelectionPage
* check if values exist before making api calls in statemachine

* removed savedInfo references from databaseBackupPage, integrationRuntimePage

* databaseBackupPage - targetDatabaseNames, networkShares, blobs need to rely on savedInfo as user may update the list of migrationdbs during the retry/saveAndClose

* re-add serverAssessments to savedInfo; only getAssessments if it does not exist or needs to be updated; fix networkShare type savedInfo

* rename _assessmentDbs to _databasesForAssessment; _migrationDbs to _databasesForMigration

* load blobs/networkshares savedinfo; move selectDefaultDropdownValue to utils

* fix selectDefaultDropdownValue; refreshDatabaseBackupPage when user changes target subscription or location
2022-03-04 16:00:44 -08:00
Raymond Truong
3cfd1d23da [Feature] SKU recommendations in SQL migration extension (#18252)
* Initial check in for SQL migration SKU recommendation feature (#18116)

Co-authored-by: Raymond Truong <ratruong@microsoft.com>

* add TargetSelectionPage, remove AccountSelectionPage, fix saveAndClose bugs (#18092)

* update sku interfaces (#18150)

* create the skuRecommendationResultsDialog (#18151)

* add TargetSelectionPage, remove AccountSelectionPage, fix saveAndClose bugs

* create skuRecommendationResultsDialog

* Replace placeholder SKU recommendation results with actual results (#18153)

* Replace placeholder SKU recommendation results with actual backend call results

* Remove skuRecommendationExample

* Replace number fields in interfaces with correct enums, and update UI text

* add getAzureRecommendationDialog for performance collection (#18159)

* add getAzureRecommendationDialog when there are no recommendations available

* update 'get azure rec' / 'view details' link values

* add condition to check if recommendations are available

* Implement start/stop perf data collection + import perf data into new UI (#18149)

* Implement start/stop perf data collection

* add getAzureRecommendationDialog when there are no recommendations available

* update 'get azure rec' / 'view details' link values

* add condition to check if recommendations are available

* Implement import existing data + start/stop perf collection with new UI

Co-authored-by: Rachel Kim <rackim@microsoft.com>

* Expose SqlInstanceRequirements in SKU recommendation results (#18207)

* Expose SqlInstanceRequirements

* Move string literals to constants file

* Fix formatting in mssql.d.ts

* create storage properties table (#18215)

* Edit sku recommendation parameters (#18244)

* Edit sku recommendation parameters

* make _targetPercentileDropdown not editable; styling updates

* Azure recommendation section exposes data collection status and stop option (#18246)

* Edit sku recommendation parameters

* create azure recommendation details section on sku page

* Improve error handling + add auto refresh + other small changes (#18228)

* Update source properties table

* WIP - refresh perf data collection

* Add auto refresh logic

* Address comments

Co-authored-by: Rachel Kim <rackim@microsoft.com>

* Show/hide azure recommendation components based on data collection source and status (#18254)

* add refresh recommendation button; show/hide content based on perf collection status

* show/hide azure rec content based on perf data source scenarios

* add popups for start/stop; allow user to restart data collection; add perf collection to save close; add info tooltips (#18278)

* Update SKU recommendation timer logic (#18281)

* Update timer logic

* Fix misc UI bugs

* update sql migration extension readme (#18295)

* Remove empty constant, as this may have broken the build

* Fix 'save and close' behavior for SKU recommendation (#18301)

* Update timer logic

* Fix misc UI bugs

* 'WIP'

* Add logic to restore correct SKU recommendation state when reloading

* SKU UX enhancements - status info, button validations, savedInfo logic (#18320)

* add stop/inprogress status icons to perf collection status text, update restart icon

* refactor savedInfo as an interface, edit parameter recommednations are saved, add open folder inputbox validation, handle no recommendations available scenario

* fix getazureredialog bug, cleanup cold

* nit card styling

* Update recommendations whenever user changes list of databases to assess + misc clean up (#18323)

* Consolidate constants, clean up redundant functions, misc clean up

* Remove old SKU recommendation interfaces

* Update some more strings

* Telemetry events for SKU Recommendation (#18282)

* Telemetry events for SKU Recommendation

* Addressing comments -
1) fixed camel casing
2) removed extra logging to console
3) added telemetry for subid, rg, tenantid on targetselectionpage

* Resolving conflicts

* Addressing comments - 1) removing filename 2) moving all numbers to measurements.

* Resolving comment - Fixing telemetry value for tenant id.

* removing warning 'logError' is declared but its value is never read (#18333)

* Stop existing data collection when leaving and starting a new migration + update timers (#18339)

* Refresh recommendations when pressing stop data collection button

* Fix orphaned data collection when save and closing and starting a new
migration

* Revert "Refresh recommendations when pressing stop data collection button"

This reverts commit e6fb2ade8f8a41952adb81cb0ee852414dfa4ef2.

* Update timers to use production values

* Remove unused import

* address bug bash issues: add learn more link, add last refreshed time, fix vm card view detail open issue, remember last selected folder, remove strings, refactor refresh logic on sku page (#18340)

* Address comments

* Update to sqltoolsservice 3.0.0-release.204

Co-authored-by: Rachel Kim <rackim@microsoft.com>
Co-authored-by: Neetu Singh <23.neetu@gmail.com>
2022-02-11 21:23:49 -08:00
Rachel Kim
6aab9d41a3 Add backups restored progress when migrating from Azure Blob Storage (#17795) 2021-12-03 17:06:37 -08:00
brian-harris
aa0e52c245 improve account and tenant selection error handling (#17476)
* improve account/tenant selection error handling

* remove extra space from user string
2021-10-25 12:26:38 -07:00
brian-harris
70f6eebc5a apply unique filter to getLocations api's (#17454)
* apply unique filter to getLocations api's

* filter resource locations to distinct list

* simplify location filter
2021-10-22 16:00:07 -07:00
Rachel Kim
4b26be5742 Retry sql migration (#17376) 2021-10-21 10:06:10 -07:00
Rachel Kim
4ed4e5f39c Add DMS values to migration extension save and close feature (#17375) 2021-10-15 16:09:43 -07:00
brian-harris
2e677dbda6 add assessment error handling and bypass option (#17369)
* add assessment error handling and bypass option

* add desriptive text and results warnings
2021-10-15 15:15:52 -07:00
stuti149
5de8d82417 update extension to use new offlineConfiguratin and offline property names (#17316) 2021-10-14 14:08:24 -07:00
stuti149
13712c3a38 remove list filter logic to allow all available DMS regions to be used (#17203) 2021-09-30 22:34:27 +05:30
brian-harris
155ea4c707 add error banner for failed migration cutover and cancel migration (#17106) 2021-09-21 23:31:36 -07:00
Rachel Kim
dc1e460f71 add autoCutoverConfiguration to getMigrationStatus (#16803) 2021-08-26 10:46:38 -07:00
brian-harris
c12cdffe9b Dev/brih/bugs/merge rtm hotfix changes (#16792)
* improves migration context loading error handling

* remove secrets and encode uris
2021-08-16 16:24:41 -07:00
Rachel Kim
4efdb0e651 Add autoCutoverConfiguration to local storage (#16772) 2021-08-13 15:13:16 -07:00
Aasim Khan
8be0f742bc Listing filtered locations for migration service public preview. (#16731)
* Filtering regions for public preview

* rename var

* reverting back to const
2021-08-11 17:48:44 -07:00