diff --git a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Contracts/CopyResultsRequest.cs b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Contracts/CopyResultsRequest.cs index 9ec3928a..33c55e06 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Contracts/CopyResultsRequest.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/Contracts/CopyResultsRequest.cs @@ -22,6 +22,11 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.Contracts /// public class CopyResultsRequestParams : SubsetParams { + /// + /// Whether to include the column headers. + /// + public bool IncludeHeaders { get; set; } + /// /// The selections. /// diff --git a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/QueryExecutionService.cs b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/QueryExecutionService.cs index 19b47e1c..b6731a85 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/QueryExecutionService.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/QueryExecution/QueryExecutionService.cs @@ -729,7 +729,9 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution var lastRowIndex = rowRanges.Last().End; var builder = new StringBuilder(); var pageSize = 200; - if (Settings.QueryEditorSettings.Results.CopyIncludeHeaders) + + // We need to respect IncludeHeaders from parameters instead of getting the config value as ADS can explicitly ask for headers + if (requestParams.IncludeHeaders) { Validate.IsNotNullOrEmptyString(nameof(requestParams.OwnerUri), requestParams.OwnerUri); Query query;