-
Notifications
You must be signed in to change notification settings - Fork 25
Closed
Labels
bugSomething isn't workingSomething isn't workingfixed-pending-releaseFix in upcoming releaseFix in upcoming release
Milestone
Description
- SqlPackage or DacFx Version: 170.2.70
- .NET Framework (Windows-only) or .NET Core: Both
- Environment (local platform and source/target platforms): SQL Server 2022
Steps to Reproduce:
Add this to a project:
CREATE TABLE [dbo].[AccountTransactions] (
[Id] [uniqueidentifier] NOT NULL,
[GT] [bigint] NOT NULL,
[Direction] [nvarchar](3) NOT NULL,
[Quantity] [numeric](18, 3) NOT NULL,
[SignedQuantity] AS (case when [Direction]=N'OUT' then -[Quantity] else [Quantity] end) PERSISTED
)
WITH (LEDGER = ON (APPEND_ONLY = ON, LEDGER_VIEW = dbo.AccountTransactions_LedgerView));
Build result in VS with classic .sqlproj:
C:\Program Files\Microsoft Visual Studio\18\Preview\MSBuild\Microsoft\VisualStudio\v18.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets(558,5): Error: MSB4018: The "SqlBuildTask" task failed unexpectedly.
System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Data.Tools.Schema.Sql.Validation.LedgerTableColumnUserDefinedTypeValidationRule.Analyze(SqlSchemaModel sqlSchemaModel, ISqlModelElement sqlElement, SqlRuleSetting ruleSetting, SqlRuleExecutionContext context)
at Microsoft.Data.Tools.Schema.Sql.Validation.SqlValidationRule.Analyze(SqlRuleSetting ruleSetting, SqlRuleExecutionContext context)
at Microsoft.Data.Tools.Schema.Sql.RuleEngine.SqlRuleEngine.ExecuteRuleImpl(SqlRuleSetting ruleSetting, SqlRuleExecutionContext context, Predicate`1 suppressProblem, IEnumerable`1& errors)
at Microsoft.Data.Tools.Schema.Sql.RuleEngine.SqlRuleEngine.<>c__DisplayClass24_0.<RunRulesInParallel>b__0(Int32 i, ParallelLoopState loopState)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.For(Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`2 body)
at Microsoft.Data.Tools.Schema.Sql.RuleEngine.SqlRuleEngine.RunRulesInParallel(IList`1 modelElements, List`1 elementsIndexesToRun, IEnumerable`1 ruleSettings, Predicate`1 suppressProblem, Dictionary`2 elementClassToRulesMap, List`1[] errorsArr, List`1[] problemsArr, Func`1 executeCanceled, Int32 maxDegreeOfParallelism)
at Microsoft.Data.Tools.Schema.Sql.RuleEngine.SqlRuleEngine.ExecuteRules(IList`1 modelElements, IEnumerable`1 ruleSettings, IEnumerable`1& errors, Predicate`1 suppressProblem, Func`1 executeCanceled)
at Microsoft.Data.Tools.Schema.Sql.RuleEngine.SqlRuleEngine.ExecuteRules(SqlSchemaModel dataSchemaModel, IEnumerable`1 ruleSettings, IEnumerable`1& errors, Predicate`1 suppressProblem, Func`1 executeCanceled)
at Microsoft.Data.Tools.Schema.Sql.Build.SqlTaskHost.RunBuildValidation(SqlSchemaModel model, ErrorManager errorContainer, Func`1 buildCanceledQuery, HashSet`1 excludedRuleIDs)
at Microsoft.Data.Tools.Schema.Sql.Build.SqlTaskHost.RunBuildValidations(ErrorManager errorManager)
at Microsoft.Data.Tools.Schema.Tasks.Sql.TaskHostLoader.LoadImpl(ITaskHost providedHost, TaskLoggingHelper providedLogger)
at Microsoft.Data.Tools.Schema.Tasks.Sql.TaskHostLoader.Load(ITaskHost providedHost, TaskLoggingHelper providedLogger)
at Microsoft.Data.Tools.Schema.Tasks.Sql.SqlBuildTask.ExecuteLoadTaskHostStep()
at Microsoft.Data.Tools.Schema.Tasks.Sql.SqlBuildTask.ExecuteStep(Func`1 step)
at Microsoft.Data.Tools.Schema.Tasks.Sql.SqlBuildTask.ExecuteTask()
at Microsoft.Data.Tools.Schema.Tasks.Sql.DataTask.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Data.Tools.Schema.Sql.Validation.LedgerTableColumnUserDefinedTypeValidationRule.Analyze(SqlSchemaModel sqlSchemaModel, ISqlModelElement sqlElement, SqlRuleSetting ruleSetting, SqlRuleExecutionContext context)
at Microsoft.Data.Tools.Schema.Sql.Validation.SqlValidationRule.Analyze(SqlRuleSetting ruleSetting, SqlRuleExecutionContext context)
at Microsoft.Data.Tools.Schema.Sql.RuleEngine.SqlRuleEngine.ExecuteRuleImpl(SqlRuleSetting ruleSetting, SqlRuleExecutionContext context, Predicate`1 suppressProblem, IEnumerable`1& errors)
at Microsoft.Data.Tools.Schema.Sql.RuleEngine.SqlRuleEngine.<>c__DisplayClass24_0.<RunRulesInParallel>b__0(Int32 i, ParallelLoopState loopState)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)<---
Done building project "Classic.sqlproj" -- FAILED.
Build FAILED.
Did this occur in prior versions? If not - which version(s) did it work in? No idea
(DacFx/SqlPackage/SSMS/Azure Data Studio)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingfixed-pending-releaseFix in upcoming releaseFix in upcoming release