1

我想使用 SQL 数据同步将本地 SQL Server 2012 SP2 数据库同步到 Azure。当我尝试进行同步时,在 ID_Index 列的其中一个表上出现“不支持的数据类型”错误:

Azure 管理门户没有进一步解释该错误。SQL Server Management Studio 中的表设计:

建表脚本:

CREATE TABLE [dbo].[FlightPlanData](
  [ID] [uniqueidentifier] NOT NULL CONSTRAINT [DF_FlightPlanData_ID]  DEFAULT (newid()),
  [Airline_ID] [int] NOT NULL,
  [FlightID_FK] [uniqueidentifier] NOT NULL,
  [FlightPlanID] [int] NOT NULL,
  [DateInserted] [datetime] NOT NULL CONSTRAINT [DF_FlightPlanData_DateInserted]  DEFAULT (getdate()),
  [Type] [varchar](20) NOT NULL CONSTRAINT [DF_FlightPlanData_Type]  DEFAULT (''),
  [FileName] [varchar](100) NOT NULL CONSTRAINT [DF_FlightPlanData_FileName]  DEFAULT (''),
  [ClientID_FK] [uniqueidentifier] NULL,
  [ID_Index] [int] IDENTITY(1,1) NOT NULL,
    CONSTRAINT [PK_FlightPlanData] PRIMARY KEY NONCLUSTERED ([ID] ASC))

CREATE CLUSTERED INDEX [IX_FlightPlanData] ON [dbo].[FlightPlanData]([ID_Index] ASC)

该表有一个 GUID 主键,但它不是聚集的,而是我们使用聚集索引 (ID_Index)。我无法删除 ID_Index 列,并且我不希望将其设为主键。有没有办法解决这个问题?我听说 Azure 要求每个表都有一个聚集索引,但它不一定是主键。那么这里有什么问题呢?

4

1 回答 1

0

表不能有不是主键的标识列。这是 SQL 数据同步的一般要求之一。有关更多信息,请访问GitHub 文档。

于 2017-11-16T04:46:45.183 回答