首页 > 解决方案 > 处理 sql 时态表和用户定义的数据类型

问题描述

对不起我的英语不好。

我在 Visual Studio 2017 dacpac 项目(目标平台 = SQL SERVER 2016)中有以下定义。

CREATE SCHEMA [Demo]
CREATE TYPE Demo.Code FROM NVARCHAR(16) NOT NULL 
CREATE TABLE [Demo].[Gear] (
    [Id] int identity(1,1) primary key, 
    [Name] nvarchar(25) not null, 
    [Code] [Demo].[Code], 
    [rowguid] uniqueidentifier constraint [DF_Gear_rowguid] default (newid()) rowguidcol not null, 
    [ValidStart] DATETIME2 GENERATED ALWAYS AS ROW START NOT NULL,
    [ValidEnd] DATETIME2 GENERATED ALWAYS AS ROW END NOT NULL,
    PERIOD FOR SYSTEM_TIME([ValidStart], [ValidEnd])
)
WITH ( SYSTEM_VERSIONING = ON(HISTORY_TABLE = [Histo].[Gear]) )
GO

构建后,我有这个错误:

SQL71609:系统版本化的当前表和历史表没有匹配的架构。不匹配的列:'[Demo].[Gear].[Code]'。

没有用户定义的数据类型,没关系。有人知道这是问题所在吗?

标签: sql-servervisual-studiotsqldacpac

解决方案


推荐阅读