* WIP
* Always get latest current connection
* Update more references
* Clean up
* Clean up
* vbump
* Update comments
* Address PR feedback
* Separate into helper methods
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
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
* 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
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
* 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()
* 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
* 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.
* 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
* Add correct host to ARM REST API calls
* Clean up
* Missed a spot
* One more comment
* Expose new function getProviderMetadataForAccount in azurecore API
* 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
* 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
* 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
* 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>