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
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 bumps sql-migration version to 1.2.2 in order to release to insider's gallery. This also disables the LoginMigration button as we do not want to release it to public yet.
* 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()
* 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
* Update SQL DB card to show number of recommendations for correct model
* 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
* Adding telemetry for assessment
* Removing dms loading fix
* Fixing PR
* removing collection of account id
* moving database warning count to the server assessment event
* Removing individual warning and issue events
* Adding aggregates for database issues and warnings
* removing extra line
* Adding other telemetry events in sql migration
* Fixed changes made in the PR
* Fixing attribute names
* Consolidating issues and errors in 1 event
* Converting dependencies to dev depenedencies
* Adding a catch for the telemetry function
* moving the non type uuid to non dev
* Made hashmap code cleaner
* Fixing cutover start time
* Fixing object creation
* Reverting back to old method.
* Modifying the date time to js objects
* Converting issues and warnings to json object