Commit Graph

281 Commits

Author SHA1 Message Date
Charles Gagnon
7f388dd420 Add azurecore HTTP typings (#22828)
* Add azurecore HTTP typings

* undo + spelling fix
2023-04-24 10:39:02 -07:00
Karl Burtram
e7d3d047ec Merge from vscode merge-base (#22780)
* Revert "Revert "Merge from vscode merge-base (#22769)" (#22779)"

This reverts commit 47a1745180.

* Fix notebook download task

* Remove done call from extensions-ci
2023-04-19 21:48:46 -07:00
Karl Burtram
47a1745180 Revert "Merge from vscode merge-base (#22769)" (#22779)
This reverts commit 6bd0a17d3c.
2023-04-18 21:44:05 -07:00
Lewis Sanchez
6bd0a17d3c Merge from vscode merge-base (#22769)
* Merge from vscode merge-base

* Turn off basic checks

* Enable compilation, unit, and integration tests
2023-04-18 18:28:58 -07:00
Cheena Malhotra
6186358001 Rename 'body' to 'data' to prevent breaking change (#22761) 2023-04-18 18:04:51 -07:00
Raymond Truong
b6f1b949d7 [SQL Migration] Miscellaneous UI improvements from feedback (#22592)
* Hide more info for assessment issues without help links

* Add info box about blob container folders

* WIP - reuse create DMS dialog for IR registration

* Revert "Add info box about blob container folders"

This reverts commit 30b8892ea7918841a6466b59058181062d367ba5.

* Add help link to target platform selection page explaining Azure SQL offerings

* Revert "WIP - reuse create DMS dialog for IR registration"

This reverts commit 5fac6b5c7148b2520cc42ce9fad549cde28baba2.

* Don't show storage account warning banner for DB scenario

* Vbump extension and migration service

* Test - fix http request format from chsuh/fixFormat

* Add instructions for table mapping and schema migration

* Revert "Test - fix http request format from chsuh/fixFormat"

This reverts commit 4992603532e98dff3b7ba6f04ba9304d173fc5ad.
2023-04-10 10:20:39 -07:00
brian-harris
a60d6107b4 SQL-Migration: improve SQL DB table selection ux to include missing tables (#22659)
* add missing target tables ux

* fix number formatting
2023-04-07 16:00:12 -07:00
brian-harris
a30719c471 add tooltips to explain migrations list columns (#22598) 2023-04-05 08:16:49 -07:00
Christopher Suh
ccd5775093 Update remaining Axios calls (#22525)
* initial commit adding put and delete operations

* change response.data => response.body

* add client response interface

* add error to interface

* add reqHeaders
2023-03-31 12:22:31 -07:00
brian-harris
887053c604 SQL-Migration: add retry migration prompt (#22555)
* add retry migration prompt

* updating review comments

* update context menu postion to match toolbar
2023-03-31 10:25:39 -07:00
Raymond Truong
3ca583760f [SQL Migration] Add additional checks for multiple database backups in same folder (#22483)
* Add info box about blob container folders

* Add warning banner if non-unique backup locations

* WIP - Add offline scenario

* Clean up

* Address PR comments
2023-03-30 17:19:59 -07:00
Austin Bryan
7ecbbdf398 Fixing setTargetServerName in SqlMigration extension. Previously if a case was entered it would run all code in the following cases as well (#22477) 2023-03-29 13:44:29 -07:00
Raymond Truong
4867a3747c [SQL Migration] Add storage/MI connectivity validation (#22410)
* wip

* Add SQL VM POC

* Undo azurecore changes

* Add warning banner instead of blocking on next

* Fix warning banner behavior

* Add private endpoint support

* Fix navigation issue

* Add offline scenario

* Address PR comments

* Fix merge conflicts
2023-03-29 12:48:22 -07:00
brian-harris
ef02e2bfce SQL-Migration: add new migration monitoring data to migration details (#22460)
* add new migration details

* move migraiton target type enum to utils

* address review feedback, refectore, text update

* fix variable name

* limit and filter migrations list to mi/vm/db
2023-03-29 07:48:30 -07:00
Cory Rivera
97eb69477e Remove unused files in sql and extensions folders (#22444) 2023-03-27 16:40:32 -07:00
junierch
e741fa0bbd telemetry for tde user actions (#22474)
* telemetry for user actions

* remove unused action

* try catch around admin function
2023-03-27 17:48:47 -04:00
Charles Gagnon
ca4722360a More strict SSL proxy setting fixes (#22404) 2023-03-22 12:45:51 -07:00
junierch
cb66ef349e focus on tde edit button (#22314) 2023-03-15 13:30:34 -04:00
brian-harris
7c41d45e66 add SHIR registration for create service for sqldb (#22308) 2023-03-13 12:36:56 -07:00
brian-harris
39f90afe6c add delete migration method in migration list and details pages (#22243)
* add delete migraiton, fix stale token detection

* address pr comments, fix api error response format
2023-03-09 13:52:48 -08:00
Raymond Truong
8600cc3cd1 [SQL Migration] Remove preview tag from SQL DB scenario (#22070)
* Remove preview from strings

* Update readme
2023-03-02 13:11:46 -08:00
brian-harris
345c6b16e3 add error handler for validateIR gateway timeout (#22091)
* add error handler for validateIR gateway timeout

* log api errors
2023-03-02 11:01:28 -08:00
AkshayMata
bf05ea69ef [SQL-Migration] Login migrations telemetry (#22038)
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
2023-03-01 10:55:01 -08:00
AkshayMata
e69346e7fa Update infobox to public preview (#22074)
This PR updates the infobox for upcoming public preview mode.
2023-03-01 09:48:30 -08:00
Aasim Khan
4fd6a57afc Adding aria label (#22030) 2023-02-27 10:43:15 -08:00
AkshayMata
d39e503788 [SQL-Migration] Fix JSON-RPC Migration crash on ADS reload due to zombie process (#22036)
This PR fixes an issue where the JSON-RPC Migration Service crashes when ADS is reloaded.

This situation applies when user tried to reload ADS where SQL-migration extension was running:

when connecting to DB, SQL-migration extension loads and migration service launches
if a previous MigrationService zombie process is stil running (if extension was used before), then that zombie process will have a lock on the log file
new launches of MigrationService on reloaded ADS fails b/c it can't obtain log file handle due to lock in step 2
The fix stops the MigrationService on extension deactivate and will ensure that a zombie MigrationService process isn't hanging around on reloads.

No hotfix needed as 1.4.0 was baking in insiders and has not been released to stable yet. Additionally, this mainly affects developers as they are most likely to reload ADS this way. Caveat: users do need to reload after installing latest version, however they will not hit this code path (since the migration service process is only in new versions of the extension)
2023-02-25 19:28:36 -08:00
Raymond Truong
85056fb1b7 [SQL Migration] Allow folders inside blob containers (#21952)
* WIP

* WIP

* WIP - add new property to blob

* Add error messages

* Fix undefined for offline scenario

* Add support for offline scenario

* Clean up

* vbump extension

* remove >1 level deep folders

* fix [object] object issue

* Remove unnecessary asyncs

* don't allow >1 level deep for offline scenario lastBackupFile
2023-02-23 10:40:56 -08:00
Aasim Khan
c3e0478447 Adding aria role to hyperlink cell in slickgrid (#21998)
* Adding aria role to hyperlink

* Adding default
2023-02-22 10:42:11 -08:00
Aasim Khan
e40c8dda25 Removing migration contracts from mssql (#21966)
* Removing migration contracts from sts

* Update sts

* Pushing latest sts
2023-02-17 13:50:53 -08:00
brian-harris
9b841f4a49 fix bug in dropdown auto-selection (#21977) 2023-02-17 12:06:16 -08:00
AkshayMata
5e7446af6c Refactor functionality into LoginMigrationsModel (#21933)
This PR refactors to encapsulate all login migration functionality into LoginMigrationModel
2023-02-14 06:05:53 -08:00
Aasim Khan
837236be0f Modifying the migration extension to use its own service. (#21781)
* 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>
2023-02-12 09:59:09 -08:00
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
siyang yao
749f13d9bf [SQL-Migration] collation errorcode (#21797) 2023-02-01 11:23:21 -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
ad69164f09 Extension telemetry feature cleanup (#21779)
* Extension telemetry feature cleanup

* one more
2023-01-30 13:14:38 -08:00
Charles Gagnon
e1e2227f2f Fix mispelled file name (#21762) 2023-01-27 15:42:16 -08:00
junierch
5157508dd5 Junierch/mi tde (#21573)
* WIP

* wip tde wizard

* wip for merge w master

* wip

* wip share

* tde wizard

* PR reviews updates

* PR review updates

* PR updates

* PR review updates

* PR reviews updates

* Bump STS to 4.4.0.22

* PR reviews updates

* fix localize build issue

* fix build issue with localize

* remove unused function

* Windows only flag. Bug Bash fixes

* Use azdata with latest STS changes

* revert azdata, other PR comments

* sts and extesion version upgraded. logins back
2023-01-25 09:58:07 -05:00
AkshayMata
427a859c63 Bump sql-migration version to 1.2.2 (#21717)
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.
2023-01-24 15:13:18 -08:00
siyang yao
6631f8e2d9 ADS: Make select all tables by default instead of having to click edit and do select all (#21698)
* table are selected as default

* refactor

* fix save and close bug
2023-01-24 11:53:12 -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
ac4aa8db9a [SQL Migration] Add info boxes for VM existing database names (#21566) 2023-01-23 13:45:59 -08:00
Raymond Truong
49c46cee20 Update contracts (#21577) 2023-01-12 18:23:23 -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