我想使用 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 要求每个表都有一个聚集索引,但它不一定是主键。那么这里有什么问题呢?