Commit Graph

78 Commits

Author SHA1 Message Date
Alan Ren
b131d1738d add foreign keys and constraints (#1316)
* add foreign keys and constraints

* add property name
2021-11-18 15:01:10 -08:00
Aasim Khan
2e7bac5659 Sending show plan graph to ADS on Result Set updated event (#1300)
* Sending showplan graph over json rpc in Result updated event
Translating showplan graph into simple objects to be sent over JSON RPC

* Revert "Sending showplan graph over json rpc in Result updated event"

This reverts commit 2d63a625fd200d057bf6093e233f05dea440347c.

* Added string for localization

* Sending showplan graph over json rpc in Result updated event
Translating showplan graph into simple objects to be sent over JSON RPC

* Refactoring class

* Removing test warning

* Removing unused imports
Adding copyright

* Removing unused prop

* removing formatted string out .strings file

* Formatting files
Adding Errors in show plan graph

* Adding a separate event for execution plan

* Now sending mulitple graphs when a batch has more than one query.
2021-11-16 22:33:28 -08:00
Alan Ren
a3c69f3dd2 use path to identify edit target (#1292)
* use path to identify edit target

* async action

* revert RequestContext change

* comments

* address comments

* fix test
2021-11-10 17:39:48 -08:00
Aasim Khan
e8c50caea1 Porting showplan code from ssms (#1280)
* Porting showplan code from ssms

* Moving showplans bits to a subfolder

* code cleanup

* Remvoing unnecssary conditional visibility
2021-11-04 14:54:52 -07:00
Kim Santiago
0f0df25119 Add error for sql bindings when .net 5 (#1259)
* add error for sql bindings when .net 5

* add test

* cleanup linq stuff and move out common code
2021-10-07 16:13:53 -07:00
Kim Santiago
b1653b25e4 Insert sql bindings into Azure Functions (#1224)
* getting table name from a script

* add InsertSqlInputBindingOperation

* cleanup

* move azure functions stuff out of dacfx service

* cleanup

* add tests

* add another test

* cleanup

* add comments and connection string setting

* addressing comments

* change name to use add instead of insert
2021-08-04 13:02:52 -07:00
Benjin Dubishar
65c4fc01aa Adding External Streaming Job I/O validation to DacFxService (#1106)
* checkpoint

* Not having cake, nor eating it

* Working

* Swapping external dll for nupkg

* Extracting statement out of full TSQL

* Improving error message

* Fixing filename capitalization

* Reverting csproj changes

* Adding updated sr.cs file

* VS lost tracking on strings file?

* PR feedback

* resx additions

* More updated string files

* Swapped nuget for dll

* Revert "Swapped nuget for dll"

This reverts commit 6013f3fadf58ebc7e3590a46811d9fd9fc3eaa4a.

* Bumped netcore version to pull in support for extern aliasing nugets
2020-11-02 12:03:14 -08:00
Aasim Khan
309e1906ba Changing InvalidOwnerUri string to a more generic one (#1046)
* Change invalid owner uri error message to a generic one

* Adding strings generated by SRGEN step
2020-08-18 09:08:31 -07:00
Jeff Trimmer
82eed06847 Add Always Encrypted Parameterization Functionality (#953) 2020-05-05 12:01:24 -07:00
Sakshi Sharma
96df91c8fa Sql Proj Extract from database to Sql files (#949)
* SqlToolsServices changes for  Sql Proj Extract from database to Sql files

* Bumped DacFx version. Addressed comments.
2020-04-27 18:35:19 -07:00
Aleksei Guzev
bcc1f2a486 Add AQL Assessment service (#946)
[SQL Assessment API](https://docs.microsoft.com/en-us/sql/sql-assessment-api/sql-assessment-api-overview) provides a mechanism to evaluate the configuration
of SQL Server for best practices. SQL Assessment API gives a list
of recommended actions to improve SQL Server performance or security.

The SQL Assessment service is used by the expected SQL Assessment
feature of Azure Data Studio. 

SqlAssessmentService forwards JSONRPC calls to SQL Assessment engine
and wraps results as a response.

`assessment/getAssessmentItems` returns a set of checks 
applicable to a given target.

`assessment/invoke` returns a set of recommendations
for improving SQL Server instance or database configurations. 

`assessment/generateScript` returns a T-SQL script for storing
an assessment result set to a SQL data table.
2020-04-24 10:52:55 +03:00
Jeff Trimmer
927b0d73ca Enable Always Encrypted enclave connection parameters (#919)
* Enable the enclave connection parameters.

* Update the switch statement to use the enum constants for EnclaveAttestationProtocol

* Update verbiage for Always Encrypted connection options

* Update the argument exception to chose one specific to this connection option

* Add resource logic to resource files.

* Add error checking for when enclave parameters are added and Always Encrypted is set to disabled.

* Add/Update unit tests
2020-02-18 15:33:12 -08:00
Jeff Trimmer
7b102df5a7 Enable column encryption setting (#908)
* Enable the Column Encryption advanced security connection setting and add supporting tests.
2020-01-22 16:02:05 -08:00
Udeesha Gautam
fe17962ac9 SqlCmd Connect/On Error/Include commands support (#898)
* Initial Investigation

* Working code with include, connect, on error and tests

* Adding some loc strings

* Some cleanup and more tests

* Some dummy change to trigger build

* Adding PR comments

* Addressing PR comments
2020-01-10 17:54:39 -08:00
aleklj
84c505f647 Hotfix for ads dashboard for sqlondemand (#885)
* Hotfix for ads dashboard for sqlondemand

* Generalizing engine edition functions and adapting tests

* Minor comment and cosmetic fixes

* Adding SqlOnDemand server edition string
2019-10-31 17:35:11 +01:00
Kevin Cunnane
7ef82feea7 Add serialization service support (#840)
Added a method that handles serialization requests
Support splitting save over multiple requests to reduce overall message size
Added unit tests
String changes used a new version of the string tool for generation.
Will publish PR separately for the changes to build & localization
so this can run on Mac without .Net Core 1.0
2019-08-06 16:50:42 -07:00
udeeshagautam
3e1f186891 Schema compare cancel operation (#826)
* First cut of schema compare cancel (private nuget)

* Update Dacfx nuget to a published version
2019-06-14 18:19:36 -07:00
Kim Santiago
b451670222 Schema Compare open SCMP file (#825)
* initial open scmp changes

* more open scmp changes and adding tests

* moving some common test code

* simplify endpoint info parsing

* addressing comments and moving more common test code

* addressing comments
2019-06-13 14:24:19 -07:00
udeeshagautam
64fa9cc7af Removing Exclude/Include to show in tasks view (parity with SSDT) (#814) 2019-05-21 00:01:32 -07:00
udeeshagautam
a24a107f21 Loc Strings Fix (#803)
* Adding missing loc changes for include exclude node

* Adding the autogenerated file
2019-04-29 12:13:20 -07:00
kisantia
213fe4ab37 Add schema compare publish changes operation (#795)
* add schema compare publish changes operation
2019-04-09 15:04:59 -07:00
kisantia
dc5ab60df5 Fix invalid dacpac version crashing sqltoolsservice (#789)
* fix invalid dacpac version crashing sqltoolsservice
2019-04-03 17:30:10 -07:00
Karl Burtram
022282800a Move managed parser into its own project (test code coverage) (#774)
* Created New ManagedBatchParser project in .NetStandard

* Addressing PR Comments

* Resolve 'No Repository' warning.

* Move batch parser tests to integrations test project

* Fix SLN file
2019-02-07 20:13:03 -08:00
Madeline MacDonald
4b9807f0cf Add ability to create sessions from templates, and list existing sessions (#671)
* Initial changes to connect to existing sessions

* Creating new profiler sessions

* Some session template changes

* Fixing errors

* Cleaning up comments, string constants, and formatting

* Removing commented code
2018-08-02 12:50:26 -07:00
Madeline MacDonald
ec9d51ede1 Improving profiler error messages (#658)
* Improving error messages

* Fixing stopping error message

* Cleaning up repeat error messages

* Changing error names
2018-07-16 18:22:12 -07:00
Madeline MacDonald
cc2ca4cad3 Support profiling on Azure instances (#643)
* Support profiling Azure instances

* Spacing fixes

* Localizing error message for azure DB profiling
2018-06-26 10:55:30 -07:00
Karl Burtram
d2cc376b87 Agent Proxy and Credential request handlers (#637)
* Agent Proxy account WIP

* Fixup Credential create\update\delete handlers

* Use current user for test credential

* Cleanup and delete code

* Convert tabs to spaces
2018-06-14 11:55:38 -07:00
Karl Burtram
aff0f1afae Drop job step and Create\Update alert handlers (#636)
* Add Delete Job Step implementation

* Update create\update agent alert handlers to use execution handler

* Cleanup create/update/delete operator request handlers
2018-06-13 17:49:11 -07:00
Karl Burtram
8dda34c95a Add Agent Job and Job Step request handlers (#635)
* Stage changes

* Fix update job request handler

* WIP

* Additional agent handler updates

* Setup agent job step create test

* Fix Step update handler
2018-06-13 10:02:25 -07:00
Karl Burtram
372ca0cbe8 Agent configuration support classes (WIP) (#632)
* Additional SQL Agent config classes (WIP)

* Fix build breaks

* Clean up job step code

* Add VS Code build files

* Move changes to other machine

* More of the action execution classes

* More execution processing refactors

* More refactoring

* Disable tests for WIP merge

* Fix break on Release config

* Stage changes to other machine.
2018-06-07 12:08:24 -07:00
Karl Burtram
4f214f43e9 SQL Agent configuration for Operators, Alerts and Proxies (WIP) (#621)
* Initial non-refactored SQL Agent alert classes (WIP)

* Move agent classes into subdirectories

* Refactor the agent config code a bit more

* Add more implementation for handlers

* Add more code to the create alert handler

* Clean up agent alert class

* Clean up alert methods a bit

* Initial Operator contracts

* Additonal SQL Agent config changes

* More Proxy config cleanup

* Cleanup AgentProxy class

* Additional cleanups

* Run SRGen

* Add security service to create credential objects
2018-05-30 08:58:02 -07:00
Cory Rivera
7415c529f3 Add support for using generic SQL queries to filter EditData rows. (#605) 2018-05-02 10:13:47 -07:00
Kevin Cunnane
392325036e Fix uplevel SQL Server support and differentiate External and FileTable types in object explorer list (#567)
* Differentiate External and FileTable types in object explorer list
- Add (External) and (File Table) to the labels
- Pre-fetch these properties to avoid perf hit

Note on testing: These are both quite hard to initialize, so adding tests to the integration tests would require always having a server with Polybase enabled / FileTable enabled. Given this I feel it should be OK to use manual testing. Long term, we should have unit-level tests that cover the functionality or figure out how to have a perfect pre-configured server and a set of tests to run the breadth of this logic against it.

* Fix handling of vNext servers to default to latest known version
- Default uplevel / unknown versions to the latest version
- In the IsValidFor check also just see if the server version registers as "All" since this is the default for unknown servers. This is a backup handler, the 1st fix is the primary one
2017-12-08 17:52:49 -08:00
Benjamin Russell
64133d929e Edit Data: Better Formatting Errors (#562)
* Refactoring sql script formatting helpers into To and From helpers

* Updates to make error messages for formatting errors more useful

* Fixing dumb breaks in unit tests

* Addressing comments from PR

* Updates to the SR files...
2017-12-05 17:00:13 -08:00
Leila Lali
e7b76a6dec Feature/script execute (#563)
* added script as execute for stored procedures
2017-12-05 13:17:51 -08:00
Benjamin Russell
2190039df2 Edit Data: Create Row with Nullable Columns (#553)
* WIP

* All the new RowCreate tests are working

* Fixing a couple bugs with the row delete and row update tests

* Regenerating localization files

* Fixing multiple iteration in tests
2017-11-28 14:59:48 -08:00
Kevin Cunnane
b8e46ce65f Support GO N syntax to execute multiple times (#551)
* Support `GO N` syntax to execute multiple times
- Plumbed through the batch execution count from the parser and used in the batch execution code path
- Functionality matches SSMS:
  - Outputs loop start/end messages that match SSMS if you're doing multi-batch execution
  - Outputs an "ignoring failure" error if an error happens during a batch
- Added tests for this
- Manually verified end to end also

* Fixing test error
2017-11-22 11:33:19 -08:00
Karl Burtram
4d04bff810 Revert "Scripting should await result of requestcontext.sendresult in case it errors" (#526)
* Revert "Add rowcount check so that no results error is sent for a query where no rows are returned (#525)"

This reverts commit 3392f93a2e.

* Revert "Add unknown status for DB Nodes whose status is not known (#524)"

This reverts commit 3d7b87eca2.

* Revert "Should await result of requestcontext.sendresult in case it errors (#520)"

This reverts commit caf196ea31.
2017-10-25 13:34:45 -07:00
Kevin Cunnane
caf196ea31 Should await result of requestcontext.sendresult in case it errors (#520)
- Refactored to use pattern where we wait on the binding queue action to complete, then send the result / error outside of that.
2017-10-25 12:06:00 -07:00
Benjamin Russell
e9bc97e290 Edit Data: Better errors for possible truncation (#514)
* Fix to make sql exceptions surface properly to user (with important notes!)

* Adding support for detecting column size issues when updating a cell

* Adding unit tests for the exception on read scenario
2017-10-21 11:08:40 -07:00
Kevin Cunnane
d222af7824 Fix numerous Azure property issues (#511)
* Avoid crashing if azure edition is System.

* Add new Azure-specific options to the prototype and return through the service calls

* Send azure properties over database info request

* IsCloud should include Azure SQL DW
- Fixed references to this feature flag
- Updated edition handling to include ManagedInstance and removed AzureV1 check since it's never used and it's been retired.
2017-10-19 22:08:33 -07:00
Kevin Cunnane
4b66203dfc Fix tools service crash + improve server edition naming (#506)
* Fix https://github.com/Microsoft/vscode-mssql/issues/986 and add better server edition naming
- Fixed a number of issues related to the binding queue, specifically the fact that it didn't capture exceptions that occurred on the binding thread. This caused the thread to crash the service.
  - The root cause of the error was when you get a connection error during init of the SmoMetadataProvider which threw an exception. Because of this no Binder was created, and the code would null ref later during processing
  - Added logic to handle null ref issue and other related code
  - Added a unit test for the new error handling path, and supported still returning some value in this case
- Separately, have a fix for an issue where the edition is shown as "SQL Azure" for all Azure connections. Fixing to be "Azure SQL DB" for this case and handle when the database reports as DW or Stretch instead. This maps better to users concept of what the edition should be and avoids returning what is an outdated term.

* Messed up the test - fixing this by returning the expected return object
2017-10-19 10:42:26 -07:00
Kevin Cunnane
4bf9b9ddae Improve database properties view: (#501)
- Compatibility Level should be a numerical value. In using `enum.ToString()` the result was `Version140` instead of `140`
- Backup date should be sensible if never backed up. Added a simple check that states it was never backed up if the backup date is before 1900.
2017-10-18 09:51:00 -07:00
Kate Shin
8e78ecf9a4 Fix backup file validation error message (#472)
* Fix backup error message

* check for file existence for restore

* chang error message

* address pr comment

* cleanup
2017-10-02 15:45:28 -07:00
Leila Lali
9d898f0d0c fixed couple of issues in restore (#470) 2017-09-29 09:46:44 -07:00
Karl Burtram
84ea045572 XEvent Profiler initial event handlers (#456)
* Bump SMO to 140.2.5 to pick-up private XEvent binaries

* Pick up SMO binaries from the build lab

* Add ProfilerService class placeholder

* Update SMO nuget package to include DB Scoped XEvents

* Stage changes

* Stage changes

* Update SMO to use RTM dependencies and remove separate SqlScript package

* Stage changes

* Iterate on profiler service

* Fix post-merge break in localization

* More refactoring

* Continue iterating on profiler

* Add test profiler listener

* Address a couple of the code review feedback

* Fix AppVeyor build break

* Use self-cleaning test file
2017-09-12 14:08:50 -07:00
Kate Shin
14ec5be961 Create remote file browser service (#448)
* code refactoring

* Add filebrowser service and tests

* change dataset reference

* Address pr comments

* add more tests

* address pr comments

* address pr comments and added more tests

* minor change

* minor fix

* Fix test break and add dataset result check
2017-09-08 13:57:56 -07:00
Kate Shin
cd870e6f15 Integrate generate script with task service (#426)
* Support generate script for backup

* change

* update task service data contract for Generate Script

* more changes

* update test

* add comments

* Add missing files

* update stub backup operation for testing

* pr comments

* remove empty space

* Fix tests

* Add unit/integration tests and isCancelable to TaskInfo

* address pr comments

* pr comments - fix tests

* fix minor issue

* fix minor issues

* remove unused variable
2017-08-09 19:59:40 -07:00
Leila Lali
e453a19d00 added restore options (#423)
* added restore options
2017-07-28 12:54:08 -07:00
Leila Lali
e1395cbd7d Adding more features to restore operation (#420)
* Adding more features to restore operations and added tests
2017-07-24 09:41:32 -07:00