* Initial check in for SQL migration SKU recommendation feature (#1362)
Co-authored-by: Raymond Truong <ratruong@microsoft.com>
* Integration test for Get SKU Recommendation. (#1377)
* Integration test for Get SKU Recommendation.
* Addressing comments -
1) Moving sample files to data folder.
2) Changed Assert for Positive Justification. Ideally for MI we are expecting ~6 justifications but this might change so sticking with 'recommendation should have atleast one positive justification'.
* Implement start/stop perf data collection (#1369)
* Add SqlInstanceRequirements to SKU recommendation output (#1378)
* test for data collection start and stop (#1395)
* improve error handling, add RefreshPerfDataCollection (#1393)
* WIP - refresh data collection
* Capture messages before logging
* Update Microsoft.SqlServer.Migration.Assessment NuGet version (#1402)
* Update NuGet version to 1.0.20220208.23, update assessment metadata
* Update SKU recommendation metadata
* Include preview SKUs
* Clear message/error queue after refreshing
* Clean up
* Add 'IsCollecting' to RefreshPerfDataCollection (#1405)
Co-authored-by: Neetu Singh <23.neetu@gmail.com>
* 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
* Filtering Schema Compare error from warnings
* SchemaCompare added comparison result error message validations to existing tests
* Extra semi-colon noticed and removed from the code
* Added new test case to validate warning message exclusions from SC result
* SC test asserions comment added
* Edge case scenario fixed and tests are 100% passed
* Splitting out schema comp and publish defaults
* Added test
* Correcting comments, changing scope
* Moving DeploymentOptions to DacFx folder due to dependency hierarchy between DacFx and SchemaCompare
* Some new SQL Assessment warnings may have Check property set to null. Handle the warnings with no exception.
* Make names of SQL Assessment test methods more informative.
* 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
* Revert "Revert "Initial migration service changes for assessment support (#1093)" (#1098)"
This reverts commit e96c0064ad.
* Move SQL Tools Service last in Main project list
* INSERT VALUES has the limit of 1000 rows. Replace with derived table.
* Remove NOT NULL restriction from the generated table.
* Fix line endings in SQL Assessment source files.
* Copy smoModel some rename
* Copy entire service layer
* Building copy
* Fixing some references
* Launch profile
* Resolve namespace issues
* Compiling tests. Correct manifest.
* Fixing localization resources
* ReliableKustoClient
* Some trimming of extra code and Kusto code
* Kusto client creation in bindingContent
* Removing Smo and new Kusto classes
* More trimming
* Kusto schema hookup
* Solidying DataSource abstraction
* Solidifying further
* Latest refatoring
* More refactoring
* Building and launching Kusto service layer
* Working model which enumerates databases
* Refactoring to pass IDataSource to all tree nodes
* Removing some dependencies on the context
* Working with tables and schema
* Comment checkin
* Refactoring to give out select script
* Query created and sent back to ADS
* Fix query generation
* Fix listing of databases
* Tunneling the query through.
* Successful query execution
* Return only results table
* Deleting Cms
* Delete DacFx
* Delete SchemaCompare and TaskServices
* Change build definition to not stop at launch
* Fix error after merge
* Save Kusto results in different formats (#935)
* save results as csv etc
* some fixes
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
* 2407 Added OrderBy clause in KustoDataSource > GetDatabaseMetaData and GetColumnMetadata (#959)
* 2405 Defaulted Options when setting ServerInfo in ConnectionService > GetConnectionCompleteParams (#965)
* 2747 Fixed IsUnknownType error for Kusto (#989)
* 2747 Removed unused directives in Kusto > DbColumnWrapper. Refactored IsUnknownType to handle null DataTypeName
* 2747 Reverted IsUnknownType change in DbColumnWrapper. Changed DataTypeName to get calue from ColumnType. Refactored SafeGetValue to type check before hard casting to reduce case exceptions.
* Added EmbeddedResourceUseDependentUponConvention to Microsoft.Kusto.ServiceLayer.csproj. Also renamed DACfx to match Microsoft.SqlTools.ServiceLayer. Added to compile Exclude="**/obj/**/*.cs"
* Srahman cleanup sql code (#992)
* Removed Management and Security Service Code.
* Remove FileBrowser service
* Comment why we are using SqlServer library
* Remove SQL specific type definitions
* clean up formatter service (#996)
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
* Code clean up and Kusto intellisense (#994)
* Code clean up and Kusto intellisense
* Addressed few comments
* Addressed few comments
* addressed comments
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
* Return multiple tables for Kusto
* Changes required for Kusto manage dashboard (#1039)
* Changes required for manage dashboard
* Addressed comments
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
* 2728 Kusto function support (#1038)
* loc update (#914)
* loc update
* loc updates
* 2728 moved ColumnInfo and KustoResultsReader to separate files. Added Folder and Function to TreeNode.cs
* 2728 Added FunctionInfo. Added Folder to ColumnInfo. Removed partial class from KustoResultsReader. Set Function.IsAlwaysLeaf=true in TreeNode.cs. In KustoDataSource changed tableMetadata type to TableMetaData. Added folder and function dictionaries. Refactored GetSchema function. Renamed GenerateColumnMetadataKey to GenerateMetadataKey
* 2728 Added FunctionInfo. Added Folder to ColumnInfo. Removed partial class from KustoResultsReader. Set Function.IsAlwaysLeaf=true in TreeNode.cs. In KustoDataSource changed tableMetadata type to TableMetaData. Added folder and function dictionaries. Refactored GetSchema function. Renamed GenerateColumnMetadataKey to GenerateMetadataKey
* 2728 Created new SqlConnection within using block. Refactored KustoDataSource > columnmetadata to sort on get instead of insert.
* 2728 Added GetFunctionInfo function to KustoDataSource.
* 2728 Reverted change to Microsoft.Kusto.ServiceLayer.csproj from merge
* 2728 Reverted change to SqlTools.ServiceLayer\Localization\transXliff
* 2728 Reverted change to sr.de.xlf and sr.zh-hans.xlf
* 2728 Refactored KustoDataSource Function folders to support subfolders
* 2728 Refactored KustoDataSource to use urn for folders, functions, and tables instead of name.
* Merge remote-tracking branch 'origin/main' into feature-ADE
# Conflicts:
# Packages.props
* 2728 Moved metadata files into Metadata subdirectory. Added GenerateAlterFunction to IDataSource and DataSourceBase.
* 2728 Added summary information to SafeAdd in SystemExtensions. Renamed local variable in SetTableMetadata
* 2728 Moved SafeAdd from SystemExtensions to KustoQueryUtils. Added check when getting database schema to return existing records before querying again. Added AddRange function to KustoQueryUtils. Created SetFolderMetadataForFunctions method.
* 2728 Added DatabaseKeyPrefix to only return tables to a database for the dashboard. Added logic to store all database tables within the tableMetadata dictionary for the dashboard.
* 2728 Created TableInfo and moved info objects into Models directory. Refactored KustoDataSource to lazy load columns for tables. Refactored logic to load tables using cslschema instead of schema.
* 2728 Renamed LoadColumnSchema to GetTableSchema to be consistent.
Co-authored-by: khoiph1 <khoiph@microsoft.com>
* Addressed comments
Co-authored-by: Shafiq Rahman <srahman@microsoft.com>
Co-authored-by: Monica Gupta <mogupt@microsoft.com>
Co-authored-by: Justin M <63619224+JustinMDotNet@users.noreply.github.com>
Co-authored-by: rkselfhost <rkselfhost@outlook.com>
Co-authored-by: khoiph1 <khoiph@microsoft.com>
* Get connection string call was changing the connection info (ref object) received from cache. Changing it to just get and make changes to only the returned string..
* Change to ensure PR validation works
* Remove xunit dependency from testdriver
* swap expected/actual as needed
* Convert Test.Common to nunit
* port hosting unit tests to nunit
* port batchparser integration tests to nunit
* port testdriver.tests to nunit
* fix target to copy dependency
* port servicelayer unittests to nunit
* more unit test fixes
* port integration tests to nunit
* fix test method type
* try using latest windows build for PRs
* reduce test memory use
* add support for getting options from a publish profile
* update comments
* set values for default options if they aren't specified in the publish profile
* addressing comments
* Update form .NET Core 2.2 to .NET Core 3.1
- Global variable for projects
- Change TFMs from netcoreapp2.2 to netcoreapp3.1
- Update global.json
- Update build.json
- Remove direct framework cake TestCore task
- Update travis dotnet version
- Update azure pipline file
- Update vscode launch.json
* Add Central Package Management
* Fix xUnit Breaking Change for MemberData type
* Fix xUnit breaking change for duplicate test method name
* Fix Rang/Index type conflict with System.Rang/Index
* Update vscode tasks.json
* Change serviceHostExecutable path in ServiceTestDriver.cs
* Downgrade SDK version (https://github.com/appveyor/ci/issues/3440)
- Appveyor hasn't installed latest SDK therefore I downgrade it until they install it.
* Dump Microsoft.SqlServer.DACFx
* Remove the second appearance of server name in TargetName property
* Replace slash with colon as database name separator in TargetName to avoid ambiguity
Fixes#968
[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.
* 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