* x subscription migration support
* refresh after cutover
* fix service irregular status load behavior
* queue service status requests, fix typo
* add migationTargetServerName helper method
* save context before api call
This PR enhances telemetry for login migrations (and in the following ways:
Add details for starting migration (number of logins migrating, type of logins)
Log Migration result (number of errors per step, duration of each step, type of logins, if system error occurred)
Add sql-migration extension to our telemetry
Adds details when trying to connect to target
Tracks clicking "done" from the wizard
Fixes bucketizing for navigating telemetry in the login migration wizard
Sample usage of kusto query for new telemetry:
RawEventsADS
| where EventName contains 'sql-migration'
| extend view = tostring(Properties['view'])
| extend action = tostring(Properties['action'])
| extend buttonPressed = tostring(Properties['buttonpressed'])
| extend pageTitle = tostring(Properties['pagetitle'])
| extend adsVersion = tostring(Properties['common.adsversion'])
| extend targetType = tostring(Properties['targettype'])
| extend tenantId = tostring(Properties['tenantid'])
| extend subscriptionId = tostring(Properties['subscriptionid'])
| where view contains "login"
//| where adsVersion contains "1.42.0-insider"
| where ClientTimestamp >= ago(18h)
| project EventName, ClientTimestamp, SessionId, view, pageTitle, action, buttonPressed, targetType
, tenantId, subscriptionId
, adsVersion, OSVersion, Properties
* Adding migration service to sql migrations
* enabling auto flush log
* Adding support for env variable
* Adding TDE Migration service
* code cleanup
* updating service downloader
* Removing custom output channel
* remove unnecessary await
* Updated service version to get latest code
* Consolidate TDE into migration service
* Sync to latest main
* Update sql-migration package version
* Fix merge conflict error
* Fixing all merge conflicts
* Fixing stuff
* removing extra whitespace
* Cleaning up
---------
Co-authored-by: Akshay Mata <akma@microsoft.com>
* WIP
* Always get latest current connection
* Update more references
* Clean up
* Clean up
* vbump
* Update comments
* Address PR feedback
* Separate into helper methods
* 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
* Adding telemetry for errors happening during data collection/ telemetry for sku recommendation
* log and error happended during get sku recommendation
* Resolving comments from PR https://github.com/microsoft/azuredatastudio/pull/18252. 1) Adding click and close events to dispoable collection to avoid leaks. 2) Adding readable constant for number representing minutes.
* Changes - 1) updating migration workflow strings, 2) adding more onclick events to disposable collection.
* Remove PaaS, IaaS terms from string
* Changes -
1) Renamed 'Saved assessment result' to 'saved session'.
2) Removed Title from 'saved session' page.
3) Added stop data collection on migration start.
* 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>
* adding filters and cards for failed migrations
* Added card and filter for completing cutover
* Fixing blob container support and some ux enhancements
* Enabling eastus2 and canada central regions
* Increasing height of container to accomodate newer cards and cleaning up database backup page
* vbump migration
* Removing unused code
* vbumping migration
* Adding 2 new icons cancel and warning
* Fixed help link display text in assessments
* Adding summary page redesign and resource name validations
* Made headings bold
* Fixed sku recommendation page styling
Added check item for assessment
* Validating account dropdown after token refresh
* Renamed cutover to mode
* cutover to mode renaming changes.
* Converting to details api for more warnings
* Added target database name and fixed cancel icon
* Surfacing warning info in dashboard.
* Consolidated fetch migrations logic
Localilzed some strings
Surface migration errors in dashboard and status page
Table redesign in status dialog
Fixed a major bug that happens when multiple dashboards are opened due to class variable sharing
* removing console count
* Fixing regex for SQL MI database names
* Allowing spaces in regex
* Adding server name to wizard and dialog title
Surfacing async errors
Fixing a bunch of strings to match the mockup
* Adding auto refresh for migration status
* Removing errors for sql vm migration
* using new logic to get sql server username
* Fixing help links
* Removing unncessary await
* wip assessment in progress page
* wip
* working assessment loader
* wip, radio cards not showing up
* working assessments in progress page
* cleanup
* bumped sqlmigration extension version
* cleanup
* Removing canary host
* Rebranding extension name to Azure SQL Migration
* stopping instance table overflow in assessment dialog
* Added info message for details copied
* Limiting storage account and DMS to the same subscription as target
* making accounts page look like figma mockups
* converting error messages to warnings in cutover dialog
* making source config page look like figma mockups
* adding more filters for storage account and dms
* Adding validations for target database names.
* Fixing branding in other strings
* Adding types for SQL Managed Instance
* - Added coming soon message for learn more.
- Potential fix for learn more message
* Renaming of controller to sqlMigrationService
* Surfacing some errors
-Azure account is stale error
-Migration Service creation error.
* Adding refresh azure token validation.
* Fixing some errors pointed during PR
-Fixing property names
-Fixing count
* Fixing migration status
- Adding special error handling for resource not found error
- Deleting unfound migrations from local cache
- Using prefetched migration status for view all
Misc fixes:
- Using SQL server version name instead of number
- Fixing Icons on sku recommendation page
- Fixing table column width in cutover dialog
- Adding spinner button to refresh.
* Fixing all strings in migration service page and dialog
* fixed a string error in create service dialog
* Adding source config page to migration to support windows auth
Some refactorings for sqlDatabaseTree (still WIP)
* refactoring assessments code 1
introducing new interface for server assessments
* Filtering out non windows sql vms
Retaining selections made by user on assessments dialog
* Fix compile errors on sqlDatabaseTree
* Exposing migration status errors in cutover dialog
* Updating extension verion
* Correcting typos
Fixing compilation erros
Removing en-us from url
Fixing function names
Make UI calls unblocking
* Unblocking dialog in case of failed assessments
Localizing string
removing blocking code from UI
Fixing comments
* Fixed broken assessment page logic
* Made dashboard dark ui compat
* foundations for sql vm
* WIP
* Added cancel migration
Added refresh migraiton table
Added multi db config
* disabling cancel migration button if the migration is not in progress.
* Addressing some PR based coments
- Removing (s) from loc strings
- Adding return type to cancel migration
- removing _ from public vars
- localizing strings
- Adding name to dialogs for telemetry
* Adding todo comment for offline mode
* . Added fetch logic for controllers (no need to create a new one everytime)
. Fixed retention logic
* Fix field reloading logic.
Fixed localized string
Removing hardcoded colors
* Adding summary page,
Storing ongoing migrations,
localizing some string,
made changes to how dropdowns work
updated database backup page
* Moved classes into different files
Fixed a lot of typos
Fixed some UI margins
* - Fixed GetMigrationController
- Added createMigrationController and getControllerAuthKeys API in azure core.
- Added typings for Migration Controller
- Fixed database backup page validation logic
- Added IR page with create controller
* Fixing all the comments from the PR
* Fixed typings
* Added localized strings
Created a db backup page
added radio buttons
* created components for database backup page
* Added account selection page
* Added accounts page
* Some more work done
- Added page validations
- Almost done with db backup except for a few api calls.
* Some more progress
added graph api for storage account
* Finished hooking up all the endpoints on db page.
* Some code fixed and refactoring
* Fixed a ton of validation bugs
* Added common localized strings to the constants file
* some code cleanup
* changed method name to makeHttpGetRequest
* change http result class name
* Added return types and return values to the functions
* removed void returns
* Added more return types and values
* Storing accounts in the map with ids as key
Fixed a bug in case of no subscriptions found
* cleaning up the code
* Fixed localized strings
* Added comments to get request api
Added validation logic to database backup page
removed unnecessary page validations.
* Added some get resource functions in azure core
* Changed thenable to promise
* Added arm calls for file shares and blob storage
* Added field specific validation error message
* Added examples in validation error message.
* Fixed some typings and localized string
* Added live validations to dropdowns
* Fixed method name to getSQLVMservers
* Using older storage package
* Update typings/namings (#13767)
* Update typings
* more typings fixes
* switched fileshares and blobcontainers api to http requests
* removed the extra line
* Adding resource graph documentation link as a comment
* remove makeHttpRequest api from azurecore
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
* Added localized strings
Created a db backup page
added radio buttons
* created components for database backup page
* Added account selection page
* Added accounts page
* Some more work done
- Added page validations
- Almost done with db backup except for a few api calls.
* Some more progress
added graph api for storage account
* Finished hooking up all the endpoints on db page.
* Some code fixed and refactoring
* Fixed a ton of validation bugs
* Added common localized strings to the constants file
* some code cleanup
* changed method name to makeHttpGetRequest
* change http result class name
* Added return types and return values to the functions
* removed void returns
* Added more return types and values
* Storing accounts in the map with ids as key
Fixed a bug in case of no subscriptions found
* cleaning up the code
* Fixed localized strings
* Added comments to get request api
Added validation logic to database backup page
removed unnecessary page validations.
* Added some get resource functions in azure core
* Changed thenable to promise
* Added arm calls for file shares and blob storage
* Added field specific validation error message
* Added examples in validation error message.
* Fixed some typings and localized string
* Added live validations to dropdowns
* Fixed method name to getSQLVMservers