我们正在尝试使用SQL Server 2016中的时态表.我们正在Visual Studio 2017中开发SSDT 15.1.6中的SQL脚本,但是在尝试部署构建期间生成的dacpac时遇到了问题.
我们的dacpac是使用部署的SqlPackage.exe,在尝试部署dacpac时遇到此错误:
创建[dbo].[TestHISTORY].[ix_TestHISTORY] ...
正在执行批处理时发生错误.
更新数据库(失败)
无法部署包.
错误SQL72014:.Net SqlClient数据提供程序:消息1913,级别16,状态1,行1
操作失败,因为表'dbo.TestHistory'上已存在名为'ix_TestHISTORY'的索引或统计信息.错误SQL72045:脚本执行错误.执行的脚本:
CREATE CLUSTERED INDEX [ix_TestHISTORY] ON [dbo].[TestHistory]([SysStart] ASC,[SysEnd] ASC);
当我们在SSDT中创建时态表时,我们有以下内容:
CREATE TABLE [dbo].[Test]
(
[Id] INT NOT NULL PRIMARY KEY,
[SysStart] DATETIME2 (7) GENERATED ALWAYS AS ROW START NOT NULL,
[SysEnd] DATETIME2 (7) GENERATED ALWAYS AS ROW END NOT NULL,
PERIOD FOR SYSTEM_TIME ([SysStart], [SysEnd])
)
WITH (SYSTEM_VERSIONING = ON(HISTORY_TABLE=[dbo].[TestHISTORY], DATA_CONSISTENCY_CHECK=ON))
Run Code Online (Sandbox Code Playgroud)
据我所知,问题在于dacpac的创造.项目构建完成后,创建的dacpac如下所示:
CREATE TABLE [dbo].[test]
(
[Id] INT NOT NULL PRIMARY KEY …Run Code Online (Sandbox Code Playgroud)